خادم الويب يمكن استخدامه للإشارة إلى كل من الأجهزة والبرمجيات، أو كليهما يعملان معًا. لغرض هذا الدليل، سنركز على الجانب البرمجي ونرى كيف يمكنك استضافة موقع على الويب على جهاز Linux الخاص بك.
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.
المحتوى الديناميكي هو المحتوى الذي يتغير في كثير من الأحيان أو يتم تحديثه باستمرار. لخدمة المحتوى الديناميكي، يجب أن يعمل خادم الويب أيضًا جنبًا إلى جنب مع خادم قاعدة البيانات ولغات البرمجة على الجانب الخادم.
سيقدم هذا الدليل كيفية إعداد خادم الويب أباتشي لاستضافة موقع على الويب على نظام Linux الخاص بك مجانًا.
جدول المحتويات
المتطلبات
لمتابعة هذا الدليل، تأكد من توفر ما يلي.
- 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.
- كيفية تثبيت خادم Debian 11 (Bullseye) الأساسي
- كيفية تثبيت خادم Debian 10 (Buster) الأساسي
- كيفية تثبيت خادم Ubuntu 20.04
- كيفية تثبيت خادم Rocky Linux 9
- كيفية تثبيت خادم AlmaLinux 9
- كيفية تثبيت RHEL 9 مجانًا
تحتاج أيضًا إلى خادم LAMP مثبت، وهو اختصار لـ Linux و Apache و MySQL (يمكن أيضًا أن يكون MariaDB). إليك بعض الدلائل حول كيفية تثبيت مجموعة LAMP في نظام Linux.
- كيفية تثبيت LAMP على خادم Debian 10
- كيفية تثبيت LAMP Stack في Ubuntu 20.04
- كيفية تثبيت LAMP على Rocky Linux 9/8
- كيفية تثبيت LAMP Stack في AlmaLinux 9/8
- كيفية تثبيت LAMP على RHEL 9/8
- كيفية استضافة موقع ويب على خادم Linux
في هذا القسم، سنقوم بالمضي قدمًا ومناقشة المكونات الرئيسية لخادم الويب.
ما هو أباتشي؟
أباتشي هو خادم ويب شهير ومفتوح المصدر ومتعدد المنصات والذي يتم إصداره تحت ترخيص أباتشي 2.0. إنه واحد من أكثر الخوادم الويب استخدامًا، حيث يشكل ما يقرب من 32.2% من حصة سوق خوادم الويب.
للتحقق من أحدث إصدار من أباتشي المتاح، وما إذا كان مثبتًا على خادمك، قم بتشغيل الأمر التالي:
# apt-cache policy apache2 (On Debian-based OS)
من الناتج، يمكنك رؤية المعلمة المثبتة: (لا شيء) مما يعني أنه لم يتم تثبيته بعد. كما تحصل أيضًا على معلومات حول أحدث إصدار يتم تقديمه من مستودع ديبيان / أوبونتو، الذي في هذه الحالة هو 2.4.52.

على توزيعات ريد هات الحديثة، يمكنك التحقق من توافر أباتشي باستخدام الأمر dnf التالي كما يلي.
# dnf search httpd

من الناتج أعلاه، يمكنك رؤية أن حزمة أباتشي httpd متاحة للتنزيل. إذا لم يتم تثبيت أباتشي على نظامك، استخدم مديري الحزم ‘ apt ‘ أو ‘ dnf ‘ لتثبيت أباتشي كما هو موضح.
على أنظمة Debian-based:
$ sudo apt install apache2 -y $ sudo systemctl start apache2 $ sudo systemctl enable apache2 $ sudo systemctl status apache2

على أنظمة Red-Hat-based:
# dnf install httpd -y # systemctl start httpd # systemctl enable httpd # systemctl status httpd

ما هو 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-based:
$ sudo apt install mariadb-server mariadb-client -y $ sudo systemctl start mariadb $ sudo systemctl enable mariadb $ sudo systemctl status mariadb
يظهر الإخراج التالي أن MariaDB مثبتة وتعمل كما هو متوقع.

لتثبيت MariaDB، على أنظمة RHEL-based:
# dnf install mariadb-server -y # systemctl start mariadb # systemctl enable mariadb # systemctl status mariadb

ما هو PHP؟
PHP هو اختصار متكرر لـ PHP Hypertext Preprocessor، وهو لغة سكريبت عامة شائعة تستخدم بشكل رئيسي في تطوير الويب.
لتثبيت PHP، على أنظمة Debian-based:
$ 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-based، تحتاج أولاً لتمكين مستودع 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-based.
$ 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 وجافا سكريبت.
إنشاء موقع ويب بسيط باستخدام WordPress في Linux
للتوضيح ، سنقوم بتثبيت WordPress على Debian 11 و RHEL 9 أنظمة ، والتي ستوفر موقعًا عينة يمكن تخصيصه حسب تفضيلاتك.
يفترض هذا القسم بالفعل وجود LAMP المكتبة المثبتة.
الخطوة 1: تثبيت وحدات PHP الإضافية
للمضي قدمًا ، قم بتثبيت وحدات PHP الإضافية المطلوبة من قبل WordPress كما هو موضح.
لتثبيت PHP وحدات ، على أنظمة Debian-based:
$ 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-based:
# 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
مع وجود قاعدة البيانات، تابع وتنزيل أحدث ملف تنسيق tarball لـ WordPress باستخدام أمر wget.
$ wget https://wordpress.org/latest.tar.gz
بمجرد تنزيله، استخرج الملف المضغوط باستخدام أمر tar.
$ tar -xvzf latest.tar.gz
يستخرج الأمر محتويات الملف في مجلد يسمى wordpress. انقل أو انسخ المجلد إلى جذر الوثيقة لويب سيرفر أباتشي.
$ 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: إنشاء مضيف وهمي لـ 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
بعد ذلك، قم بتحديث اسم قاعدة البيانات، واسم مستخدم قاعدة البيانات، وتوجيهات كلمة المرور بتفاصيل قاعدة البيانات.
بعد ذلك، قم بتمكين موقع 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’ Install WordPress لإكمال إعداد WordPress.

إذا كان كل شيء على ما يرام، ستحصل على تأكيد بأن التثبيت كان ناجحًا. لتسجيل الدخول، انقر فوق زر ‘تسجيل الدخول’ Log In.

هذا يوجهك إلى لوحة تحكم ووردبريس كما يمكنك أن ترى. في هذه المرحلة، يمكنك تجربة مختلف القوالب لتحسين مظهر موقعك الإلكتروني التجريبي.

الخطوة ٥: الوصول إلى ووردبريس باستخدام توجيه المنافذ
نظرًا لأنك تقوم باستضافة خادم الويب الخاص بك من نظام Linux في المنزل أو شبكة الشبكة المحلية الخاصة بك (LAN)، فإن الخطوة التالية هي جعله متاحًا للمستخدمين الخارجيين أو المستخدمين خارج LAN الخاص بك (Local Area Network). هنا تأتي تقنية توجيه المنافذ.
توجيه المنافذ، المعروف أيضًا باسم رسم الخرائط، هي تقنية تتيح للأجهزة الخارجية الوصول إلى الخوادم أو الموارد داخل الشبكة الخاصة عبر الإنترنت. الفكرة الكاملة هي الوصول إلى الشبكات الخاصة من الخارج، دون ذلك سيكون من المستحيل لأن الأجهزة الخارجية لا يمكنها التواصل مع عناوين IP الداخلية.
في إعدادك، تحتاج إلى توجيه المنفذ الذي يستمع إليه خادم الويب، (في معظم الحالات، يكون هذا المنفذ ٨٠ لحركة مرور HTTP أو ٤٤٣ لحركة مرور HTTPS) وكذلك عنوان IP الخاص الثابت لخادم الويب.
لذا، قم بتسجيل الدخول إلى جهاز التوجيه الخاص بك وانتقل إلى قسم توجيه المنافذ. في مثالنا، نحن نستخدم جهاز التوجيه DLink لتوجيه منافذ خادم الويب (٨٠ و ٤٤٣) وعنوان IP الخاص (١٩٢.١٦٨.٠.١٠٠) إلى عنوان IP العام المخصص المخصص من قبل مزود خدمة الإنترنت.
في حالتك، حدد منافذ وعنوان IP الخاص لخادم الويب واحفظ التغييرات.

لحفظ التغييرات، قد تحتاج إلى إعادة تشغيل جهاز التوجيه. لذا، قم بذلك بالضبط.
بمجرد أن يتم تنفيذ إعادة توجيه المنافذ بشكل صحيح، يمكنك الآن الوصول إلى خادم الويب الخاص بك خارج شبكتك عبر عنوان IP العام.
الاستنتاج
في هذا الدليل، قمنا بشرح كيف يمكنك استضافة خادم الويب الخاص بك باستخدام أباتشي على جهاز Linux. نرحب بآرائك حول هذا الدليل.