ديف أوبس

تثبيت تطبيقات LAMP على أوبنتو

تثبيت وإعداد تطبيقات LAMP على أوبنتو: دليل شامل ومفصل

مقدمة

يُعتبر مكدس LAMP أحد أكثر بيئات الخوادم شيوعاً واستخداماً في تطوير ونشر تطبيقات الويب. يتكون هذا المكدس من أربع مكونات رئيسية: Linux كنظام تشغيل، Apache كخادم ويب، MySQL/MariaDB كنظام إدارة قواعد بيانات، وPHP كلغة برمجة من جهة الخادم. يمثّل تثبيت مكدس LAMP على توزيعة أوبنتو خياراً مثالياً لمطوري الويب الذين يبحثون عن بيئة مرنة، مفتوحة المصدر، وقابلة للتخصيص بدرجة عالية. في هذا المقال، سيتم تناول خطوات التثبيت والإعداد بشكل مفصل، إلى جانب ضبط الإعدادات الأساسية، وضمان أمان الخادم، وتحسين الأداء، وتثبيت تطبيقات LAMP الشهيرة.


المتطلبات الأساسية

قبل البدء، يُفضل توفر الشروط التالية على جهاز أوبنتو:

  • إصدار حديث من نظام Ubuntu (يفضل Ubuntu 20.04 LTS أو أحدث)

  • امتلاك صلاحيات الجذر (sudo)

  • اتصال بالإنترنت لتحديث الحزم وتنزيل التبعيات


الخطوة الأولى: تحديث النظام

ينبغي تحديث مستودعات الحزم على أوبنتو قبل تثبيت أي مكونات جديدة لضمان الحصول على الإصدارات الأخيرة المستقرة:

bash
sudo apt update && sudo apt upgrade -y

الخطوة الثانية: تثبيت Apache

Apache هو خادم ويب مفتوح المصدر واسع الاستخدام يدعم بروتوكولات HTTP وHTTPS ويتميز بالمرونة من خلال الوحدات (Modules).

تثبيت Apache:

bash
sudo apt install apache2 -y

التحقق من حالة Apache:

bash
sudo systemctl status apache2

إذا كان الخادم يعمل بنجاح، يمكن فتح المتصفح والانتقال إلى العنوان http://localhost حيث ستظهر صفحة “Apache2 Ubuntu Default Page”.


الخطوة الثالثة: إعداد جدار الحماية UFW

ينبغي السماح بحركة مرور الويب إلى خادم Apache:

bash
sudo ufw allow in "Apache Full" sudo ufw enable sudo ufw status

الخطوة الرابعة: تثبيت MySQL أو MariaDB

MySQL هو نظام إدارة قواعد بيانات شهير يُستخدم لتخزين وإدارة البيانات الخاصة بالتطبيقات. MariaDB يُعد بديلاً متوافقاً مع MySQL وذو أداء محسّن.

تثبيت MySQL:

bash
sudo apt install mysql-server -y

تأمين التثبيت:

bash
sudo mysql_secure_installation

أثناء تنفيذ هذه الأداة، سيتم مطالبتك بإعداد كلمة مرور للمستخدم الجذر، وإزالة المستخدمين الافتراضيين، وتعطيل تسجيل الدخول من بعد.

التحقق من تشغيل الخدمة:

bash
sudo systemctl status mysql

الخطوة الخامسة: تثبيت PHP

PHP هي لغة البرمجة المستخدمة لتوليد صفحات الويب الديناميكية، وتتكامل بسلاسة مع Apache وMySQL.

تثبيت PHP مع وحدات إضافية:

bash
sudo apt install php libapache2-mod-php php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip -y

التحقق من الإصدار:

bash
php -v

الخطوة السادسة: اختبار بيئة PHP

للتأكد من أن PHP يعمل بشكل صحيح مع Apache، يمكن إنشاء ملف PHP داخل مجلد الجذر /var/www/html:

bash
echo "" | sudo tee /var/www/html/info.php

بعدها يتم زيارة الرابط http://localhost/info.php وستظهر صفحة تحتوي على معلومات مفصلة حول إعدادات PHP الحالية.


الخطوة السابعة: إعداد صلاحيات الملفات

من الأفضل ضبط صلاحيات المجلد الجذري لتكون متوافقة مع المستخدم الفعلي الذي يدير التطبيقات:

bash
sudo chown -R $USER:www-data /var/www/html sudo chmod -R 755 /var/www/html

الخطوة الثامنة: إعدادات افتراضية للمواقع (Virtual Hosts)

لإعداد مواقع متعددة أو عزل التطبيقات المختلفة ضمن نفس الخادم، يمكن استخدام ملفات Virtual Hosts:

إنشاء مجلد خاص بالموقع:

bash
sudo mkdir -p /var/www/example.com/public_html

إنشاء ملف الإعدادات:

bash
sudo nano /etc/apache2/sites-available/example.com.conf

وإضافة الإعداد التالي:

apache
ServerAdmin [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

تفعيل الموقع:

bash
sudo a2ensite example.com.conf sudo systemctl reload apache2

الخطوة التاسعة: استخدام phpMyAdmin لإدارة قواعد البيانات

phpMyAdmin هي واجهة ويب رسومية تسهّل إدارة قواعد بيانات MySQL.

التثبيت:

bash
sudo apt install phpmyadmin -y

خلال التثبيت، يجب اختيار Apache كخادم ويب، ثم إعداد كلمة مرور المستخدم root.

دمج phpMyAdmin مع Apache:

bash
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

ثم يمكن الوصول إلى واجهة phpMyAdmin من خلال http://localhost/phpmyadmin.


الخطوة العاشرة: تحسين الأداء والأمان

استخدام التخزين المؤقت (OPcache):

bash
sudo apt install php-opcache -y

تقوية إعدادات Apache:

  • تعطيل Directory Listing

  • تقليل الوحدات غير المستخدمة

  • تفعيل ضغط GZIP

تأمين MySQL:

  • استخدام كلمات مرور قوية

  • إنشاء مستخدمين بامتيازات محددة

  • إجراء نسخ احتياطي دوري

استخدام HTTPS:

يمكن استخدام Let’s Encrypt لإصدار شهادات SSL مجانية:

bash
sudo apt install certbot python3-certbot-apache -y sudo certbot --apache

الخطوة الحادية عشر: تثبيت تطبيقات LAMP الشائعة

تثبيت WordPress:

  1. تحميل WordPress:

bash
wget https://wordpress.org/latest.tar.gz tar -xvzf latest.tar.gz sudo mv wordpress /var/www/html/wordpress
  1. إعداد قاعدة البيانات:

bash
sudo mysql -u root -p CREATE DATABASE wordpress; GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost' IDENTIFIED BY 'strongpassword'; FLUSH PRIVILEGES; EXIT;
  1. إعداد ملف wp-config.php وربط القاعدة.


جدول: مقارنة بين MySQL و MariaDB ضمن بيئة LAMP

الخاصية MySQL MariaDB
الأداء جيد محسّن في العمليات الكبيرة
التوافق عالي مع تطبيقات LAMP متوافق تمامًا مع MySQL
الرخصة تجارية (بعض النسخ) مفتوحة المصدر بالكامل
دعم JSON مدعوم مدعوم مع أداء أفضل
أدوات الإدارة MySQL Workbench HeidiSQL, phpMyAdmin

الخلاصة

يمثل مكدس LAMP خيارًا قويًا ومرنًا لتطوير وتشغيل تطبيقات الويب على أوبنتو، حيث يجمع بين الموثوقية والأداء العالي وسهولة الإدارة. باتباع الخطوات المفصلة لتثبيت وإعداد المكونات الرئيسية مثل Apache، MySQL، وPHP، يمكن للمطورين إنشاء بيئة متكاملة لإطلاق المشاريع الصغيرة والمتوسطة وحتى الكبيرة. كما أن استخدام أدوات إضافية مثل phpMyAdmin وشهادات SSL المجانية يسهم في تسهيل الإدارة وتعزيز الأمان.


المراجع: