ما هي حزمة LAMP؟
حزمة LAMP هي المنصّة المفتوحة المصدر الكلاسيكية لتشغيل المواقع والتطبيقات الديناميكية على الويب. ويرمز الاسم المختصر إلى أربع طبقات تعمل معًا:
- Linux — نظام التشغيل (أوبونتو في هذا الدليل)
- Apache — خادم الويب الذي يعالج طلبات HTTP
- MySQL — قاعدة البيانات العلائقية التي تخزّن بياناتك
- PHP — اللغة التي تولّد الصفحات الديناميكية
يرشدك هذا الشرح خطوة بخطوة إلى تثبيت مُحصَّن وكامل على أوبونتو 24.04 LTS (وتنطبق الخطوات أيضًا بسلاسة على إصدار 22.04 LTS وعلى الإصدار الأحدث 26.04 LTS). وبنهاية الدليل سيكون لديك خادم ويب فعّال مع مضيف افتراضي مُختبَر، وقاعدة بيانات مؤمَّنة، وPHP يعالج الصفحات.
إذا كنت تشغّل هذا على خادم VPS أو سحابي داخل المملكة، فإن إبقاء بياناتك داخل المملكة يساعد على الالتزام بمتطلبات إقامة البيانات في نظام حماية البيانات الشخصية (PDPL) مع تقديم زمن استجابة منخفض للمستخدمين في الرياض وجدة والدمام.
المتطلبات المسبقة
- خادم بنظام أوبونتو 24.04 (ويعمل خادم VPS من Skyline Cloud جيدًا لهذا الغرض).
- مستخدم غير الجذر (root) يملك صلاحيات
sudo. - وصول SSH إلى الخادم.
ابدأ بتحديث فهرس الحزم:
sudo apt update
sudo apt upgrade -y
الخطوة 1 — تثبيت أباتشي وضبط الجدار الناري
ثبّت خادم الويب أباتشي:
sudo apt install apache2 -y
يأتي أوبونتو مزوَّدًا بالجدار الناري UFW، ويسجّل أباتشي ملفات تطبيقاته فيه عند التثبيت. اعرضها:
sudo ufw app list
ستظهر لك Apache وApache Full وApache Secure. اسمح بـ Apache Full لفتح منفذي HTTP (80) وHTTPS (443) معًا. وإذا لم يكن UFW مفعّلًا بعد، فاسمح بـ SSH أولًا حتى لا تحبس نفسك خارج الخادم:
sudo ufw allow OpenSSH
sudo ufw allow 'Apache Full'
sudo ufw enable
تأكّد من أن أباتشي يعمل:
sudo systemctl status apache2
ثم افتح http://your_server_ip في المتصفح. من المفترض أن تظهر لك صفحة أباتشي الافتراضية.
الخطوة 2 — تثبيت MySQL وتأمينه
ثبّت خادم قاعدة بيانات MySQL:
sudo apt install mysql-server -y
تبدأ الخدمة تلقائيًا. بعد ذلك، شغّل سكربت التحصين المدمج الذي يزيل الإعدادات الافتراضية غير الآمنة:
sudo mysql_secure_installation
يطلب منك السكربت ما يلي:
- تفعيل مكوّن VALIDATE PASSWORD اختياريًا (اختر مستوى السياسة إن أردت فرض تعقيد كلمات المرور).
- إزالة المستخدمين المجهولين — أجب بـ Y.
- منع تسجيل دخول الجذر عن بُعد — أجب بـ Y.
- إزالة قاعدة بيانات الاختبار — أجب بـ Y.
- إعادة تحميل جداول الصلاحيات — أجب بـ Y.
في التثبيت الجديد يستخدم حساب الجذر آلية auth_socket، لذا تسجّل الدخول من الطرفية دون كلمة مرور:
sudo mysql
أمّا للتطبيقات، فلا تستخدم حساب الجذر مطلقًا. أنشئ بدلًا من ذلك مستخدمًا وقاعدة بيانات مخصّصين:
CREATE DATABASE app_db;
CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'a_strong_password';
GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
الخطوة 3 — تثبيت PHP
ثبّت PHP ووحدة PHP الخاصة بأباتشي وموصِّل MySQL:
sudo apt install php libapache2-mod-php php-mysql -y
تحتاج معظم التطبيقات أيضًا إلى بعض الامتدادات الشائعة:
sudo apt install php-cli php-curl php-gd php-mbstring php-xml php-zip -y
تحقّق من الإصدار المُثبَّت:
php -v
الخطوة 4 — اجعل أباتشي يفضّل ملفات PHP
افتراضيًا يقدّم أباتشي ملف index.html قبل index.php. ولكي تعمل تطبيقات PHP كما هو متوقّع، ارفع أولوية index.php. افتح ملف إعداد فهرس المجلد:
sudo nano /etc/apache2/mods-enabled/dir.conf
انقل index.php إلى مقدّمة القائمة:
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
احفظ الملف، ثم أعد تحميل أباتشي:
sudo systemctl reload apache2
الخطوة 5 — إنشاء مضيف افتراضي
تتيح المضيفات الافتراضية لخادم واحد استضافة عدة مواقع. أنشئ جذر مستندات وملف إعداد لنطاقك (استبدل example.com):
sudo mkdir -p /var/www/example.com
sudo chown -R $USER:$USER /var/www/example.com
sudo nano /etc/apache2/sites-available/example.com.conf
أضف ما يلي:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
ServerAdmin webmaster@example.com
DocumentRoot /var/www/example.com
ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>
فعّل موقعك، وعطّل الموقع الافتراضي، ثم أعد التحميل:
sudo a2ensite example.com.conf
sudo a2dissite 000-default.conf
sudo systemctl reload apache2
وإذا كنت تنوي استخدام الروابط النظيفة (وهي شائعة في ووردبريس ولارافيل)، فعّل وحدة إعادة الكتابة:
sudo a2enmod rewrite
sudo systemctl restart apache2
الخطوة 6 — اختبار معالجة PHP
أنشئ ملف اختبار في جذر مستنداتك:
nano /var/www/example.com/info.php
أضف:
<?php
phpinfo();
افتح http://example.com/info.php (أو عنوان IP الخاص بخادمك). من المفترض أن تظهر لك صفحة معلومات PHP، ما يؤكّد أن أباتشي يسلّم ملفات .php إلى PHP. احذف هذا الملف فورًا بعد ذلك لأنه يكشف تفاصيل الخادم:
rm /var/www/example.com/info.php
مرجع سريع للأوامر
| المهمة | الأمر |
|---|---|
| إعادة تشغيل أباتشي | sudo systemctl restart apache2 |
| إعادة تحميل إعدادات أباتشي | sudo systemctl reload apache2 |
| فحص صحة صياغة إعدادات أباتشي | sudo apache2ctl configtest |
| إعادة تشغيل MySQL | sudo systemctl restart mysql |
| تسجيل الدخول إلى MySQL | sudo mysql |
| عرض سجل أخطاء أباتشي | sudo tail -f /var/log/apache2/error.log |
الخطوات التالية
أصبح خادم LAMP لديك جاهزًا. وإليك التوصيات اللاحقة:
- أضف HTTPS. أصدِر شهادة Let's Encrypt المجانية باستخدام Certbot، أو استخدم خيار SSL مُدارًا حتى تكون حركة المرور مُشفَّرة.
- اربط نطاقًا. اربط نطاق
.saأو غيره عبر DNS المُدار حتى يصل المستخدمون إلى موقعك بالاسم. - جهّز البريد الإلكتروني للأعمال. اقرن موقعك بـ استضافة بريد إلكتروني موثوقة للأعمال على نطاقك الخاص.
- جدوِل النسخ الاحتياطية. أتمت النسخ الاحتياطي السحابي لمجلد
/var/wwwوتصدير قواعد البيانات دوريًا عبرmysqldump.
هل تريد خادمًا بهذه الحزمة جاهزًا للعمل، مع إقامة بيانات داخل المملكة ودعم عربي محلي؟ سجّل في Skyline Cloud وأطلِق خادم VPS الخاص بك خلال دقائق.
Comments
0 total · 0 threads