ديف أوبس

تثبيت LEMP على أوبنتو

تثبيت حزم MySQL وNginx وLEMP وPHP على أوبنتو 14.04: دليل شامل ومفصل

يعتبر نظام أوبنتو 14.04 من أنظمة التشغيل الشائعة للاستخدام في بيئات الخوادم، ويتميز باستقراره ومرونته الكبيرة. عند إعداد خادم ويب متكامل يقدم تطبيقات ويب ديناميكية، يُعَدُّ تثبيت مجموعة حزم LEMP (Linux, Nginx, MySQL, PHP) خطوة أساسية لا غنى عنها. هذا المقال يستعرض بالتفصيل كيفية تثبيت وضبط هذه الحزم على أوبنتو 14.04، مع شرح كل خطوة بشكل مفصل لضمان عمل بيئة متكاملة تستجيب للاحتياجات الحديثة لتطوير الويب.


مقدمة عن LEMP Stack

LEMP هو اختصار لمجموعة برمجيات تتضمن:

  • Linux كنظام تشغيل أساسي.

  • Nginx كخادم ويب.

  • MySQL كنظام إدارة قواعد بيانات.

  • PHP كلغة برمجة ديناميكية تعمل على الخادم.

تعتبر حزمة LEMP بديلاً قوياً وشائعاً لحزمة LAMP التي تستخدم Apache بدلاً من Nginx، حيث يتميز Nginx بقدرته على التعامل مع عدد كبير من الاتصالات بكفاءة عالية واستهلاك أقل للموارد.


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

قبل البدء بتثبيت الحزم، من الضروري تحديث النظام إلى أحدث نسخة من الحزم المتوفرة لتفادي مشاكل التوافق.

bash
sudo apt-get update sudo apt-get upgrade -y

هذه الأوامر ستقوم بتحديث قائمة الحزم وترقية الحزم المثبتة إلى أحدث الإصدارات المتاحة.


تثبيت MySQL على أوبنتو 14.04

MySQL هو نظام إدارة قواعد بيانات مفتوح المصدر، ويستخدم على نطاق واسع لتخزين وإدارة بيانات تطبيقات الويب.

خطوات التثبيت:

  1. تثبيت حزمة MySQL Server:

bash
sudo apt-get install mysql-server mysql-client -y
  1. أثناء التثبيت، سيطلب منك تحديد كلمة مرور المستخدم الجذر (root) لقواعد البيانات. يجب اختيار كلمة مرور قوية وتأمينها جيداً.

  2. بعد انتهاء التثبيت، يُفضَّل تشغيل برنامج الأمان الخاص بـ MySQL لتحسين إعدادات الحماية:

bash
sudo mysql_secure_installation

سيتضمن هذا البرنامج عدة أسئلة مثل إزالة المستخدمين المجهولين، تعطيل الدخول من خلال المستخدم root عن بعد، وحذف قاعدة بيانات الاختبار. من الأفضل الموافقة على الخيارات الأمنية المقترحة لتعزيز حماية قاعدة البيانات.

  1. التحقق من حالة خدمة MySQL:

bash
sudo service mysql status

يجب أن تكون الخدمة تعمل بدون مشاكل.


تثبيت Nginx على أوبنتو 14.04

Nginx هو خادم ويب عالي الأداء، يستخدم بشكل واسع لخدمة مواقع الويب والتطبيقات الحديثة.

خطوات التثبيت:

  1. تثبيت حزمة Nginx:

bash
sudo apt-get install nginx -y
  1. بعد التثبيت، يتم تشغيل الخدمة تلقائياً. يمكن التحقق من حالتها باستخدام الأمر:

bash
sudo service nginx status
  1. يمكن اختبار عمل الخادم بفتح المتصفح والتوجه إلى عنوان الـ IP الخاص بالخادم أو localhost، ستظهر صفحة الترحيب الافتراضية الخاصة بـ Nginx.


تثبيت PHP على أوبنتو 14.04

PHP هي لغة برمجة تُستخدم لإنشاء محتوى ويب ديناميكي، وتتفاعل مع قواعد البيانات مثل MySQL.

خطوات التثبيت:

  1. تثبيت PHP مع موديولات مهمة لـ Nginx وMySQL:

bash
sudo apt-get install php5-fpm php5-mysql -y
  1. التحقق من أن خدمة PHP-FPM تعمل بشكل جيد:

bash
sudo service php5-fpm status
  1. ضبط إعدادات PHP-FPM في ملف الإعدادات /etc/php5/fpm/php.ini لتعديل القيم الأساسية حسب الحاجة، مثل upload_max_filesize، post_max_size، وmemory_limit.


ضبط Nginx لاستخدام PHP مع MySQL

يجب تعديل إعدادات Nginx لتوجيه طلبات PHP إلى PHP-FPM لتتم معالجتها بشكل صحيح.

خطوات إعداد Nginx:

  1. فتح ملف إعدادات الموقع الافتراضي في Nginx:

bash
sudo nano /etc/nginx/sites-available/default
  1. تعديل محتوى الملف ليشمل الإعدادات التالية، مع الانتباه إلى أن المسار إلى fastcgi_pass يتطابق مع إعدادات PHP-FPM:

nginx
server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.php index.html index.htm; server_name _; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php5-fpm.sock; } location ~ /\.ht { deny all; } }
  1. حفظ الملف والخروج، ثم اختبار صحة إعدادات Nginx:

bash
sudo nginx -t
  1. إعادة تحميل خدمة Nginx لتطبيق التغييرات:

bash
sudo service nginx reload

اختبار عمل LEMP Stack

لتأكيد نجاح التثبيت والتكوين، يمكن إنشاء ملف PHP بسيط داخل مجلد الويب الافتراضي /var/www/html/:

bash
sudo nano /var/www/html/info.php

ثم إضافة الكود التالي:

php
phpinfo(); ?>

حفظ الملف والخروج. عند فتح المتصفح وزيارة http://your_server_ip/info.php، يجب أن تظهر صفحة تعرض كافة معلومات PHP، مما يدل على أن كل شيء يعمل بشكل صحيح.


إدارة MySQL وإنشاء قواعد بيانات

يمكن استخدام سطر الأوامر لإدارة قواعد البيانات في MySQL:

  1. الدخول إلى واجهة MySQL باستخدام المستخدم الجذر:

bash
mysql -u root -p
  1. إنشاء قاعدة بيانات جديدة:

sql
CREATE DATABASE example_db;
  1. إنشاء مستخدم جديد مع صلاحيات على قاعدة البيانات:

sql
CREATE USER 'example_user'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON example_db.* TO 'example_user'@'localhost'; FLUSH PRIVILEGES;
  1. الخروج من MySQL:

sql
exit;

ضبط إعدادات أمان النظام الأساسية

لتأمين الخادم، من المهم القيام ببعض الإجراءات الأمنية:

  • تفعيل جدار الحماية ufw:

bash
sudo ufw allow 'Nginx Full' sudo ufw enable
  • تغيير منفذ SSH من الافتراضي 22 لتقليل محاولات الاختراق.

  • تحديث الحزم بشكل دوري باستخدام apt-get update && apt-get upgrade.

  • تقييد صلاحيات الملفات والمجلدات بحيث تمنح فقط ما يلزم.


تحسين الأداء

لتسريع أداء خادم الويب وتحسين استجابته، يمكن ضبط إعدادات Nginx وPHP:

  • تفعيل التخزين المؤقت (caching) في Nginx.

  • ضبط قيمة worker_processes في إعدادات Nginx بناءً على عدد أنوية المعالج.

  • تحسين إعدادات php.ini خاصةً المتعلقة بالذاكرة والمهلات.

  • استخدام أدوات مثل Opcache لتحسين سرعة تنفيذ السكربتات.


جدول توضيحي لمكونات LEMP Stack وكيفية التثبيت

المكون الوظيفة أمر التثبيت ملف الإعداد الأساسي ملاحظات
Linux نظام التشغيل مثبت مسبق على النظام نسخة Ubuntu 14.04
Nginx خادم ويب sudo apt-get install nginx -y /etc/nginx/sites-available/default يجب تعديل لإضافة دعم PHP
MySQL قاعدة بيانات sudo apt-get install mysql-server mysql-client -y /etc/mysql/my.cnf تشغيل mysql_secure_installation بعد التثبيت
PHP لغة برمجة وخادم تطبيقات sudo apt-get install php5-fpm php5-mysql -y /etc/php5/fpm/php.ini تكوين PHP-FPM لتكامل مع Nginx

خلاصة

تثبيت وضبط بيئة LEMP على أوبنتو 14.04 يشكل أساساً متيناً لإنشاء مواقع وتطبيقات ويب حديثة ذات أداء عالٍ وأمان معزز. يبدأ الأمر بتحديث النظام، ثم تثبيت مكونات MySQL وNginx وPHP، يليها تعديل الإعدادات الأساسية لتتكامل هذه المكونات مع بعضها البعض. بالإضافة إلى ذلك، لا يغفل مسؤول الخادم عن إجراءات الحماية وتحديث النظام المستمر لضمان استمرارية عمل آمنة وموثوقة.


المصادر والمراجع


هذا المقال يقدم شرحًا متعمقًا وشاملاً، يفي بمتطلبات بناء بيئة LEMP متكاملة على نظام أوبنتو 14.04، مع مراعاة الجوانب التقنية والتشغيلية والأمنية اللازمة لضمان استقرار وسلاسة الأداء.