مقدمة
خادم Apache HTTP هو خادم ويب مفتوح المصدر من قِبل مؤسسة برمجيات Apache. وهو برنامج يربط خادمك المحلي بخوادم مواقع الويب مثل Firefox أو Google Chrome. يُستخدم هذا الاتصال لإرسال واستقبال الملفات والبيانات.
إنه الخادم الأكثر شعبية في جميع أنحاء العالم. يتم تشغيل أكثر من 40% من جميع مواقع الويب على شبكة الإنترنت العالمية بواسطة Apache HTTP. وتعود أسباب شعبيته إلى قابليته العالية للتخصيص، وقدرته الكبيرة على التكامل، ودعمه الموثوق للوسائط. يعمل Apache على بنية قائمة على الوحدات (modules). يمكنك تعديل الوحدات الفردية لإضافة وإزالة وظائف مختلفة. في هذا البرنامج التعليمي، سنرشدك إلى كيفية تثبيت خادم Apache على Ubuntu 18.04.
قبل التثبيت
قبل البدء في تثبيت Apache، يجب عليك الاهتمام ببعض المتطلبات الأساسية. كبداية، تأكد من أنك قمت بالفعل بتهيئة مستخدم غير جذري (non-root) يتمتع بصلاحيات sudo على الخادم المحلي. الشيء الآخر الذي ستحتاجه هو جدار الحماية. يجب عليك تمكين جدار الحماية الأساسي وحظر المنافذ غير الضرورية. قبل بدء التثبيت، قم بتسجيل الدخول إلى المستخدم غير الجذري الذي يتمتع بالصلاحيات. يمكنك تثبيت خادمك بسهولة باتباع البرنامج التعليمي الخاص بنا لإعداد خادم Ubuntu.
كيفية تثبيت خادم ويب Apache على Ubuntu 18.04
إذا قمت بتوفير المتطلبات الأساسية، يمكنك الانتقال إلى التثبيت الفعلي. يمكنك تثبيت خادم ويب Apache واستكشافه في 6 خطوات بسيطة:
الخطوة 1: تثبيت Apache
سيسعدك معرفة أن Apache هو بالفعل جزء من Ubuntu. هذا يعني أنه يمكنك تثبيت Apache على خادمك باستخدام أدوات إدارة الحزم المعتادة. وهو متاح كبرنامج افتراضي في المستودع. أولاً، ستحتاج إلى تحديث فهرس الحزم المحلي:
|
1 |
sudo apt update |
يجعل هذا الأمر التغييرات الأخيرة في المصدر تظهر في فهرس الحزم. بعد ذلك، نحتاج إلى إعطاء الأمر لتثبيت حزمة apache2:
|
1 |
sudo apt install apache2 |
الخطوة 2: تغيير إعدادات جدار الحماية الخاص بك
عند الاهتمام بالمتطلبات الأساسية، يجب أن تكون قد قمت بإعداد جدار حماية UFW الخاص بك. إذا اتبعت التعليمات، فسيقوم جدار الحماية بحظر وصولك إلى الخادم. نحتاج إلى منح منافذ الويب الافتراضية إمكانية الوصول إلى الخادم قبل تشغيل Apache. ونتيجة لذلك، يجب تغيير إعدادات جدار الحماية.
في وقت التثبيت، يسجل Apache نفسه لدى UFW. وينتج عن هذا التسجيل إنشاء بعض ملفات تعريف التطبيقات (application profiles). علاوة على ذلك، يمكنك استخدام ملفات التعريف هذه لتمكين أو تعطيل وصول جدار الحماية إلى Apache. بعد ذلك، قم بعرض تطبيقات ufw هذه باستخدام الأمر التالي:
|
1 |
sudo ufw app list |
سترى ملف تعريف التطبيق الخاص بك في قائمة مثل هذه:

توضح القائمة أعلاه أنه تم إنشاء ثلاثة ملفات تعريف للتطبيقات، وهي Apache و Apache Full و Apache Secure. فيما يلي بعض التفاصيل المفيدة حول كل من ملفات التعريف هذه:
-
Apache:
ملف تعريف Apache قادر على فتح المنفذ 80 فقط. يسمح هذا المنفذ بمرور حركة مرور الويب العادية وغير المشفرة.
-
Apache Full:
يتمتع ملف تعريف Apache Full بالقدرة على فتح المنفذين 80 و 443. حيث يسمح المنفذ 80 بحركة مرور الويب العادية وغير المشفرة، بينما يمثل المنفذ 443 حركة المرور المشفرة بـ TLS/SSL.
-
Apache Secure:
أخيرًا، يفتح Apache Secure المنفذ 443 فقط. وكما ذكرنا أعلاه، فهو مسؤول عن السماح بدخول حركة مرور الويب المشفرة بـ TLS أو SSL.
عند الاختيار بين ملفات التعريف هذه، فكر في حركة المرور التي قمت بتهيئتها. ستحتاج إلى التأكد من مرور حركة المرور المطلوبة مع اختيار ملف التعريف الأكثر تقييدًا. تكوين SSL خارج نطاقنا في الوقت الحالي. وبالتالي، سنركز على حركة المرور القادمة عبر المنفذ 80 في الوقت الحالي. هذا يعني أننا نقوم بتمكين ملف تعريف التطبيق 'Apache' في هذا السيناريو. يمكنك القيام بذلك على النحو التالي:
|
1 |
sudo ufw allow ‘Apache’ |
للتحقق من التعديل، اكتب ما يلي:
|
1 |
sudo ufw status |
sيعرض هذا الأمر مخرجًا يحتوي على حركة مرور HTTP المسموح بمرورها حاليًا. سترى شيئًا مثل هذا:

تُظهر حركة مرور البيانات أنه تم تنشيط ملف تعريف Apache المطلوب. تم منح حق الوصول إلى خادم الويب من خلال جدار الحماية.
الخطوة 3: تحقق من خادم الويب الخاص بك
اكتمل تثبيت Apache وتم تعديل إعدادات جدار الحماية. في نهاية هذه العملية، سيقوم Ubuntu 18.04 بتشغيل Apache تلقائيًا. بعد ذلك، تحتاج إلى التحقق باستخدام نظام بدء التشغيل systemd لمعرفة ما إذا كانت الخدمة تعمل في أي لحظة. إذا كنت تريد معرفة المزيد عن أنظمة بدء التشغيل (init systems)، يمكنك مراجعة الدرس التعليمي حول كيفية إدارة خدمات ووحدات Systemd باستخدام Systemctl. للتحقق مما إذا كانت الخدمة تعمل، اكتب:
|
1 |
sudo systemctl status apache2 |
ستكون المخرجات على النحو التالي:

تحتاج إلى البحث عن الحالة نشط (Active) أو قيد التشغيل (running) للخدمة في ما سبق. يوضح هذا أن الخدمة قد تم إطلاقها وتعمل بنجاح. هناك طريقة أخرى أكثر تفضيلاً لاختبار عمل الخدمة. يمكنك التحقق من حالتها عن طريق طلب صفحة من Apache. باستخدام عنوان IP الخاص بخادمك، يمكنك تأكيد ما إذا كان البرنامج يعمل على صفحة هبوط Apache الافتراضية. إليك أمر يمكنك استخدامه للحصول على عنوان IP الخاص بخادمك إذا لم تكن تعرفه بالفعل:
|
1 |
hostname -I |
سيعرض هذا الأمر نتيجة تحتوي على عدد من عناوين IP المفصولة بمسافات. اختبر كل منها على حدة في المتصفح. طريقة أخرى للوصول هي الحصول على عنوان IP العام الخاص بك. يمكنك استخدام أمر مثل هذا:
|
1 |
curl -4 icanhazip.com |
سيعرض لك هذا عنوان IP الخاص بك كما يظهر في مواقع أخرى عبر الويب. بعد ذلك، بمجرد حصولك على عنوان IP الخاص بك، انتقل إلى متصفح الويب الخاص بك. في شريط العنوان، اكتب وقم بتشغيل ما يلي:
|
1 |
http://your_server_ip |
سيؤدي هذا إلى فتح صفحة ويب Apache الافتراضية لـ Ubuntu 18.04. وتبدو كالتالي:

تحتوي هذه الصفحة على بعض المعلومات الأساسية حول ملفاتك وأدلتك. نظرًا لأنه تم فتحها عند كتابة العنوان، فهذا يشير إلى أن Apache يعمل بشكل صحيح.
الخطوة 4: الإدارة الأساسية في Apache
يؤكد التحقق أن Apache يعمل وأن خادمك قيد التشغيل. الآن، سنستكشف بعض الأوامر الأساسية التي يمكنك استخدامها على الخادم للإدارة.
يقوم التكوين الافتراضي لـ Apache بتشغيله كلما تم تمهيد الخادم. لديك خيار تعطيل هذا الإعداد. اكتب:
|
1 |
sudo systemctl disable apache2 |
لإعادة تنشيط هذه الميزة الافتراضية، استخدم هذا الأمر:
|
1 |
sudo systemctl enable apache2 |
بعد ذلك، اكتب ما يلي إذا كنت تريد إيقاف الخادم يدويًا:
|
1 |
sudo systemctl stop apache2 |
إذا كنت تريد تشغيله مرة أخرى بعد إيقافه، استخدم الأمر:
|
1 |
sudo systemctl start apache2 |
لإيقاف الخادم وتشغيله، أو لتحديثه بشكل أساسي، اكتب:
|
1 |
sudo systemctl restart apache2 |
عندما تقوم بإيقاف الخادم، فإنه يميل إلى فقدان جميع اتصالاته. تشغيله مرة أخرى يعني أنه يعثر على تلك الاتصالات ويربطها مرة أخرى. إذا أردت، يمكنك أيضًا إعادة تحميل Apache دون فقدان الاتصال. هذا مفيد بشكل خاص عند إجراء تغييرات في التكوين. اكتب ما يلي لإعادة التحميل دون قطع الاتصالات:
|
1 |
sudo systemctl reload apache2 |
الخطوة 5: إعداد المضيف الافتراضي
على الرغم من أن هذا ليس إلزاميًا، إلا أنه يوصى بشدة بإعداد المضيفين الافتراضيين. المضيفون الافتراضيون هم كتل صغيرة في الخادم تحتوي على مجموعات من تفاصيل التكوين. يمكنك استضافة عدة نطاقات على مضيف افتراضي واحد من خادمك.
بشكل افتراضي، إذا كنت تستخدم Apache على Ubuntu 18.04، فسيكون هناك كتلة خادم نشطة واحدة تخدم المستندات في دليل /var/www/html. ستحتاج إلى تغيير هذا الإعداد إذا كنت تستضيف مواقع متعددة بدلاً من موقع واحد فقط. ومع ذلك، هناك خيار آخر ممكن يعمل بشكل أفضل. اترك دليل /var/www/html دون تغيير. بدلاً من ذلك، انتقل إلى /var/www/ لإنشاء بنية دليل للمواقع على النطاق المطلوب. إذا قمت بذلك، فسيتم تكوين دليل /var/www/html كدليل افتراضي. في حال لم يتطابق طلب العميل مع أي من المواقع على نطاقك، فسيتم خدمتهم من هنا.
بعد ذلك، سنرى كيف يمكنك إنشاء نطاق جديد والدليل المرتبط به. من أجل هذا المثال، سنستخدم اسماً افتراضياً، your_domain. استبدل your_domain أينما وجد في التعليمات اللاحقة باسم النطاق الخاص بك. للبدء، دعنا نرى كيف يمكنك إنشاء دليل جديد لـ your_domain:
|
1 |
sudo mkdir /var/www/your_domain |
الآن، يجب عليك تعيين ملكية الدليل. يمكنك استخدام متغير البيئة $USER لهذا الغرض:
|
1 |
sudo chown -R $USER:$USER /var/www/your_domain |
للمتابعة، يجب أن تكون أذونات جذر الويب لديك صحيحة. إذا لم تقم بتعديل قيمة unmask في التكوين، فيجب أن تكون أذوناتك جيدة. ولكن إذا لم تكن متأكداً، يمكنك دائماً التأكيد باستخدام:
|
1 |
sudo chmod -R 755 /var/www/your_domain |
بعد ذلك، سنقوم بإنشاء صفحة index.html. يمكنك استخدام nano مثلنا أو أي محرر آخر، إذا كان لديك تفضيل:
|
1 |
nano /var/www/your_domain/index.html |
أضف عينة HTML هذه داخل index، ثم احفظ وأغلق:
|
1 2 3 4 5 6 7 8 |
<html> <head> <title>مرحباً في Your_domain!</title> </head> <body> <h1>نجاح! ! المضيف your_domain الافتراضي يعمل بشكل صحيح!</h1> </body> </html> |
الخطوة التالية هي إنشاء ملف مضيف افتراضي. يعد ملف المضيف الافتراضي الذي يحتوي على جميع التوجيهات الصحيحة ضرورياً لجعل 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 |
على غرار ما سبق، سنضيف عينة للتكوين. ولكن هذه المرة، سنقوم بتحديثها فيما يتعلق باسم النطاق والدليل الجديد الذي أنشأناه للتو. أضف هذه الكتلة، ثم احفظ وأغلق:
|
1 2 3 4 5 6 7 8 |
<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> |
كما ترى أعلاه، قمنا أيضاً بتحديث البريد الإلكتروني لـ ServerAdmin. هذا عنوان يمكن لمدير موقع your_domain الوصول إليه. ليس هذا فحسب، بل قمنا أيضاً بتحديث DocumentRoot إلى الدليل الجديد وأضفنا توجيهين جديدين. تتضمن هذه التوجيهات ServerName و ServerAlias. يُسخدم ServerName لتعيين النطاق الأساسي. يجب أن يتطابق النطاق الأساسي لتحديد المضيف الافتراضي. من ناحية أخرى، يوفر ServerAlias أسماءً أخرى يجب أن تتطابق أيضاً، على غرار الاسم الأساسي. يمكنك تمكين الملف باستخدام أداة a2ensite بسهولة:
|
1 |
sudo a2ensite your_domain.conf |
لتعطيل الموقع الافتراضي المذكور في 000-default.conf، استخدم هذا الأمر:
|
1 |
sudo a2dissite 000-default.conf |
الآن بعد أن أصبح التكوين جاهزًا، يمكنك التحقق من وجود أخطاء عن طريق كتابة:
|
1 |
sudo apache2ctl configtest |
سيظهر هذا المخرج التالي إذا لم تكن هناك أخطاء في التكوين:
|
1 2 3 |
Output Syntax OK |
لتطبيق التغييرات، يجب إعادة تشغيل خادم Apache كما تم توجيهه من قبل:
|
1 |
sudo systemctl restart apache2 |
ها قد انتهيت! لقد قمت بإعداد مضيفك الافتراضي وتعيين اسم النطاق الخاص بك. للتحقق مما إذا كان Apache يخدم بالفعل your_domain، انتقل إلى http://your_domain.
Step 6: Browsing the Files and Directories
لقد قمت بنجاح بإجراء بعض التكوينات الأساسية لخادم Apache الخاص بك. بالإضافة إلى ذلك، أنت على دراية بكيفية إدارة خدمة Apache الخاصة بك. بعد ذلك، يمكنك قضاء بعض الوقت في استكشاف بعض الأدلة والملفات الأكثر أهمية.
المحتوى
- /var/www/html
لقد تحدثنا عن هذا الدليل من قبل أيضًا. وهو يحتوي على صفحة Apache الافتراضية. إذا أردت، يمكنك تغيير محتوى هذه الصفحة. للقيام بذلك، سيتعين عليك تعديل ملفات تكوين Apache.
تكوين الخادم
- /etc/apache2
هذا هو دليل تكوين Apache الرئيسي. مما يعني أن هذا الدليل يتكون من جميع ملفات التكوين المرتبطة بـ Apache.
- /etc/apache2/apache2.conf
كما توحي الإضافة في نهاية الدليل، هذا هو ملف التكوين الرئيسي. يقوم هذا الملف بتحميل العديد من الملفات الأخرى في الدليل ويمكن استخدامه لإجراء تعديلات في تكوين Apache. إذا كنت تريد إجراء أي تغيير على تكوين خادم Apache، فهنا هو المكان الذي ستجري فيه التعديلات.
- /etc/apache2/ports.conf
كما يوحي الاسم، يخص هذا الملف المنافذ التي ناقشناها من قبل. يتم تمكين المنفذ 80 افتراضيًا ويتم تنشيط المنفذ 443 عند تقديم الوحدات التي تحتوي على SSL. يحتوي هذا الملف على تفاصيل تتعلق بالمنافذ المفتوحة والممكنة.
- /etc/apache2/sites-available/
هذا هو المكان الذي ستذهب إليه مضيفاتك الافتراضية. يتم إجراء أي وكل تكوين لكتل الخادم في هذا الدليل. لتمكين كتل الخادم، يجب ربطها بأدلة أخرى من خلال a2ensite. لن يتمكن Apache من الوصول إلى الملفات الموجودة في هذا الدليل إلا إذا تم تمكينها عن طريق ربطها بدليل sites-enabled.
- /etc/apache2/sites-enabled/
هذا هو الدليل الذي توجد فيه المضيفات الافتراضية الممكنة. كما ذكرنا، يتم تمكين المضيفات عند ربط الملفات في دليل sites-available من خلال الأمر a2ensite. الملفات الموجودة في هذا الدليل مهمة عندما يبدأ Apache أو يعيد التحميل أو يجمع التكوين.
- /etc/apache2/conf-available/, /etc/apache2/conf-enabled/
تعمل هذه الأدلة بطريقة مشابهة لـ sites-available و sites-enabled. لتمكين الملفات في دليل conf-available، يجب استخدام الأمر a2enconf. أمر التعطيل هو a2disconf. بدلاً من تخزين المضيفات الافتراضية لكل موقع، تتكون هذه الأدلة من تفاصيل التكوين التي لا تتعلق بالمضيف الافتراضي:
- /etc/apache2/mods-available/, /etc/apache2/mods-enabled/
تمتلك هذه الأدلة أيضًا علاقة مشابهة للمثالين السابقين. وهي تحتوي على الوحدات، تلك المتاحة وتلك الممكنة بواسطة الأمر a2enmod. لتعطيل وحدة، يمكنك استخدام الأمر a2dismod. تحتوي الملفات ذات اللاحقة .load على أجزاء يمكنها تحميل وحدة معينة. تحتوي الملفات ذات اللاحقة .conf على تفاصيل التكوين ذات الصلة للوحدة المعينة.
سجلات الخادم
- /var/log/apache2/access.log
يحتوي ملف السجل هذا على جميع الطلبات المقدمة إلى خادمك. يحدث هذا افتراضيًا. لديك خيار تكوين Apache لتسجيل الطلبات بشكل مختلف.
- /var/log/apache2/error.log
هذا هو سجل الأخطاء. تذهب جميع الأخطاء التي ترتكبها مباشرة إلى هذا الملف افتراضيًا. يمكنك رؤية التفاصيل التي يتم بها تسجيل سجلات الأخطاء من خلال توجيه LogLevel.
الخاتمة
أخيرًا، باتباع الخطوات المذكورة أعلاه، يمكنك بسهولة تثبيت خادم ويب Apache على نظام التشغيل Ubuntu 18.04 الخاص بك. بمجرد حصولك على الخادم على نظامك، يمكنك استكشاف الخيارات المتنوعة المتاحة لك على المنصة. يمكنك استخدام تقنيات مختلفة لإنتاج أنواع مختلفة من المحتوى. وبهذه الطريقة، يمكنك خلق تجربة فريدة وميسرة لنفسك على الخادم.
يمكنك أيضًا معرفة كيفية تأمين خادم Apache الخاص بك باستخدام Let’s Encrypt من خلال اتباع دليلنا التعليمي خطوة بخطوة. إذا كنت تريد معرفة كيفية تثبيت Apache على CentOS 7، فاتبع الدليل التعليمي حول كيفية تثبيت حزمة Linux و Apache و MySQL و PHP (LAMP) على CentOS 7.
حوسبة سعيدة!
التعليقات
لا توجد تعليقات بعد. كن أول من يعلق.