إذا كنت تبحث عن خادم ويب آمن وسريع ومرن بأداء عالٍ ويستخدم الحد الأدنى من موارد النظام (الذاكرة ووحدة المعالجة المركزية) يتطلب موارد أقل بكثير من Apache , ، سيكون lighttpd (lighty) ما تبحث عنه في الغالب .
Lighttpd هو برنامج خادم ويب مجاني مفتوح المصدر يتمتع ويدعم العديد من المزايا على سبيل المثال لا الحصر (FastCGI و CGI و Auth و Output-Compression و URL-Rewriting وغيرها). هذا يجعل Lighttpd أحد المرشحين الجادين للنظر فيه عندما يتعلق الأمر باختيار خادم الويب وأغراض استضافة الويب.تم تصميم Lighthttpd وفق نموذج معالجة الطلب غير المتزامن ،يشبه Nginx في هذه النقطة. ولكن هناك مشكلة واحدة – يعمل Lighthttpd مع نواة معالجه واحدة ، هذا يعني: إذا كان لديك جهاز أكثر قدرة ، فسوف يتجاهل نوى وحدة المعالجة المركزية الأخرى.
كونه يتطلب موارد أقل بكثير من Apache، يجعله مناسب بشكل خاص للأحمال الكبيرة جدًا أو الأنظمة الضعيفة جدًا. تم تطويره بواسطة Jan Kneschke ويمكن توسيعه بوحدات FastCGI، على سبيل المثال، تم تحسين بنية Lighttpd للتعامل مع حجم كبير من الاتصالات المتوازية التي تعتبر ضرورية لتطبيقات الويب عالية الأداء. ويدعم خادم الويب FastCGI و CGI و SCGI لربط البرامج بخادم الويب. كما أنه يدعم تطبيقات الويب المكتوبة بعدد لا يحصى من لغات البرمجة مع إيلاء اهتمام خاص لـ PHP و Python و Perl و Ruby.
تثبيت Lighttpd Web Server على Ubuntu 22.04 مع PHP
المتطلبات :
- حاسب مجهز بنظام Ubuntu 22.04.
- ذاكرة بحجم 1G على الاقل.
- صلاحيات المدير والمستخدم sudo .
- 2 CPU core.
- 40 GB of storage.
تأكد من أن جميع حزم النظام لديك محدثة عن طريق تشغيل أوامر apt التالية في الجهاز:
sudo apt update && sudo apt upgrade -y
بشكل افتراضي ، يتوفر Lighttpd في مستودعات Ubuntu. لتثبيت خادم الويب Lighttpd ، قم بتشغيل الأمر التالي:
sudo apt install lighttpd
لنتاكد من التثبيت ورقم اصدار Lighttpd.
lighttpd -version
الآن ،لنقم بتمكين الخدمة عند بدء تشغيل النظام تلقائيًا :
sudo systemctl start lighttpd sudo systemctl enable lighttpd
من ثم لنقم بفحص حالة lighttpd :
systemctl status lighttpd
التعامل مع الوحدات:
لتمكين وحدة من سطر الأوامر، أدخل الأمر أدناه متبوعًا باسم الوحدة. على سبيل المثال، لتمكين rewrite، استخدم الأمر:
sudo lighttpd-enable-mode rewrite
لتمكين CGI مثلا استخدم الامر التالي:
sudo lighty-enable-mod cgi
تمكين المحتوى الديناميكي
لا يقدم خادم Lighttpd دعمًا افتراضيًا للمحتوى الديناميكي المكتوب عبر PHP أو Ruby أو Python أو أي لغات أخرى مدعومة. إذ نحتاج إلى السماح للخادم بتنفيذ البرامج النصية عن طريق تمكين وحدة FastCGI لحل هذه المشكلة. سنوضح كيفية تمكين دعم PHP بالسرد التالي:
بداية سنقوم بتثبيت PHP بكل امتداداته. لنقم بتثبيت إصدار PHP الافتراضي المتاح في مستودعات Ubuntu:
sudo apt install php php-cgi php-cli php-fpm php-curl php-gd php-mysql php-mbstring zip unzip
بعد انتهاء التحميل والتثبيت , يمكن اختبار رقم اصدار php بالامر التالي:
php --version
بعد ذلك، سنقوم بتمكين وحدة fastCGI على خادم Lighttpd:
sudo lighttpd-enable-mod fastcgi sudo lighttpd-enable-mod fastcgi-php
سنقوم بتحرير ملف تكوين PHP وتحديد المنفذ 9001 :
sudo nano /etc/php/8.1.2/fpm/pool.d/www.conf
نبحث عن السطر التالي:
listen = /run/php/php8.1.2-fpm.sock
نغيرة الى listen = 127.0.0.1:9001، وبعد حفظ التغيرات، نعيد تشغيل خدمة fmp على النحو التالي:
sudo service php8.1.2-fpm restart
الخطوة التالية هي تحرير ملف تكوين FastCGI:
sudo nano /etc/lighttpd/conf-enabled/15-fastcgi-php.conf
ابحث عن السطرين التاليين:
"bin-path" => "/usr/bin/php-cgi", "socket" => "/var/run/lighttpd/php.socket"
استبدلهما بالتالي:
"host" => "127.0.0.1", "port" => "9001"
بعد حفظ التغيرات قم بإعادة تشغيل خدمة fpm:
sudo service lighttpd restart sudo service php8.1.2-fpm restart
يمكن لـ lighttpd الآن التعامل مع المحتوى الديناميكي الخاص بـ Php.
على سبيل المثال لنقم بتفعيل CGI:
CGI عبارة عن واجهة بين خادم الويب ونظام التشغيل ،لتنفيذ نصوص Perl عبر خادم الويب على سبيل المثال ،يمكن إنشاء المحتوى الديناميكي بهذه الطريقة. لذلك ، يمكن تفعيل CGI عبر هذا الأمر:
sudo lighty-enable-mod cgi
إلغاء تثبيت / إزالة حزمة lighttpd
لإلغاء تثبيت حزمة lighttpd استخدم الأوامر التالية:
sudo apt remove lighttpd sudo apt autoclean && sudo apt autoremove