تثبيت وإعداد تطبيقات LAMP على أوبنتو: دليل شامل ومفصل
مقدمة
يُعتبر مكدس LAMP أحد أكثر بيئات الخوادم شيوعاً واستخداماً في تطوير ونشر تطبيقات الويب. يتكون هذا المكدس من أربع مكونات رئيسية: Linux كنظام تشغيل، Apache كخادم ويب، MySQL/MariaDB كنظام إدارة قواعد بيانات، وPHP كلغة برمجة من جهة الخادم. يمثّل تثبيت مكدس LAMP على توزيعة أوبنتو خياراً مثالياً لمطوري الويب الذين يبحثون عن بيئة مرنة، مفتوحة المصدر، وقابلة للتخصيص بدرجة عالية. في هذا المقال، سيتم تناول خطوات التثبيت والإعداد بشكل مفصل، إلى جانب ضبط الإعدادات الأساسية، وضمان أمان الخادم، وتحسين الأداء، وتثبيت تطبيقات LAMP الشهيرة.
المتطلبات الأساسية
قبل البدء، يُفضل توفر الشروط التالية على جهاز أوبنتو:
-
إصدار حديث من نظام Ubuntu (يفضل Ubuntu 20.04 LTS أو أحدث)
-
امتلاك صلاحيات الجذر (sudo)
-
اتصال بالإنترنت لتحديث الحزم وتنزيل التبعيات
الخطوة الأولى: تحديث النظام
ينبغي تحديث مستودعات الحزم على أوبنتو قبل تثبيت أي مكونات جديدة لضمان الحصول على الإصدارات الأخيرة المستقرة:
bashsudo apt update && sudo apt upgrade -y
الخطوة الثانية: تثبيت Apache
Apache هو خادم ويب مفتوح المصدر واسع الاستخدام يدعم بروتوكولات HTTP وHTTPS ويتميز بالمرونة من خلال الوحدات (Modules).
تثبيت Apache:
bashsudo apt install apache2 -y
التحقق من حالة Apache:
bashsudo systemctl status apache2
إذا كان الخادم يعمل بنجاح، يمكن فتح المتصفح والانتقال إلى العنوان http://localhost حيث ستظهر صفحة “Apache2 Ubuntu Default Page”.
الخطوة الثالثة: إعداد جدار الحماية UFW
ينبغي السماح بحركة مرور الويب إلى خادم Apache:
bashsudo ufw allow in "Apache Full"
sudo ufw enable
sudo ufw status
الخطوة الرابعة: تثبيت MySQL أو MariaDB
MySQL هو نظام إدارة قواعد بيانات شهير يُستخدم لتخزين وإدارة البيانات الخاصة بالتطبيقات. MariaDB يُعد بديلاً متوافقاً مع MySQL وذو أداء محسّن.
تثبيت MySQL:
bashsudo apt install mysql-server -y
تأمين التثبيت:
bashsudo mysql_secure_installation
أثناء تنفيذ هذه الأداة، سيتم مطالبتك بإعداد كلمة مرور للمستخدم الجذر، وإزالة المستخدمين الافتراضيين، وتعطيل تسجيل الدخول من بعد.
التحقق من تشغيل الخدمة:
bashsudo systemctl status mysql
الخطوة الخامسة: تثبيت PHP
PHP هي لغة البرمجة المستخدمة لتوليد صفحات الويب الديناميكية، وتتكامل بسلاسة مع Apache وMySQL.
تثبيت PHP مع وحدات إضافية:
bashsudo apt install php libapache2-mod-php php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip -y
التحقق من الإصدار:
bashphp -v
الخطوة السادسة: اختبار بيئة PHP
للتأكد من أن PHP يعمل بشكل صحيح مع Apache، يمكن إنشاء ملف PHP داخل مجلد الجذر /var/www/html:
bashecho "" | sudo tee /var/www/html/info.php
بعدها يتم زيارة الرابط http://localhost/info.php وستظهر صفحة تحتوي على معلومات مفصلة حول إعدادات PHP الحالية.
الخطوة السابعة: إعداد صلاحيات الملفات
من الأفضل ضبط صلاحيات المجلد الجذري لتكون متوافقة مع المستخدم الفعلي الذي يدير التطبيقات:
bashsudo chown -R $USER:www-data /var/www/html
sudo chmod -R 755 /var/www/html
الخطوة الثامنة: إعدادات افتراضية للمواقع (Virtual Hosts)
لإعداد مواقع متعددة أو عزل التطبيقات المختلفة ضمن نفس الخادم، يمكن استخدام ملفات Virtual Hosts:
إنشاء مجلد خاص بالموقع:
bashsudo mkdir -p /var/www/example.com/public_html
إنشاء ملف الإعدادات:
bashsudo nano /etc/apache2/sites-available/example.com.conf
وإضافة الإعداد التالي:
apacheServerAdmin [email protected] ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined
تفعيل الموقع:
bashsudo a2ensite example.com.conf sudo systemctl reload apache2
الخطوة التاسعة: استخدام phpMyAdmin لإدارة قواعد البيانات
phpMyAdmin هي واجهة ويب رسومية تسهّل إدارة قواعد بيانات MySQL.
التثبيت:
bashsudo apt install phpmyadmin -y
خلال التثبيت، يجب اختيار Apache كخادم ويب، ثم إعداد كلمة مرور المستخدم root.
دمج phpMyAdmin مع Apache:
bashsudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
ثم يمكن الوصول إلى واجهة phpMyAdmin من خلال http://localhost/phpmyadmin.
الخطوة العاشرة: تحسين الأداء والأمان
استخدام التخزين المؤقت (OPcache):
bashsudo apt install php-opcache -y
تقوية إعدادات Apache:
-
تعطيل Directory Listing
-
تقليل الوحدات غير المستخدمة
-
تفعيل ضغط GZIP
تأمين MySQL:
-
استخدام كلمات مرور قوية
-
إنشاء مستخدمين بامتيازات محددة
-
إجراء نسخ احتياطي دوري
استخدام HTTPS:
يمكن استخدام Let’s Encrypt لإصدار شهادات SSL مجانية:
bashsudo apt install certbot python3-certbot-apache -y sudo certbot --apache
الخطوة الحادية عشر: تثبيت تطبيقات LAMP الشائعة
تثبيت WordPress:
-
تحميل WordPress:
bashwget https://wordpress.org/latest.tar.gz
tar -xvzf latest.tar.gz
sudo mv wordpress /var/www/html/wordpress
-
إعداد قاعدة البيانات:
bashsudo mysql -u root -p
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost' IDENTIFIED BY 'strongpassword';
FLUSH PRIVILEGES;
EXIT;
-
إعداد ملف
wp-config.phpوربط القاعدة.
جدول: مقارنة بين MySQL و MariaDB ضمن بيئة LAMP
| الخاصية | MySQL | MariaDB |
|---|---|---|
| الأداء | جيد | محسّن في العمليات الكبيرة |
| التوافق | عالي مع تطبيقات LAMP | متوافق تمامًا مع MySQL |
| الرخصة | تجارية (بعض النسخ) | مفتوحة المصدر بالكامل |
| دعم JSON | مدعوم | مدعوم مع أداء أفضل |
| أدوات الإدارة | MySQL Workbench | HeidiSQL, phpMyAdmin |
الخلاصة
يمثل مكدس LAMP خيارًا قويًا ومرنًا لتطوير وتشغيل تطبيقات الويب على أوبنتو، حيث يجمع بين الموثوقية والأداء العالي وسهولة الإدارة. باتباع الخطوات المفصلة لتثبيت وإعداد المكونات الرئيسية مثل Apache، MySQL، وPHP، يمكن للمطورين إنشاء بيئة متكاملة لإطلاق المشاريع الصغيرة والمتوسطة وحتى الكبيرة. كما أن استخدام أدوات إضافية مثل phpMyAdmin وشهادات SSL المجانية يسهم في تسهيل الإدارة وتعزيز الأمان.
المراجع:
-
Ubuntu Official Documentation: https://ubuntu.com/server/docs
-
DigitalOcean LAMP Stack Guide: https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-ubuntu

