بسم لله الرحمن الرحيم
الحمدلله رب العالمين، و الصلاة و السلام على سيد المرسلين ، سيدنا محمد عليه أفضل الصلاة و أتم التسليم ثم أما بعد…
كما ذكرت لكم في موضوع سابق عن أشكال الخوادم فأنني أود مشاركتكم كيفية إنشاء خادم ويب على فويد لينكس، كما ذكرنا فإن أي حاسوب من الممكن أن يكون خادم، صحيح أن توزيعة فويد لينكس متدحرجة ولكنها أكثر إستقراراً من توزيعات متدحرجة الأخرى التي لا أود الإشارة لها في هذا الموضوع، كما في الموقع الرسمي لفويد لينكس
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) لكنه يحتوي على تفاصيل تخص فويد لينكس فقط، أرجو من الله دوام التوفيق لي ولكم و لكم جزيل الشكر والعرفان.