התקנת סביבת פיתוח לאינטרנט עם אובונטו 14.04

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

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

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

מהי סביבת העבודה האולטימטיבית?

מבחינתי סביבת הפיתוח המושלמת צריכה להיות מבוססת LAMP, עם node.js ועורכי טקסט מתקדמים. ברוב הזמן אני משתמש בGEdit, Sublime Text וNetBeans.

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

מערכת ההפעלה

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

נשתמש במדריך הרבה בטרמינל של אובונטו, אז אפשר כבר עכשיו לפתוח אותו באמצעות ctrl+alt+t.

התקנת Apache

כדי להתקין את Apache בקלות, נשתמש בכלי שנקרא tasksel. כך נוודא שכל התלויות יותקנו מעצמן, ונחסוך מעצמנו תהליך הגדרה ארוך ומתיש.

להתקנת tasksel הקלידו בטרמינל את הפקודה הבאה:

נאשר את ההתקנה ולאחר מספר שניות נוכל להתחיל להשתמש בtasksel.
כעת נריץ בטרמינל את הפקודה

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

בהמשך ההתקנה אנחנו נידרש לבחור סיסמה למשתמש root שמנהל את שרת MySQL שהותקן אצלנו, נבחר סיסמה כלשהי ונלחץ אנטר.

בסיום התהליך, ניתן לגשת בדפדפן אל הכתובת הבאה http://localhost/ ולבדוק אם מתקבל דף אינטרנט, כך נוודא שהשרת הותקן ופועל כראוי.

התקנת PHPMyAdmin

אם אתם צריכים ממשק גרפי לניהול בסיסי הנתונים שלכם, אני אישית ממליץ להשתמש בPHPMyAdmin. הוא מאוד קל להתקנה ויש לו ממשק פשוט וברור.

כדי להתקין אותו, פשוט נריץ את הפקודה הבאה בטרמינל:

כעת תצטרכו לבחור באיזה שרת אינטרנט אתם משתמשים, בחרו כמובן ב Apache.

תישאלו גם אם תרצו להגדיר בסיס נתונים חדש עבור PHPMyAdmin, בחרו Yes והמשיכו בתהליך. לסיום, תידרשו להזין גם את הסיסמה שבחרתם בשלב הקודם למשתמש הroot של שרת MySQL.

בסיום התהליך תוכלו לוודא שהכל תקין על ידי גילשה לכתובת הבאה http://localhost/phpmyadmin/ והתחברות לממשק עם המשתמש root והססמה שבחרתם.

הגדרת mod_rewrite

רוב מערכות ניהול התוכן המוכרות משתמשות בmod_rewrite כדי להפיק כתובות ידידותיות למנועי חיפוש ונוחות להבנה או קריאה. כמובן שאתם תרצו לספק כתובות כאלה גם ללקוחות שלכם ולכן מומלץ מאוד להגדיר את mod_rewrite לעבודה גם על השרת המקומי.

לשם הפעלת המודול נריץ בטרמינל את הפקודה הבאה

כדי להפעיל את המודול, נצטרך לערוך את קובץ הגדרות. נריץ את הפקודה

הערה: בגרסאות ישנות יותר של המערכת, קובץ ההגדרות נמצא בנתיב /etc/apache2/sites-available/default או /etc/apache2/sites-available/000-default

בקובץ שנפתח נמצא את השורה

ונחליף אותה ב

בנוסף, נחפש את השורה הבאה

ונחליף כאן את הנתיב בנתיב החדש של השרת:

כאשר במקום USER מופיע שם המשתמש שלנו במערכת.

כעת נשמור את הקובץ.
לפני שנסגור את הקובץ ונתחיל לעבוד, מומלץ לבצע עוד הגרדה אחת:

הגדרת תיקיית העבודה של Apache

ההגדרה הראשונית של השרת היא לעבודה תחת התיקייה /var/www שהיא תיקיית מערכת.

כדי להיות בטוחים יותר וכדי שנוכל לקבל שליטה מלאה על התיקיות והקבצים שלנו וכדי למנוע בעיות בעתיד אני ממליץ להעתיק את תיקיית העבודה אל תיקיית הבית של המשתמש.

על מנת להעביר את התיקייה נערוך בקובץ ההגדרות את כל המופעים של

ונכתוב במקום זאת

כאשר במקום USER מופיע שם המשתמש שלנו במערכת.

בנוסף, נגדיר את Apache לפעול תחת חשבון המשתמש שלנו. כדי לבצע את זה נפתח את קובץ ההגדרות על ידי הפקודה

ונערוך את השורות הבאות

כך שבמקום www-data יופע שם המשתמש שלנו במערכת.

כעת, נאתחל את השרת על ידי הפקודה

בשלב האחרון, נבדוק שהכל הוגדר ופועל כשורה. נריץ את הפקודה:

כאשר USER הוא שם המשתמש שלנו במערכת.
בקובץ שנפתח, נכניס את השורה הבאה

ונשמור.

כעת נגלוש אל העמוד שרץ על השרת המקומי שלנו ונראה את התוצאה. העמוד צריך להיות בכתובת http://localhost/testphp.php אם אתם רואים נתוני מערכת הנוגעים לשרת האינטרנט שלכם, זה אומר שהשרת הוגדר והותקן כראוי.

תהנו!

  • אני מעדיף להשתמש בשרתים קלים יותר כמו nginx או lighttpd. אפאצ׳י הוא מפלצת ועדיף לא להשתמש בו אם לא חייבים.

    • עמית טל

      רעיון טוב!
      אולי באמת אני אחליף.

  • אחלה פוסט.
    הייתי דווקא מייעץ להעביר את תיקיית ה /var/www למחיצה משלהם כך שאפשר יהיה לנהל את אותה מחיצה מבחינת אבטחה יותר טוב, וגם לא בטוח שלהעביר את המשתמש של שרת apache למשתמש הבודד זה כדאי בכלל, בטח שלא מבחינת נוחות ניהול אחר כך.

    • עמית טל

      תודה רבה לירן!
      תוכל לפרט יותר? מדוע לא כדאי להעביר את המשתמש של אפאצ'י למשתמש הבודד?

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