איך להתקין את שרת האפאצ'י על Ubuntu 22.04

הקדמה

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

במדריך זה, תלמד כיצד להתקין שרת אינטרנט של Apache על השרת שלך באובונטו 22.04.

השקת אפליקציות מ-GitHub באמצעות פלטפורמת האפליקציות של DigitalOcean. תן ל-DigitalOcean להתמקד בהתפשטות האפליקציה שלך.

דרישות מוקדמות

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

לאחר שתסיים את הגדרת זה, התחבר כמשתמש הלא-root שלך והמשך לשלב הראשון.

שלב 1 — התקנת אפאצ'י

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

התחל על ידי עדכון מדד החבילות המקומי כך שישקף את שינויי הזרם העליונים האחרונים:

  1. sudo apt update

לאחר מכן, התקן את חבילת apache2:

  1. sudo apt install apache2

לאחר אישור ההתקנה, apt יתקין את אפאצ'י ואת כל התלויות הדרושות.

שלב 2 — כיוון הגנה האש

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

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

רשום את פרופילי היישום של ufw על ידי הרצת הפקודה הבאה:

  1. sudo ufw app list

הפלט שלך יהיה רשימת פרופילי היישום:

Output
Available applications: Apache Apache Full Apache Secure OpenSSH

כפי שמצוין בפלט, יש שלושה פרופילים זמינים עבור אפאצ'י:

  • Apache: פרופיל זה פותח רק את פתח 80 (תעבורת אינטרנט רגילה, לא מוצפנת)
  • Apache Full: פרופיל זה פותח גם את פתח 80 (תעבורת אינטרנט רגילה, לא מוצפנת) וגם את פתח 443 (תעבורה מוצפנת TLS/SSL)
  • Apache Secure: פרופיל זה פותח רק את פתח 443 (תעבורה מוצפנת TLS/SSL)

מומלץ לאפשר את הפרופיל ההגבל הכי גבוה שעדיין יאפשר את התעבורה שהגדרת. מאחר שעדיין לא הגדרת SSL עבור השרת שלך במדריך זה, יהיה עליך לאפשר תעבורה רק בפתח 80:

  1. sudo ufw allow 'Apache'

ניתן לוודא את השינוי על ידי בדיקת המצב:

  1. sudo ufw status

הפלט יספק רשימה של התעבורה המותרת של HTTP:

Output
Status: 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:

  1. sudo systemctl status apache2
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 של השרת שלך, ניתן לקבל אותה בכמה דרכים שונות מהשורת פקודה.

נסה לרשום את הפקודה הבאה במסוף הפקודות של השרת שלך:

  1. hostname -I

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

אפשרות נוספת היא להשתמש בכלי החינמי icanhazip.com. זהו אתר אינטרנט המחזיר, בכניסה אליו, את כתובת ה-IP הציבורית של המכונה שלך כפי שנקראת ממקום אחר באינטרנט:

  1. curl -4 icanhazip.com

כאשר יש לך את כתובת ה-IP של השרת שלך, הכנס אותה לתוך שורת הכתובת של הדפדפן שלך:

http://your_server_ip

תראה את דף הבית המוגדר כברירת מחדל של Apache ב-Ubuntu 22.04 כמו שבתמונה הבאה:

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

שלב 4 — ניהול התהליך של Apache

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

כדי לעצור את השרת האינטרנט שלך, הריץ את הפקודה הבאה:

  1. sudo systemctl stop apache2

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

  1. sudo systemctl start apache2

כדי לעצור ואז להתחיל את השירות שוב, הרץ:

  1. sudo systemctl restart apache2

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

  1. sudo systemctl reload apache2

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

  1. sudo systemctl disable apache2

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

  1. sudo systemctl enable apache2

עכשיו Apache יתחיל באופן אוטומטי בעת האתחול שוב.

כאשר אתה משתמש בשרת האינטרנט של Apache, תוכל להשתמש ב-מארחים וירטואליים (דומים לבלוקי שרת ב-Nginx) כדי לכלול פרטי הגדרה ולארח יותר מדומיין אחד משרת אחד. נקבע דומיין בשם הדומיין_שלך, אך עליך להחליף זאת בשם הדומיין שלך.

מידע: אם אתה מגדיר שם דומיין עם DigitalOcean, אנא הסתכל על מסמכי הרשת.

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

צור את התיקייה עבור your_domain כך:

  1. sudo mkdir /var/www/your_domain

לאחר מכן, הקצה את הבעלות על התיקייה למשתמש שאתה מחובר אליו כעת באמצעות משתנה הסביבה $USER:

  1. sudo chown -R $USER:$USER /var/www/your_domain

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

  1. sudo chmod -R 755 /var/www/your_domain

לאחר מכן, צור דף index.html דוגמה באמצעות nano או העורך האהוב עליך:

  1. sudo nano /var/www/your_domain/index.html

בתוך הקובץ, הוסף את ה־HTML הדוגמא הבא:

/var/www/your_domain/index.html
<html>
    <head>
        <title>Welcome to Your_domain!</title>
    </head>
    <body>
        <h1>Success!  The your_domain virtual host is working!</h1>
    </body>
</html>

שמור וסגור את הקובץ כאשר תסיים. אם אתה משתמש ב־nano, תוכל לעשות זאת על ידי לחיצה על CTRL + X, לאחר מכן Y ו־ENTER.

על מנת ש- Apache ישרת תוכן זה, עליך ליצור קובץ מארח וירטואלי עם ההנחיות הנכונות. במקום לשנות את קובץ התצורה הברירת מחדל הממוקם ב- /etc/apache2/sites-available/000-default.conf ישירות, צור קובץ חדש ב- /etc/apache2/sites-available/your_domain.conf:

  1. sudo nano /etc/apache2/sites-available/your_domain.conf

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

/etc/apache2/sites-available/your_domain.conf
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName your_domain
    ServerAlias www.your_domain
    DocumentRoot /var/www/your_domain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

שים לב שעדכנו את DocumentRoot לספריית החדשה שלנו ואת ServerAdmin לכתובת הדוא"ל שבה ניתן ליצור קשר עם מנהל האתר your_domain. עשינו גם הוספה של שני ההוראות: ServerName, המגדירה את הדומיין הבסיסי שיתאים להגדרת מארח וירטואלי זה, ו- ServerAlias, שמגדירה שמות נוספים שיתאימו כאילו הם השם הבסיסי.

שמור וסגור את הקובץ כאשר תסיים.

עכשיו הפעל את הקובץ בעזרת הכלי a2ensite:

  1. sudo a2ensite your_domain.conf

נטרל את האתר הברירת מחדל הוגדר ב- 000-default.conf:

  1. sudo a2dissite 000-default.conf

בשלב הבא, בדוק לשגיאות תצורה:

  1. sudo apache2ctl configtest

תקבל את הפלט הבא:

Output
. . . Syntax OK

אתה צריך לאתחל את Apache כדי ליישם את השינויים שלך:

  1. sudo systemctl restart apache2

עכשיו 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

Source:
https://www.digitalocean.com/community/tutorials/how-to-install-the-apache-web-server-on-ubuntu-22-04