איך לארח אתר בחינם במערכת הבית שלך בלינוקס

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

A web server is a software program that receives and responds to client requests via the HTTP/HTTPS protocols. Its primary purpose is to display website content which, oftentimes, is in the form of text, images, and video.

A web server can either serve static or dynamic content. Static content, as the name infers, refers to content that hardly changes and is bound to remain the same. The server sends back content to the user’s browser as is.

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

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

דרישות

כדי לעקוב אחרי המדריך הזה, וודא שיש לך את הדברים הבאים במקום.

  • A dedicated Public IP address can be obtained from your ISP.
  • A Linux box, which can be a Linux server installation of your preferred OS variant. For this guide, we will use Debian 11.

כמו כן, דרוש שרת LAMP מותקן, שהוא ראשי תיבות לְLinux, Apache, וּMySQL (זה יכול להיות גם MariaDB). הנה מספר מדריכים על איך להתקין את התורגם LAMP ב-Linux.איך להתקין את LAMP על שרת Debian 11

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

מהו Apache?

אפאצ'י הוא שרת אינטרנט מוביל ופופולרי חופשי וקוד פתוח שנשחרר תחת רישיון אפאצ'י 2.0. זה אחד מה שרתי האינטרנט הנפוצים ביותר ומחזיק בכ-32.2% משוק השרתים ברשת.

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

# apt-cache policy apache2 (On Debian-based OS)

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

Check Apache Package Availability

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

# dnf search httpd
Search Apache Package Availability

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

במערכות מבוססות Debian:

$ sudo apt install apache2 -y 	 
$ sudo systemctl start apache2	 
$ sudo systemctl enable apache2	 
$ sudo systemctl status apache2
Check Apache2 Status

במערכות מבוסכות Red-Hat:

# dnf install httpd -y 	 
# systemctl start httpd	 
# systemctl enable httpd	 
# systemctl status httpd
Check httpd Status

מהו MariaDB?

A fork of MySQL, MariaDB is one of the most popular and open-source relational database management systems. Nowadays, it’s preferred to MySQL due to its faster speeds in replication and performing queries as well as security and a vast array of storage engines.

כדי להתקין MariaDB, במערכות מבוססות Debian:

	 
$ sudo apt install mariadb-server mariadb-client -y	 
$ sudo systemctl start mariadb	 
$ sudo systemctl enable mariadb	 
$ sudo systemctl status mariadb	 

הפלט הבא מראה שMariaDB מותקן ופועל כצפוי.

Check MariaDB Status

כדי להתקין MariaDB, במערכות מבוססות RHEL:

	 
# dnf install mariadb-server -y	 
# systemctl start mariadb	 
# systemctl enable mariadb	 
# systemctl status mariadb	 
Verify MariaDB Status

מהו PHP?

PHP היא ראשי תיבות רקורסיביות לPHP Hypertext Preprocessor, שהיא שפת תסריט כללית פופולרית שמשמשת בעיקר בפיתוח אתרים.

כדי להתקין PHP, במערכות מבוססות Debian:

	 
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install  ca-certificates apt-transport-https software-properties-common
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt update
$ sudo apt install php8.0 libapache2-mod-php8.0 

כדי להתקין PHP, במערכות מבוססות RHEL, עליך קודם כל לאפשר את המאגר EPEL.

$ sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm  [RHEL 9]
$ sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm  [RHEL 8]

לאחר מכן, לאפשר את מאגר Remi, שמספק את הגרסה העדכנית ביותר של PHP במערכות מבוססות RHEL.

$ sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm  [RHEL 8]
$ sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm  [RHEL 8]

ברגע שEPEL וRemi מאפשרים במערכת, אפשר להתקין PHP כפי שמוצג.

# dnf module list php
# dnf module enable php:remi-8.0 -y 
# dnf install php php-cli php-common

עם כל הרכיבים המותקנים, אפשר כעת לבנות אתר באמצעות WordPress CMS, שהוא תוכנת מנהל מערכות המקלה על משתמשים לפתח ולנהל אתר מבלי שבהכרח יש להם ידע בשפות עיצוב אתר כמו HTML, CSS, PHP ו-Javascript.

יצירת אתר מקדימה פשוט באמצעות WordPress ב-Linux

למטרות ההדגמה, נציב WordPress במערכות Debian 11 ו-RHEL 9, מה שיספק אתר דוגמא שניתן להתאים בהמשך להעדפותיך.

הקטע הזה מניח שכבר התקינת את LAMP הערימה.

שלב 1: התקנת מודולים נוספים של PHP

כדי להמשיך, התקן מודולים נוספים של PHP הנדרשים על ידי WordPress כפי שמוצג.

כדי להתקין PHP מודולים, במערכות מבוססות Debian:

$ sudo apt install php libapache2-mod-php php-pear php-cgi php-common php-mbstring php-zip php-net-socket php-gd php-mysql php-bcmath

כדי להתקין PHP מודולים, במערכות מבוססות RHEL:

# dnf install php-gd php-soap php-intl php-mysqlnd php-pdo php-bcmath php-curl php-zip php-xmlrpc wget

שלב 2: יצירת מסד נתונים עבור WordPress

כתוב ב-PHP, WordPress הוא מערכת ניהול תוכן חופשית ומקוונת שמבוססת על נתונים. מסד נתונים הוא מרכיב חיוני של WordPress.

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

כדי ליצור מסד נתונים עבור WordPress, התחבר לשרת המסד נתונים MariaDB:

$ sudo mysql -u root -p

לאחר מכן, צור מסד נתונים כפי שמוצג

CREATE DATABASE wordpress_db;

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

GRANT ALL PRIVILEGES ON wordpress_db.* to wordpress_user@localhost identified by 'P@ssword321';

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

FLUSH PRIVILEGES;
QUIT;

שלב 3: הורדת WordPress

עם הבסיס נתונים במקום, תעבור ותוריד את הקובץ המאוחסן האחרון של WordPress בצורת tar באמצעות הwget command.

$ wget https://wordpress.org/latest.tar.gz

ברגע שהורד, הוצא את הקבצים המוחסרים באמצעות הtar command.

$ tar -xvzf latest.tar.gz

הפקודה מוציאה את התוכן של הקובץ לתיקייה הנקראת wordpress. העבר או העתק את התיקייה לDocument Root עבור שרת הApache האינטרנט.

$ sudo mv wordpress/ /var/www/html/

לאחר מכן, שים את ההרשאות ואת זכויות הבעלות הבאות.
$ sudo chmod 755 -R /var/www/html/wordpress/
$ sudo chown -R www-data:www-data /var/www/html/wordpress/

שלב 4: צור מארח וירטואלי של Apache עבור WordPress

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

במקרה זה, אתה צריך ליצור מארח וירטואלי עבור אתר WordPress כדלקמן.

$ sudo nano /etc/apache2/sites-available/wordpress.conf  [On Debian]
# vi /etc/httpd/conf/httpd.conf [On RHEL]

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

<VirtualHost *:80>
     ServerAdmin admin@your_domain.com
     DocumentRoot /var/www/html/wordpress
     ServerName 192.168.0.100

     <Directory /var/www/html/wordpress>
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/your-domain.com_error.log
     CustomLog ${APACHE_LOG_DIR}/your-domain.com_access.log combined

</VirtualHost>

שמור את השינויים וצא מהקובץ.

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

$ cd /var/www/html/wordpress/

לאחר מכן, עדכן את קובץ ה-wp-config.php עם תוכן הקובץ wp-config-sample.php.

$ cp wp-config-sample.php wp-config.php
$ sudo nano wp-config.php

באשף הגדרות קובץ ה-wp-config.php, עדכן את ההנחיות של שם בסיס הנתונים, שם משתמש בבסיס הנתונים, והסיסמה עם פרטי הבסיס הנתונים.

לאחר מכן, הפעל את אתר ה-WordPress החדש כדלקמן במערכות המבוססות על Debian.

$ sudo ln -s /etc/apache2/sites-available/wordpress.conf /etc/apache2/sites-enabled/wordpress.conf
$ sudo a2ensite wordpress
$ sudo a2enmod rewrite
$ sudo a2dissite 000-default

כדי להחיל את השינויים, אתחל את Apache מחדש.

$ sudo systemctl restart apache2   [On Debian]
# systemctl restart httpd  [On RHEL]

שלב 4: השלמת התקנת WordPress בדפדפן

כדי להשלים את ההתקנה, עיין בכתובת ה-IP של השרת שלך כפי שמוצג:

http://server-ip

יש לך לראות את דף הברכה של WordPress מוצג כפי שמוצג. בחר את השפה המועדפת עליך ולחץ על 'המשך' ('Continue').

WordPress Installation Setup

לאחר מכן, מלא את פרטי האתר.

WordPress Site Details

לאחר מכן לחץ על 'התקן את WordPress' ('Install WordPress') כדי להשלים את ההתקנה של WordPress.

Install WordPress

אם הכל הלך בצורה נכונה, תקבל אישור כי ההתקנה הצליחה. כדי להתחבר, לחץ על הכפתור 'כניסה' ('Log In').

WordPress Admin Login

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

WordPress Admin Dashboard

צועד 5: גישה ל-WordPress באמצעות העברת פורטים

מאחר ואת מארח את שרת האינטרנט שלך מבית Linux שלך או מהרשת המקומית (LAN), הצעד הבא הוא לאפשר גישה למשתמשים חיצוניים או משתמשים מחוץ לרשת המקומית שלך. זה המקום שבו באה העברת פורטים לידי ביטוי.

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

הקצבת את הנמל עליו השרת האינטרנט שלך מקשיב (בדרך כלל זה הנמל 80 לתעבורה HTTP או 443 ל-HTTPS) כמו גם את כתובת ה-IP הפרטית של השרת.

אז תיכנסי לrouter שלך ותלכי לסעיף העברת הנמל. במקרה שלנו, אנו משתמשים ברוטר DLink כדי להעביר את נמלי השרת web (80 ו- 443) ואת כתובת ה-IP הפרטית (192.168.0.100) לכתובת ה-IP הציבורית המוקצית על ידי ספק השירות האינטרנט.

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

Port Forwarding for WordPress

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

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

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

Source:
https://www.tecmint.com/host-website-locally/