ديف أوبس

إعداد خادوم وِب وFTP على RHEL

إعداد خادوم وِب وخادوم FTP على Red Hat Enterprise Linux

الكلمات المفتاحية: خادوم وِب, خادوم FTP, RHEL, Red Hat Enterprise Linux, Apache, vsftpd, أمان الشبكات, إعدادات الشبكة, SELinux, جدار الحماية, خدمات لينكس


مقدمة

تُعدّ توزيعة Red Hat Enterprise Linux (RHEL) من أكثر أنظمة التشغيل استخدامًا في بيئات المؤسسات لما تتميز به من استقرار، دعم طويل الأمد، وأدوات متقدمة لإدارة البنية التحتية. ويُعتبر إعداد خادوم وِب (Web Server) وخادوم FTP (File Transfer Protocol Server) من العمليات الأساسية في إدارة خدمات الشبكات داخل بيئة تعتمد على RHEL. يُمكن استخدام خادوم الويب لاستضافة مواقع إلكترونية أو تطبيقات داخلية، بينما يُستخدم خادوم FTP لنقل الملفات بين الأنظمة أو لمشاركة البيانات داخل الشبكة.

في هذا المقال المطول، سيتم شرح الخطوات المفصلة لإعداد خادوم وِب باستخدام Apache HTTP Server، وخادوم FTP باستخدام vsftpd، مع مراعاة كافة جوانب الأمان، التحكم في الوصول، تكوين SELinux، إعداد جدار الحماية، وإدارة الخدمات بطريقة احترافية، وذلك وفقًا لأفضل الممارسات المعتمدة في مجال إدارة النظم والخوادم.


متطلبات النظام

قبل البدء في إعداد الخوادم، ينبغي التأكد من توافر بيئة نظام مناسبة تتضمن:

  • تثبيت نسخة Red Hat Enterprise Linux 8 أو 9.

  • حساب مستخدم يملك صلاحيات الجذر (root) أو مستخدم ضمن مجموعة sudoers.

  • اتصال مستقر بالشبكة.

  • إمكانية الوصول إلى مستودعات البرامج الرسمية (repositories) من Red Hat.


إعداد خادوم وِب Apache على RHEL

1. تثبيت حزمة Apache HTTP Server

Apache هو أشهر خادوم وِب مفتوح المصدر. لتثبيته على RHEL:

bash
sudo dnf install httpd -y

بعد انتهاء التثبيت، يتم التحقق من وجود الخدمة:

bash
systemctl status httpd

2. تشغيل الخدمة وتفعيلها تلقائيًا

bash
sudo systemctl start httpd sudo systemctl enable httpd

3. إعداد جدار الحماية للسماح بحركة المرور عبر HTTP وHTTPS

bash
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload

4. التحقق من عمل الخادوم

يمكن فتح المتصفح على أي جهاز ضمن الشبكة وكتابة عنوان الـIP الخاص بالخادوم، أو تنفيذ:

bash
curl http://localhost

5. ملفات الإعداد

الملف الرئيسي لإعداد Apache:

swift
/etc/httpd/conf/httpd.conf

وأي ملفات إضافية يمكن وضعها ضمن المجلد:

swift
/etc/httpd/conf.d/

6. إعداد صفحات الويب

المجلد الافتراضي للموقع هو:

css
/var/www/html/

يمكن وضع ملفات HTML أو PHP داخله بعد تعديل صلاحيات الملفات إذا لزم الأمر.


إعداد خادوم FTP باستخدام vsftpd

1. تثبيت الحزمة

vsftpd هو خادوم FTP آمن وسريع يدعم الاتصال المجهول والمستخدمين المحليين.

bash
sudo dnf install vsftpd -y

2. بدء الخدمة وتفعيلها

bash
sudo systemctl start vsftpd sudo systemctl enable vsftpd

3. إعداد جدار الحماية للسماح بالاتصال

bash
sudo firewall-cmd --permanent --add-service=ftp sudo firewall-cmd --reload

4. إعداد SELinux لدعم FTP

للسماح بتحميل الملفات عبر FTP عند تمكين SELinux:

bash
sudo setsebool -P allow_ftpd_full_access 1

5. إعدادات ملف vsftpd.conf

الملف الأساسي:

bash
/etc/vsftpd/vsftpd.conf

أهم التعديلات التي يُنصح بها:

conf
anonymous_enable=NO local_enable=YES write_enable=YES chroot_local_user=YES user_sub_token=$USER local_root=/home/$USER/ftp

ثم يتم إعادة تشغيل الخدمة:

bash
sudo systemctl restart vsftpd

6. إعداد المستخدمين ومجلداتهم

لإنشاء مستخدم مخصص لـ FTP:

bash
sudo adduser ftpuser sudo passwd ftpuser

إنشاء المجلد الرئيسي للـ FTP:

bash
mkdir -p /home/ftpuser/ftp/files chown -R ftpuser:ftpuser /home/ftpuser/ftp chmod 750 /home/ftpuser/ftp

إدارة SELinux لخادوم الويب وFTP

RHEL تستخدم SELinux لتقييد الصلاحيات تلقائيًا. لضمان عمل الخوادم دون تعارض، يتم ضبط السياسات بالشكل التالي:

التحقق من حالة SELinux:

bash
sestatus

إعطاء صلاحية Apache لقراءة مجلد معين:

bash
chcon -R -t httpd_sys_content_t /var/www/html

السماح للـ Apache بتنفيذ السكربتات:

bash
setsebool -P httpd_execmem 1

استخدام شهادات SSL لخادوم Apache

لتأمين الاتصال بخادوم الويب باستخدام HTTPS:

1. تثبيت mod_ssl:

bash
sudo dnf install mod_ssl

2. إنشاء شهادة SSL ذاتية التوقيع (لأغراض الاختبار):

bash
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ -keyout /etc/pki/tls/private/httpd.key \ -out /etc/pki/tls/certs/httpd.crt

3. تعديل ملف الإعداد:

في /etc/httpd/conf.d/ssl.conf، يتم الإشارة إلى مسارات الشهادة والمفتاح.


جدول توضيحي لأهم الأوامر المستخدمة

الوظيفة الأمر المستخدم
تثبيت Apache sudo dnf install httpd -y
تشغيل Apache sudo systemctl start httpd
تفعيل Apache عند الإقلاع sudo systemctl enable httpd
فتح منفذ HTTP في الجدار sudo firewall-cmd --add-service=http --permanent
إعادة تحميل الجدار sudo firewall-cmd --reload
تثبيت vsftpd sudo dnf install vsftpd -y
تشغيل خدمة vsftpd sudo systemctl start vsftpd
تعديل إعدادات SELinux setsebool -P allow_ftpd_full_access 1
إعداد صلاحيات المجلدات chown -R user:user /path/to/ftp

اعتبارات الأمان

عند إعداد أي خادوم على RHEL، ينبغي عدم إهمال الجوانب الأمنية، خاصة في بيئة الإنتاج:

  1. إغلاق الخدمات غير الضرورية لتقليل سطح الهجوم.

  2. تطبيق سياسات قوية لكلمات المرور، خصوصًا لمستخدمي FTP.

  3. استخدام جدار حماية متقدم مثل firewalld لإغلاق المنافذ غير المستخدمة.

  4. تشغيل تحديثات النظام بشكل منتظم لتجنب الثغرات الأمنية.

  5. استخدام FTPS بدلاً من FTP العادي عند الحاجة لتأمين الاتصال.


إدارة الخوادم في بيئة الإنتاج

بمجرد إكمال إعداد الخوادم، يُفضل استخدام أدوات مراقبة وإدارة مثل:

  • Cockpit: واجهة ويب لإدارة الخوادم على RHEL.

  • Nagios/Zabbix: لمراقبة الأداء وتلقي التنبيهات.

  • Logwatch و journald: لمراجعة السجلات وتحليلها بانتظام.


الخلاصة الفنية

إعداد خادوم وِب وخادوم FTP على Red Hat Enterprise Linux يتطلب فهماً متقدماً لطريقة عمل النظام والخدمات المرتبطة به. سواء كان الاستخدام لغرض تطويري أو إنتاجي، فإن الالتزام بأفضل الممارسات الأمنية، وضبط الإعدادات بشكل دقيق، واعتماد السياسات المناسبة ضمن SELinux وجدار الحماية، كلها تمثل عوامل حاسمة لضمان الأداء العالي والاستقرار. ويُفضل توثيق كل خطوة في ملف إداري خاص بكل خادوم لضمان سهولة الصيانة مستقبلاً، وتفادي الأخطاء أو التعارضات في البيئات المعقدة.


المراجع:

  1. Red Hat Documentation – https://access.redhat.com/documentation/

  2. Apache HTTP Server Official Documentation – https://httpd.apache.org/docs/