تثبيت خادم الويب (Lamp) على فويد لينكس - Voidlinux Lamp لـ PHP

بسم لله الرحمن الرحيم

الحمدلله رب العالمين، و الصلاة و السلام على سيد المرسلين ، سيدنا محمد عليه أفضل الصلاة و أتم التسليم ثم أما بعد…

كما ذكرت لكم في موضوع سابق عن أشكال الخوادم فأنني أود مشاركتكم كيفية إنشاء خادم ويب على فويد لينكس، كما ذكرنا فإن أي حاسوب من الممكن أن يكون خادم، صحيح أن توزيعة فويد لينكس متدحرجة ولكنها أكثر إستقراراً من توزيعات متدحرجة الأخرى التي لا أود الإشارة لها في هذا الموضوع، كما في الموقع الرسمي لفويد لينكس

Void focuses on stability, rather than on being bleeding-edge. Install once, update routinely and safely.

تمهيد
ماهو Lamp ؟ لامب أو ما يكتب بالإنجليزية Lamp اختصاراً لأربع كلمات:

1- Linux
2- Apache
3- MariaDB أو MySQL
4- PHP أو Perl أو Python

فهذا يعني خادم ويب بالإضافة إلى خادم أباتشي و برنامج قاعدة بيانات ثم اللغة المستخدمة على الخادم.

تثبيت خادم ويب PHP

إذا كنت مطور PHP و أردت انشاء خادم ويب يصلح للبيئة PHP اتبع الخطوات التالية:

الحزم الأساسية لتثبيت Lamp PHP على فويد لينكس

sudo xbps-install apache php-apache php-intl mariadb phpMyAdmin

شغل خدمات Apache و MariaDB على الخادم:

sudo ln -s /etc/sv/apache /var/service/apache
sudo ln -s /etc/sv/mysqld /var/service/mysqld

وبعدها

sudo sv start apache

معلومة مهمة/ صحيح إسم الخادم الخاص بقواعد البيانات اسمه mysqld ولكنه ليس MySQL وإنما هو MariaDB. و فويد لينكس لا يحوي على خادم MySQL

أغلب التوزيعات وخصوصاً المبنية على دبيان تستخدم المسار /var/www/html/ ولكن على فويد مسار الخادم الويب الذي سيكون عليه ملفاتك هو /srv/www/apache

لمنح إمكانية الوصول للمستخدم لإمكانية الكتابة في مجلد خادم الويب :

sudo usermod -a -G _apache `whoami`
sudo chmod -R g+w /srv/www/apache

ملاحظة/ لن تتمكن من الكتابة على المجلد إلا بعد الخروج (Logout) والولوج إلى النظام مرة أخرى لتفعيل صلاحيات المجموعة على المستخدم، أو يمكن من خلال استخدام الأمر التالي أو عن طريق الجذر:

su - username

username هو إسم المستخدم على النظام

تشغيل PHP

ستجد أن أباتشي لا يقوم بتشغيل ملفات PHP و ذلك بسبب انت بحاجة إلى تعديل إعدادات ملف أباتشي httpd.conf عن طريق محرر النصوص وليكن vim

sudo vim /etc/apache/httpd.conf

إذا كنت لا تستخدم WebSocket و PHP-FPM على الخادم يستحسن وضع علامة # أمام سطر mod_mpm_event لإلغائه هكذا:

#LoadModule mpm_event_module modules/mod_mpm_event.so

وفعل المُديول البديل بحذف # أمامه:

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

ثم فعل الـ PHP في ذات الملف بوضع المُديول أسفل المُديول الأخرى /etc/apache/httpd.conf:

LoadModule php_module /usr/libexec/httpd/modules/libphp.so
AddHandler php-script .php

ثم ضع في آخر سطر في الملف:

Include /etc/apache/extra/php_module.conf

ملاحظة/ بعض المواضيع المتشابهة على الإنترنت تضع رقم الإصدار في كتابة الموديول مثل php8.3_module و php8.3-script ولكن هذا لا يهم دام أننا سنستخدم ذات الإصدار على الخادم.

إحفظ الإعدادات :wq ثم أعد تشغيل أباتشي

sudo sv restart apache

إذا كنت تستخدم ملف CakePHP ما عليك سوى اتباع الخطوات التالية:

sudo vim /etc/php8.3/php.ini

ملاحظة/ مجلد php8.3 يحتوي على رقم الإصدار PHP لذلك قد يتغير حسب الإصدار الذي لديك.

ثم أبعد علامة; لتفعيل الخواص التالية

extension=intl 
extension=pdo_mysql 
extension=sockets 

ثم أسفل [intl] أضف:

intl.default_locale = en_utf8
intl.error_level = E_WARNING

ثم فعل المٌديول في الملف الأباتشي rewrite

sudo vim /etc/apache/httpd.conf

احذف # للتفعيل للسطر:

LoadModule rewrite_module modules/mod_rewrite.so

ثم اذهب إلى الوسم :

<Directory "/srv/www/apache">

اجعل السطر التالي:

AllowOverride None

إلى:

AllowOverride All

ثم أعد تشغيل أباتشي:

sudo sv restart apache

أما إذا كنت تعمل على PHP Laravel

فعل المٌديول في الملف أباتشي rewrite فقط

sudo vim /etc/apache/httpd.conf

احذف # للتفعيل للسطر:

LoadModule rewrite_module modules/mod_rewrite.so

ثم اذهب إلى الوسم :

<Directory "/srv/www/apache">

اجعل السطر التالي:

AllowOverride None

إلى:

AllowOverride All

ثم أعد تشغيل أباتشي:

sudo sv restart apache

لتفعيل phpMyAdmin فعل mysqli من الأمر

sudo vim /etc/php8.3/php.ini

أزح ; من أمام السطر للتفعيل

extension=mysqli

ثم أنشئ الملف

sudo nano /etc/apache/extra/phpmyadmin.conf

ثم اكتب السطور التالية

Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
<Directory "/usr/share/webapps/phpMyAdmin">
    DirectoryIndex index.php
    AllowOverride All
    Options FollowSymlinks
    Require all granted
</Directory>

أضف في أخر سطر في الملف /etc/apache/httpd.conf:

#... phpMyAdmin configuration
Include /etc/apache/extra/phpmyadmin.conf

لا تنسى تحميل حزمة php-mysql لعمل phpMyAdmin بطريقة ناعمة ويسيره

sudo xbps-install php-mysql
sudo sv restart apache mysqld

ختاماً
قد يكون الموضوع مشابه لموضوع ( شرح تركيب Apache, MySQL, PHP على السيرفر LAMP) لكنه يحتوي على تفاصيل تخص فويد لينكس فقط، أرجو من الله دوام التوفيق لي ولكم و لكم جزيل الشكر والعرفان.

إعجاب واحد (1)