interhost

הבלוג
הכל על שרתים, תקשורת ולינוקס

ארכיון פוסטים עם התג "טיפים"

איך להפוך את השפה לעברית ב wordpress

יום חמישי, 12 ביולי, 2012

ראשית יש להיתחבר ב  FTP לתוך התיקיה של האתר.

לאחר מכן יש לארוך את הקובץ wp-config.php

יש לשנות בו את השורה:

define ('WPLANG', ' ');

להוסיף בה את השפה של wordpress, בכדי שתראה כך:

define ('WPLANG', 'he_IL');

לאחר מכן יש להכניס את התיקיה שניתן להוריד כאן ושמה Languages לתוך התיקיה wp-content

ולא לשכוח להוציא אותה מהקיבוץ zip.

וזהו, המערכת כולה הופכת להיות בעברית, לעשות refresh לעמוד, וזה מוכן לשימוש.

בהצלחה.

טיפים נוספים ושימושיים

יום שלישי, 15 בדצמבר, 2009

החלטתי לתת כמה טיפים נוספים, כמו שהבטחתי בפעם קודמת. הפעם אתן פקודות או רצף פקודות שימושיות בלינוקס.

מצא את הקבצים שנערכו ביממה האחרונה

find . -mtime 1 -print

המערכת תציג פלט של רשימת הקבצים שנמצאים תחת התיקיה שנמצאים בה (כולל תתי-סיפריות והקבצים שלהן) אשר יש להם ערך "Last Modified" קטן או שווה לאחד, במילים אחרות כל הקבצים שבוצע בהם שינוי ביממה האחרונה.

בדיקת ביצועי דיסק בזמן אמת
בהרבה מקרים שנתקלתי ,במיוחד בשרתים וירטואלים, היו בעיות משאבים שנבעו מניצולת דיסק מקסימלית אשר יצרה צוור בקבוק במערכת וגרמה לפגיעה בביצועים. בדרך כלל במערכות שרתים וירטואליים מקצים זכרון ומעבד מבודדים פר לקוח אבל הסטורג' (הדיסקים) מהווים מקור לכל הלקוחות בשרת. כאשר כמה מכונות וירטואליות משתמשות באותו סטורג' וגם אם הוא מערך של RAID 1 (מירור) קיימת פגיעה בביצעוים שנובעים מיכולתו של הדיסק לעבד מספר I/O בו זמנית. וכאשר המערכת מחכה לI/O מהדיסק מתרחשת ירידה בביצעוים. המקרה בדרך כלל אופייני יותר לדיסקי SATA כי הם מסוגלים לטפל בהרבה פחות I/O מאשר דיסקי SAS. וזה מה שמסביר מדוע דיסקים מסוג SAS יקרים כל כך.
ישנם מספר פתרונות לבעיה, אחד מהם הוא פשוט להישתמש בדיסקים מהירים מסוג SAS או לעבוד מול סטורג' חיצוני חזק או מספר סטורג'ים ולחלק את המכונות ביניהם.
כיצד נבדוק אם השרת הוירטואלי שלנו (או כל שרת פיזי אחר) סובל מבעיות I/O?
ישנה פקודה בלינוקס (תחת כל ההפצות) שנקראית vmstat, בדרך כלל מריצים אותה עם פרמטר מספרי שמסמל את מרווחי הזמן של הדגימה:

vmstat 1

הפלט שלה נראה כך:

procs ———–memory———- —swap– —–io—- -system– —-cpu—-
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 0  0 299920 103204 218460 1238704    0    0     0     1    1    0  7  1 92  0
 1  0 299920  99152 218460 1238668    0    0     1   692  203  396 25  1 74  0
 0  0 299920 106216 218468 1238668    0    0     0   567  219  236 15  0 85  0
 0  0 299920 106224 218468 1238668    0    0     0     0  153   70  0  0 100  0
 0  0 299920 106224 218468 1238668    0    0     0     0  133   64  0  0 100  0
 0  0 299920 106224 218468 1238668    0    0     0     0  133   70  0  0 100  0

מה שמעניין אותנו אותנו בשלב זה היא העמודה האחרונה (בחלק מההפצות היא עמודה לפני אחרונה) ששמה wa, הנתון של העמודה מתעדכן אחת לשניה (כפי שציינו בפרמטר) והוא מסמל את זמן הI/O שהמעבד חיכה לדיסק. כאשר השרת בIDLE הערך יהיה 0. בדרך כלל ערך עד 10 מורה על עבודה רגילה של השרת וזה תקין. בין 10 ל-25 אומר שהשרת עובד ולא "עומד" באוויר, חשוב לראות גם שהערך עולה ויורד חזרה, אם הוא חוזר על עצמו למשך זמן ולא יורד יכול להיות שמבוצעים כרגע גיבויים או מתבצעת העתקה כלשהי ואם לא רצוי לבדוק מה מנצל את הדיסק.
בין 25 ל-50 מראה שיש כבר עומס על הדיסקים ורצוי להתחיל לעקוב אם זה זמני או שחזור על עצמו. במידה והערכים בתחום הזה במשך זמן רב ובחזרות רבות אז מדובר בעומס ובצוור בקבוק שפוגע בביצועים ורצוי לבדוק מה הסיבא לכך. זה מצב לא תקין.
לסיכום ערכים עד 10 תקין לגמרי ואין מה לדאוג. מעבר לכך יש לעקוב.

טיפים כלליים שימושיים בלינוקס למנהל מתחיל

יום שלישי, 20 באוקטובר, 2009

הרבה מלקוחותי משכירים שרתי לינוקס מתוך ידיע שהם חזקים יותר ומסוגלים להחזיק כובד רב יותר משרתי ווינדאוס, מה גם שהקוד הפתוח אכן פתוח לכל כיס וגם למי שאין עדיין כיס משלו ומאפשר לטעום מכל עולמות המערכות בחינם ובפשטות.
אך למרות זאת לא לכולם יש את ידע הבסיסי המינימלי שיאפשר לבקר ולהתחיל להבין מה מתרחש בשרת שלהם; אני מוצא את עצמי לרוב "עושה" להם את העבודה במקום באמת ללמד ולאפשר לבצע זאת לבד ללקוח בעתיד.

לכן חשבתי לרכז כמה טיפים בסיסיים בתפעול לינוקס בפוסט זה, כמו שרובכם שמתם לב הנני חובב לינוקס דביאן מושבע (אם דביאן הייתה אשה הייתי מתחתן איתה) לכן רוב הפקודות אמורות לעבוד בכל ההפצות אך במקומות שקיים שוני אציין זאת באיקון:

debian logo

(סמל של הפקצת לינוקס דביאן, אגב אחת ההפצות הוותיקות אחרי סלאקוור)

אובכן,

  1. טיפ ראשון – כמה דיסק פנוי נשאר בשרת? הפקדוה הינה פקודה זהה בכל מערכות הליקוס וגם BSD ונרשמת כך:
    df -h
    

    הפלט שלה לדוגמא:

    Filesystem             Size   Used  Avail Use% Mounted on
    /dev/sda7              941M   424M   467M  48% /
    tmpfs                  1.1G      0   1.1G   0% /lib/init/rw
    tmpfs                  1.1G      0   1.1G   0% /dev/shm
    /dev/sda10              57G    47G   7.7G  86% /home
    /dev/sda9              748M    13M   696M   2% /tmp
    /dev/sda6              5.0G   3.5G   1.3G  74% /usr
    /dev/sda8              6.0G   4.0G   1.7G  71% /var
  2. הערך שסימנתי באדום מציין את כמות המקום הפנוי בגיגות שנשאר במחיצת /home והחלק העליון שמסומן בטורקיז אומר שנותרו 467מגה פנויים במחיצת root (המחיצה הראשית בשרת).

    כפי שאתם רואים בשרת הזה הקצאתי לסיפריית home מחיצה משלה ע"מ לאפשר מעקב והפעלת quotas (הגבלות בניצולת דיסק) עבור לקוחות אחסון אתרים, נדון על quotas במאמר נפרד.

    אם שמתם לב השתמשתי בפרמטר h-, מטרתו להציג את הנפחים בצורה "נוחה לקריאת אדם" (קיצור H הוא של Human הלוא הוא בן-אנוש באנגלית) ובמילים אחרות בגיגות ולא בבייטים.

  3. טיפ שני – חיפוש קבצים בשרת ניתן לבצע במספר דרכים במערכות לינוקס, אחת הדרכים השכיחות והלקות היא שימוש ב-locate, אופן פעולה של הכלי הינה בכך שתחילה מבצעים "אינדוקס" כללי של המערכת בעזרת פקודת updatedb, הכלי סורק את כל הקבצים בשרת ויוצר אינדקס לחיפוש מהיר עתידי שנעשה בעזרת locate, כך שבכל פעם שתרצו לחפש קובץ כלשהו לא יהיה צורך בסריקה איטית של כל הדיסק אלא סריקה בקובץ אינקדס. פעולת החיפוש הופכת למהירה ונעימה.
    אני נוהג מדי שבוע  לעדכן את ההאינדקס של locate, ניתן לעשות זאת באופן אוטומטי ע"י הוספת מטלה יומית ל-cron. מערכת דביאן מגיעה עם ההגדרה היומית בcron באופן אוטומטי, ניתן למצוא אותה בנתיב הבא:
    debian logo

    /etc/cron.daily/mlocate

    לפעמים אני רוצה לחפש בסיפריה שעודכנה ברגעים האחרונים (או אחרי העדכון היומי של updatedb) ואיני רוצה להריץ updatedb ולחקות עד לאינדוקס של כלל המערכת כיוון שמדובר תיקיית עבודה ידועה אך פקודה הליסט (ls) לא עוזרת כיוון שהקובץ המיוחל עלול להופיע תחת אחת מתתי התיקיות ואיני רוצה כמובן לבזבז זמן ולהיכנס תיקיה תיקיה ולחפש אחריו, אובכן כאן ניתן להשתמש בפקודת find שאיטית לחיפושים גדולים אך מהירה לחיפושים בתיקיות מוגדרות, אופן השימוש הוא פשוט מאוד:

    find /etc/ | grep pass
    

    /etc/pam.d/passwd
    /etc/pam.d/common-password
    /etc/proftpd/ftpd.passwd_old
    /etc/passwd
    /etc/passwd-
    /etc/security/opasswd
    /etc/exim4/passwd.client

השתמשתי בפקודת find על תיקיית /etc אשר מציגה את כל הקבצים בצורה רקורסיבית (גם בתתי תיקיות) לאחר מכן העברתי את הפלט של find בעזרת "פייפ" (pipe) שהוא המקל האנכי | לפקודת grep שהיא מחזירה את
השורות שיש בהן את המילה 'pass'. בצורה זו החיפוש נעשה באופן מהיר יחסית כיוון ש-find לא צריכה להתאמץ אלא רק להדפיס את כל הקבצים וgrep הוא כלי מהיר ונהדר שעוד נדון בו בהזדמנות.

3. מיון והצגת ערכים ייחודיים בלבד מצאתי לנכון לגעת בטכניקה הזו כיוון שהרבה פעמים אני מוצא את עצמי משתמש באוסף הכלים שעמודים לראשותי בלינוקס כדי למיין פלט של קובץ או של פקודה ולפעמים גם להצגיד רק
ערכים יחודיים (unique). מקרה שימושי ונפוץ מאוד הוא כאשר יש עומס חריג בתעבורה על השרת אשר יכול לנבוא עקב תכנות לקוי של אחד האתרים, התקפה זדונית או פריצה לשרת. במקרה כזה הייתי רוצה לדעת כמה
חיבורים יש לשרת מבחוץ ומאיזה כתובות ויתרה מכך, כמה מכל כתובת. הפקודה המלאה לכך היא:

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

הפלט שלה לדוגמא:

1 212.199.127.82
1 220.181.13.x
1 24.72.103.x
1 66.249.65.x
1 67.218.116.x
1 67.218.116.x
1 69.43.149.x
1 81.218.234.x
1 81.218.234.x
1 84.95.245.x
1 Address
1 servers)
2 127.0.0.1
2 38.98.19.x
2 62.219.140.x
2 66.249.71.x
3 212.235.12.x
3 63.111.24.x
9 212.68.132.x
24 95.86.74.x
29 79.176.188.x
31 61.177.194.x
157 87.70.110.x

כפי שאתם רואים פלט מויין מערך החיבורים הקטן ביותר (חיבור אחד) עד לערך החיבורים הגדול ביותר. ניתן לראות שיש כרגע 157 חיבורים לשרת מכתובת 87.80.110. (מחקתי את האוקטטה האחרונה בכל הכתובות כדי
לשמור על הפרטיות של הגולשים).  אם רוצים לקבל פלט של חיבורים פעילים בלבד (אלו שנמצאים במצב ESTABLISHED) צריך להוסיף שדרוג קטן לשרשור הפקודות כך שהפקודה הסופית נראית כך:

netstat -ntu | grep ESTAB | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

במקרה שרוצים לאתר התקפת SYN (syn attack) נשתמש בפקודה הראשונה כיוון שבהתקפה כזאת החיבורים לא נשארים פעילים אלה מתחלפים כל פעם בחדשים ובכך מעמיסים על הרשת והשרת בעצם.

השתמשנו כאן בפקודת לינוקס ידועה (גם bsd אבל עם פרמטים שונים) בשם netstat אשר מציגה את החיבורים לשרת ואת הפורטים והסוקטים שהשרת מאזין בהם. כמו כן השתמשנו בפקודה מיוחדת שנקראית uniq זו
פקודה שמציגה רק את הערכים הייחודיים בפלט. חשוב בטרם שמוש ב-uniq תמיד למיין תחילה את הפלט בעזרת הפקודה sort , ללא sort פקודת uniq לא תעבוד טוב (אם בכלל).