كما ذكرنا من قبل، خادم الويب هو الخادم الذي من خلاله يُمكننا تصفح الإنترنت وعمل كمّ هائلٍ من المهام اليومية بشكل آلي دون التفكير فيها. هذا الخادم بشكل عام يأتي بضبط إفتراضي بسيط يمكنه من القيام بمهماته بشكل أساسي جدا، وهنا سوف نقوم بضبط هذه الإعدادات بشكل أفضل.
أجزاء المقال:
- تثبيت خادم Open Litespeed مع php 7.4 و php 8.0
- تثبيت محرك قواعد البيانات MariaDB
- ضبط الإعدادات الأولية لخادم Open Litespeed
- تثبيت ModSecurity لتأمين المواقع على الخادم
- ضبط قالب Litespeed لإنشاء المواقع بشكل تلقائي
- ضبط الجدار الناري CSF
- تثبيت موقعك الأول على الخادم
ضبط الإعدادات الاولية للخادم
بعد دخولنا الى لوحة التحكم، يمكننا مشاهدة الجملة “Server Configurations” في الشريط الجانبي الأيسر. بعد الضغط عليه، يمكننا مشاهدة بعض المدخلات والتي نحتاج الى تعديل بعضها فقط. في الشاشة التي تراها بعد الضغط على “Server Configurations”، يمكنك الضغط على زر التعديل في الحانب الأيمن من أعلى الترويسة لتعديل الإعدادات.
في خانة Server Name يجب عليك وضع اسم الخادم الخاص بك وهو في العادة رابط صحيح له عنوان IP صحيح ومرتبط بالخادم.
في خانة Number of Workers هو عدد العمليات التي سيتم فتحها تحت اسم الخادم. في العادة يجب أن لا يزيد هذا العدد عن عدد انوية المعالج. بمعنى، لو كان لديك معالج ثنائي النواة، يجب عليك كتابة الرقم 2.
ضبط الإستماع – Listeners
المستمع هو عبارة عن جزء من البرنامج يقوم بالإستماع الى منفذ معين والتعامل مع الإتصالات الواردة بالشكل المناسب. في هذا القسم سوف نقوم بضبط مستمع على منفذ 80 و منفذ 443 على جميع عنوان IP من نوع IPv4 و IPv6.
في شاشة الإعدادات الإفتراضية، يجب الضغط على Listeners لدخول قائمة الإعدادات. بشكل إفتراضي، بقوم الخادم بالإستماع إلى المنفذ 8088. قم بحذف هذا المستمع عن طريق الضغط على زر الحذف كما هو موضح في الصورة التالية:
بعد الخذف، يمكننا الآن إضافة مستمع جديد من خلال الضغط على زر الإضافة كما هو موضح في الصورة التالية:
هنا، يجب علينا ضبط بعض الامور بشكل ملائم ليعمل الخادم بشكل صحيح. لاحظ، في حال ضبط أي مستمع بشكل غير صحيح، خادم الويب سوف يتوقف عن العمل، ولكن لوحة تحكم الإدارة ستعمل بشكل سليم.
في الصورة في الأعلى هناك عدد من الأمور الواجب ضبطها كالتالي:
- إسم المستمع. بما أن هذا المستمع يعمل على عنوان IPv4، قررت أن أعطيه الأسم IPv4.
- في خانة IP Address قمت بإختيار ANY IPv4. هذا يجبر الخادم على الإستماع إالى أي عنوان داخلي أو خارجي من نوع IPv4.
- في خانة Port، يجب إختيار المنفذ رقم 80 للإتصالات الغير مشفرة، و منفذ رقم 443 للإتصالات المشفرة.
- في خانة Secure يجب إختيار Yes في حال كان منفذ 443، واختيار No في حال كان منفذ 80.
عند الإنتهاء من الضبط، يجب أن تكون الإعدادات لديك كما هو الصورة التالية:
ضبط الموقع الإفتراضي
الى الآن، الخادم لن يقوم بالرد على أي طلب. كل طلب لعنوان الخادم سوف يعطي خطأ 404. لذلك، يجب أن نقوم بضبط موقع إفتراضي للإستماع اليه. في الخادم، هناك موقع إفتراضي محدد مسبقا وسوف نقوم بإستخدامه مؤقتا الى أن نتم إعداد الخادم.
في الشريط الجانبي، قم بالضغط على Listeners ومن ثم قم بتحرير جميع الـ Listeners من خلال الضغط على أيقونة التحرير بجانب كل مستمع.
بعد الدخول الى إعدادات المستمع كما هو موضح في الصورة التالية:
قم بإضافة موقع من خلال الضغط على زر الإضافة كما هو موضح في الصورة التالية:
قم بإختيار المضيف “Host” الوحيد في القائمة والذي يحمل الإسم Example ومن ثم قم بوضع رابط الخادم في خانة Domains:
عند الإنتهاء، قم بالضغط على أيقونة الحفظ، ومن ثم قم بتكرار هذه الخطوة لجميع المستمعين لديك.
بعد ذلك، قم بإعادة تشغيل الخادم كما هو موضح في الصور التالية ليتم تطبيق الإعدادات:
حتى هذه اللحظة، الخادم سيقوم بالرد على طلب موقع واحد فقط وهو الموقع الذي قمت بتحديده في المستمع. هي هذه اللحظة أيضا، الخادم قادر على توفير الرد من خلال المنفذ 80 حيث أن لدينا خلل في منفذ 443 وتم إيقافة بشكل تلقائي لتلافي فشل الخادم.
تثبيت Let’s Encrypt
على الرغم من وجود بعض الطرق لتثبيت Let’s Encrypt على الخادم، إلا أن الطريقة الوحيدة المدعومة بشكل رسمي حاليا هي من خلال متجر Snap وهو ما سنقوم بتثبيته على الخادم.
تثبيت Snap على خادم Centos 8
يتم التثبيت من خلال الأمر التالي:
dnf install snapd
بعد الانتهاء من التثبيت، عليك تفعيل snap، ومن ثم تحديث النواة الخاصة به، وتثبيت برنامج certbot وهو البرنامج الذي يقوم بعمل الشهادات. التثبيت يتم من خلال الأوامر التالية:
systemctl enable --now snapd.socketln -s /var/lib/snapd/snap /snapsnap install core; snap refresh coresnap install --classic certbotln -s /snap/bin/certbot /usr/bin/certbot
بعد الانتهاء من السابق، يمكننا الآن وأخيرا طلب إصدار شهادة SSL للخادم. هذه الشهادة ستقوم بتامين الاتصالات مع الخادم، ومن خلالها يمكن تفعيل اتصال آمن مع لوحة التحكم، وتفعيل مستمع الاتصالات الآمنة على المنفذ 443.
لإصدار شهادة جديدة، يجب عليك تنفيذ الامر التالي:
certbot certonly --webroot -d new.linuxarabia.co
تفاصيل الأمر:
الأمر certbot هو البرنامج الذي يقوم بعمل الشهادات.
الأمر certonly يعني أننا نحتاج شهادة فقط. البرنامج قادر على تثبيت الشهادة بشكل تلقائي في حال كان لديك خادم Apache أو Nginx.
الامر –webroot يعني بأننا سوف نقوم بتوفير مسار صحيح للموقع عند طلبه منا لاحقا.
الأمر -d متبوعا بالنطاق الخاص بنا، يعني أننا نحتاج الشهادة للنطاق المحدد في الأمر.
عند تشغيل الأمر لأول مره، سيطلب منك عنوان بريدك الإلكتروني، وسيطلب منك الموافقة على شروط الخدمة، والموافقة على تلقي بريد منهم. الطلب الاخير هو إختياري، عدا ذلك عليك ملئ بريد إلكتروني صحيح والموافقة على شروط الخدمة.
بعد الموافقة، سيطلب منك مسار الموقع، وهنا عليك إدخال المسار الإفتراضي للخادم:
/usr/local/lsws/Example/html
في حال نجحت، سوف تحصل على الشهادة والمفتاح الخاص بها كما في الصورة التالية:
تثبيت شهادة SSL على المنافذ الآمنة في الخادم
بعد ان حصلنا على الشهادة، سوف نقوم بتثبيتها على الخادم وهي ستكون الشهادة الإفتراضية لكل موقع ليس له شهادة، وستكون الإفتراضية لتأمين الإتصالات مع لوحة تحكم الخادم.
تثبيت الشهادة على المستمع الأساسي لخادم
بعد الدخول إلى لوحة تحكم الخادم، توجه إلى Listeners ومن ثم قد بتحرير الإتصال الآمن الخاص بعنوان IPv4 و IPv6 ومن ثم توجه الى قسم SSL.
قم يتحرير الصفحة وضبطها كما في الصورة السابقة، وهذا تفصيل لما ورد فيها:
1- هنا تضع رابط مفتاح الشهادة على الخادم كما ظهر لك في الطرفية. الرابط سيكون مشابه لما يلي مع التأكد أن في نهاية الرابط سيكون موجود لديك الكلمة “privkey.pem”
/etc/letsencrypt/live/new.linuxarabia.co/privkey.pem
2- هنا تضع رابط الشهادة على الخادم كما ظهر لك في الطرفية. الرابط سيكون مشابه لما يلي مع التأكد أن في نهاية الرابط سيكون موجود لديك الكلمة “fullchain.pem”
/etc/letsencrypt/live/new.linuxarabia.co/fullchain.pem
3- قم بضبط الشهادة على أنها Chained.
4- قم بضبط بروتوكولات الإتصالات على TLSv1.2 فما فوق. النسخة الأقل في الرقم تعتببر أقل أمانا.
5- قم بتفعيل الحماية ضد “إعادة التفاوض” للحماية من هذا النوع من الهجمات.
6- قم بتفعيل نظام الهويّات المؤقتة لإتصالات SSL وذلك لتخفيف الحمل على الخادم في حال كان لديك عدد كبير من المستخدمين (يجب تفعيل الإختيار أيضا في إعدادات SSL الخاصة بالخادم).
7- تفعيل تذاكر الإتصال من خلال مكتبة OpenSSL (يجب تفعيل الإختيار أيضا في إعدادات SSL الخاصة بالخادم).
8- ضبط البروتوكولات الفعالة في الخادم، أنا أُفضّل HTTP2 و HTTP3 فقط.
9- لا يوجد سهم للتأشير عليه في الصورة. من المفضل تفعيل إختيار “Open HTTP3/QUIC (UDP) Port” وهو يسمح بتنزيل المحتوى عبر UDP مما يوفر سرعة عالية جدا في تنزيل محتوى الموقع.
تثبيت الشهادة على مستمع لوحة التحكم
بعد الإنتهاء من تثبيت الشهادة على المستمع الأساسي، يمكنك الضغط على WebAdmin Settings ومن بعدها الضغط على Listeners وبعدها على زر تحرير المستمع:
ومن ثم يمكنك ضبط الإعدادات كما فعلنا في القسم السابق:
الآن نقوم بالحفظ، ومن ثم إعادة تشغيل خادم ويب كما في المرة السابقة، وبعدها نتوجه الى Dashboard للتأكد من أن الخادم يعمل بشكل صحيح كما في الصورة التالي:
يجب أن ترى أن جميع المستمعين باللون الأخضر. في حال كان هناك شيء باللون الأحمر، قم بالعودة إلى الخطوات السابقة وتأكد من أنك لم تقم بتغيير شيء الى قيمة غير صحيحة.
إلى هنا نكون قد إنهينا الضبط الأولي للخادم وهو الآن قادر على تقديم الردود على الإتصالات الواردة سواء من المنافذ العادية، أو الآمنة، ومع تفعيل بروتوكول QUIC القادر على نقل الموارد الى المستخدمين عبر UDP لتوفير أقصى قدر ممكن من السرعة في الإتصال.