הקדמה
שרת האינטרנט Apache HTTP הוא השרת הרחב ביותר בעולם. הוא מספק מספר תכונות חזקות כולל מודולים נטענים באופן דינמי, תמיכה חזקה במדיה, ואינטגרציה נרחבת עם תוכנות פופולריות אחרות.
במדריך זה, תלמד כיצד להתקין שרת אינטרנט של Apache על השרת שלך באובונטו 22.04.
השקת אפליקציות מ-GitHub באמצעות פלטפורמת האפליקציות של DigitalOcean. תן ל-DigitalOcean להתמקד בהתפשטות האפליקציה שלך.
דרישות מוקדמות
לפני שתתחיל במדריך זה, יהיה עליך להגדיר שרת אובונטו 22.04 ולהגדיר משתמש לא-root עם הרשאות sudo
ולהפעיל חומת אש שמכבה יציאות שאינן חיוניות. תוכל ללמוד כיצד לעשות זאת על ידי מעקב אחר ה-מדריך להתקנת שרת ראשונית עבור אובונטו 22.04 שלנו.
לאחר שתסיים את הגדרת זה, התחבר כמשתמש הלא-root שלך והמשך לשלב הראשון.
שלב 1 — התקנת אפאצ'י
אפאצ'י זמין בתוך המאגרים התוכנה המוגדרים כברירת מחדל של אובונטו, ולכן אפשר להתקין אותו באמצעות כלי ניהול חבילות רגילים.
התחל על ידי עדכון מדד החבילות המקומי כך שישקף את שינויי הזרם העליונים האחרונים:
לאחר מכן, התקן את חבילת apache2
:
לאחר אישור ההתקנה, apt
יתקין את אפאצ'י ואת כל התלויות הדרושות.
שלב 2 — כיוון הגנה האש
לפני בדיקת אפאצ'י, חייבים לשנות את הגדרות הגישה לגישה מחוץ כדי לאפשר גישה חיצונית ליציאות האינטרנט המוגדרות כברירת מחדל של הרשת. אם עקבת בהוראות בעמוד הקדמה, כבר יש לך חומת אש UFW מוגדרת להגביל את הגישה לשרת שלך.
במהלך ההתקנה, אפאצ'י נרשם עם UFW כדי לספק כמה פרופילי יישום שניתן להשתמש בהם כדי לאפשר או להשבית גישה לאפאצ'י דרך הגישה האש.
רשום את פרופילי היישום של ufw
על ידי הרצת הפקודה הבאה:
הפלט שלך יהיה רשימת פרופילי היישום:
OutputAvailable applications:
Apache
Apache Full
Apache Secure
OpenSSH
כפי שמצוין בפלט, יש שלושה פרופילים זמינים עבור אפאצ'י:
Apache
: פרופיל זה פותח רק את פתח80
(תעבורת אינטרנט רגילה, לא מוצפנת)Apache Full
: פרופיל זה פותח גם את פתח80
(תעבורת אינטרנט רגילה, לא מוצפנת) וגם את פתח443
(תעבורה מוצפנת TLS/SSL)Apache Secure
: פרופיל זה פותח רק את פתח443
(תעבורה מוצפנת TLS/SSL)
מומלץ לאפשר את הפרופיל ההגבל הכי גבוה שעדיין יאפשר את התעבורה שהגדרת. מאחר שעדיין לא הגדרת SSL עבור השרת שלך במדריך זה, יהיה עליך לאפשר תעבורה רק בפתח 80
:
ניתן לוודא את השינוי על ידי בדיקת המצב:
הפלט יספק רשימה של התעבורה המותרת של HTTP:
OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Apache ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Apache (v6) ALLOW Anywhere (v6)
כפי שמסומן בפלט, הפרופיל הופעל כדי לאפשר גישה לשרת האינטרנט של Apache.
שלב 3 — בדיקת שרת האינטרנט שלך
בסוף תהליך ההתקנה, Ubuntu 22.04 מפעילה את Apache. שרת האינטרנט כבר יהיה פועל.
ודא שהשירות פעיל על ידי הפעלת הפקודה עבור מערכת ההפעלה systemd
:
Output● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese>
Active: active (running) since Tue 2022-04-26 15:33:21 UTC; 43s ago
Docs: https://httpd.apache.org/docs/2.4/
Main PID: 5089 (apache2)
Tasks: 55 (limit: 1119)
Memory: 4.8M
CPU: 33ms
CGroup: /system.slice/apache2.service
├─5089 /usr/sbin/apache2 -k start
├─5091 /usr/sbin/apache2 -k start
└─5092 /usr/sbin/apache2 -k start
כפי שמאושר על ידי הפלט הזה, השירות הופעל בהצלחה. עם זאת, הדרך הטובה ביותר לבדוק זאת היא לבקש עמוד מ-Apache.
ניתן לגשת לדף הבית המוגדר כברירת מחדל של Apache כדי לוודא שהתוכנה פועלת כראוי דרך כתובת ה-IP שלך. אם אינך יודע את כתובת ה-IP של השרת שלך, ניתן לקבל אותה בכמה דרכים שונות מהשורת פקודה.
נסה לרשום את הפקודה הבאה במסוף הפקודות של השרת שלך:
תקבל מספר כתובות מופרדות ברווחים. ניתן לנסות כל אחת מהן בדפדפן האינטרנט שלך כדי לקבוע האם הן עובדות.
אפשרות נוספת היא להשתמש בכלי החינמי icanhazip.com
. זהו אתר אינטרנט המחזיר, בכניסה אליו, את כתובת ה-IP הציבורית של המכונה שלך כפי שנקראת ממקום אחר באינטרנט:
כאשר יש לך את כתובת ה-IP של השרת שלך, הכנס אותה לתוך שורת הכתובת של הדפדפן שלך:
http://your_server_ip
תראה את דף הבית המוגדר כברירת מחדל של Apache ב-Ubuntu 22.04 כמו שבתמונה הבאה:
דף זה מציין שה-Apache פועל כראוי. הוא כולל גם מידע בסיסי על קבצי Apache החשובים ועל מיקומי התיקיות.
שלב 4 — ניהול התהליך של Apache
עכשיו שהשרת שלך פועל, בוא נבדוק כמה פקודות מנהליות בסיסיות באמצעות systemctl
.
כדי לעצור את השרת האינטרנט שלך, הריץ את הפקודה הבאה:
כדי להתחיל את שרת האינטרנט כאשר הוא עצור, הרץ את הפקודה הבאה:
כדי לעצור ואז להתחיל את השירות שוב, הרץ:
אם אתה פשוט עושה שינויים בהגדרות, Apache לעיתים תוכל לטעון מחדש מבלי לפסול חיבורים. כדי לעשות זאת, השתמש בפקודה הבאה:
כברירת מחדל, Apache מוגדר להתחיל אוטומטית כאשר השרת מאותחל. אם זה לא מה שאתה רוצה, השבת את ההתנהגות הזו על ידי הרצת:
כדי לאפשר מחדש לשירות להתחיל באופן אוטומטי בעת האתחול, הרץ:
עכשיו Apache יתחיל באופן אוטומטי בעת האתחול שוב.
שלב 5 — הגדרת מארחים וירטואליים (מומלץ)
כאשר אתה משתמש בשרת האינטרנט של Apache, תוכל להשתמש ב-מארחים וירטואליים (דומים לבלוקי שרת ב-Nginx) כדי לכלול פרטי הגדרה ולארח יותר מדומיין אחד משרת אחד. נקבע דומיין בשם הדומיין_שלך, אך עליך להחליף זאת בשם הדומיין שלך.
מידע: אם אתה מגדיר שם דומיין עם DigitalOcean, אנא הסתכל על מסמכי הרשת.
אפאצ'י
על אובונטו 22.04 מגיע עם בלוק שרת אחד שמופעל כברירת מחדל ומוגדר לשרת מסמכים מתוך התיקייה /var/www/html
. בעוד שזה עובד טוב עבור אתר יחיד, יכול להיות מסובך אם אתה מארח מספר אתרים. במקום לשנות את /var/www/html
, צור מבנה תיקיות בתוך /var/www
עבור אתר your_domain, והשאר את /var/www/html
במקום כתיקיית ברירת המחדל לשרת אם בקשת הלקוח אינה תואמת אתר אחר.
צור את התיקייה עבור your_domain כך:
לאחר מכן, הקצה את הבעלות על התיקייה למשתמש שאתה מחובר אליו כעת באמצעות משתנה הסביבה $USER
:
ההרשאות של השורש של האתר שלך אמורות להיות נכונות אם לא שינית את ערך ה־umask שלך, שמגדיר את ההרשאות המוגדרות כברירת מחדל לקבצים. כדי לוודא שההרשאות שלך נכונות ומאפשרות לבעל התיקייה לקרוא, לכתוב ולבצע את הקבצים בזמן שמעניקות רק הרשאות קריאה וביצוע לקבוצות ולאחרים, תוכל להזין את הפקודה הבאה:
לאחר מכן, צור דף index.html
דוגמה באמצעות nano
או העורך האהוב עליך:
בתוך הקובץ, הוסף את ה־HTML הדוגמא הבא:
שמור וסגור את הקובץ כאשר תסיים. אם אתה משתמש ב־nano
, תוכל לעשות זאת על ידי לחיצה על CTRL + X
, לאחר מכן Y
ו־ENTER
.
על מנת ש- Apache ישרת תוכן זה, עליך ליצור קובץ מארח וירטואלי עם ההנחיות הנכונות. במקום לשנות את קובץ התצורה הברירת מחדל הממוקם ב- /etc/apache2/sites-available/000-default.conf
ישירות, צור קובץ חדש ב- /etc/apache2/sites-available/your_domain.conf
:
הוסף את הבלוק התצורה הבא, המתאים לברירת המחדל, אך מעודכן לספריית החדשה שלך ולשם הדומיין:
שים לב שעדכנו את DocumentRoot
לספריית החדשה שלנו ואת ServerAdmin
לכתובת הדוא"ל שבה ניתן ליצור קשר עם מנהל האתר your_domain. עשינו גם הוספה של שני ההוראות: ServerName
, המגדירה את הדומיין הבסיסי שיתאים להגדרת מארח וירטואלי זה, ו- ServerAlias
, שמגדירה שמות נוספים שיתאימו כאילו הם השם הבסיסי.
שמור וסגור את הקובץ כאשר תסיים.
עכשיו הפעל את הקובץ בעזרת הכלי a2ensite
:
נטרל את האתר הברירת מחדל הוגדר ב- 000-default.conf
:
בשלב הבא, בדוק לשגיאות תצורה:
תקבל את הפלט הבא:
Output. . .
Syntax OK
אתה צריך לאתחל את Apache כדי ליישם את השינויים שלך:
עכשיו Apache ישרת את שם הדומיין שלך. ניתן לבדוק זאת על ידי ניווט אל http://your_domain
, כאשר תראה משהו דומה לזה:
שלב 6 – להכיר בקבצים ובספריות החשובים של Apache
עכשיו שיש לך מושג איך לנהל את שירות ה-Apache עצמו, כדאי לך לקחת מספר דקות להכיר כמה ספריות וקבצים חשובים.
תוכן
/var/www/html
: התוכן האמיתי של האתר, שברירת מחדל מורכב רק מהדף הברירתי של Apache שראית לפני כן, מוגש מתוך הספרייה/var/www/html
. אפשר לשנות זאת על ידי שינוי בקבצי התצורה של Apache.
הגדרות השרת
/etc/apache2
: ספריית התצורה של Apache. כל קבצי התצורה של Apache ממוקמים כאן./etc/apache2/apache2.conf
: קובץ התצורה הראשי של Apache. ניתן לשנות קבצי תצורה זה כדי לבצע שינויים בהגדרות הגלובליות של Apache. קובץ זה אחראי לטעינת רוב קבצי התצורה האחרים בספריית ההגדרות./etc/apache2/ports.conf
: קובץ זה פורטים אשר אפאצ'י ישמע עליהם. כברירת מחדל, אפאצ'י מאזין על פורט80
ובנוסף מאזין על פורט443
כאשר מודול המספק יכולות SSL מופעל./etc/apache2/sites-available/
: התיקייה בה ניתן לאחסן מארחים וירטואליים לכל אתר. אפאצ'י לא תשתמש בקבצי התצורה שנמצאים בתיקייה זו אלא אם כן הם מקושרים לתיקייהsites-enabled
. בדרך כלל, כל התצורה של בלוק שרת נעשית בתיקייה זו ואז מופעלת על ידי קישור לתיקייה השנייה עם פקודתa2ensite
./etc/apache2/sites-enabled/
: התיקייה בה מארחים וירטואליים לכל אתר מופעלים. בדרך כלל, אלו נוצרים על ידי קישור לקבצי התצורה שנמצאים בתיקייתsites-available
עם הפקודהa2ensite
. אפאצ'י קורא את קבצי התצורה והקישורים שנמצאים בתיקייה זו כאשר הוא מתחיל או מטעין מחדש כדי להרכיב תצורה שלמה./etc/apache2/conf-available/
,/etc/apache2/conf-enabled/
: תיקיות אלו יש בהן את אותו היחס כמו תיקיותsites-available
ו-sites-enabled
אך משמשות לאחסון קטעי תצורה שאינם שייכים למארח וירטואלי. קבצים בתיקייתconf-available
יכולים להיות מופעלים עם הפקודהa2enconf
ומושבתים עם הפקודהa2disconf
./etc/apache2/mods-available/
,/etc/apache2/mods-enabled/
: תיקיות אלה מכילות את המודולים הזמינים והמופעלים, בהתאמה. קבצים שמסתיימים ב-.load
מכילים רסימות לטעינת מודולים מסוימים, בעוד קבצים שמסתיימים ב-.conf
מכילים את התצורה עבור אותם מודולים. ניתן להפעיל ולנטרל מודולים באמצעות הפקודותa2enmod
ו-a2dismod
.
יומני השרת
/var/log/apache2/access.log
: בברירת מחדל, כל בקשה לשרת האינטרנט שלך מתועדת בקובץ זה אלא אם Apache מוגדרת לעשות אחרת./var/log/apache2/error.log
: בברירת מחדל, כל השגיאות מתועדות בקובץ זה. ההוראהLogLevel
בתצורת Apache קובעת כמה פרטיות יכילו יומני השגיאות.
מסקנה
עכשיו שהשרת האינטרנט שלך מותקן, יש לך אפשרויות רבות לסוג התוכן שתוכל לספק ולטכנולוגיות שתוכל להשתמש בהן כדי ליצור חוויית משתמש מועשרת יותר.
אם ברצונך לבנות מערכת אפליקציה מלאה יותר, תוכל לקרוא את מאמר זה על איך להגדיר מערכת LAMP על Ubuntu 22.04