Home Knowledge base Skyline Cloud كيفية تثبيت حزمة LAMP على نظام أوبونتو KNOWLEDGE BASE

كيفية تثبيت حزمة LAMP على نظام أوبونتو

دليل عملي خطوة بخطوة لتثبيت وتأمين حزمة LAMP (لينكس، أباتشي، MySQL، PHP) على أوبونتو 24.04 LTS — يغطي الجدار الناري، وإعداد MySQL المُحصَّن، وPHP، ومضيفًا افتراضيًا فعّالًا في أباتشي يمكنك اختباره خلال دقائق.

ما هي حزمة 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

يطلب منك السكربت ما يلي:

  1. تفعيل مكوّن VALIDATE PASSWORD اختياريًا (اختر مستوى السياسة إن أردت فرض تعقيد كلمات المرور).
  2. إزالة المستخدمين المجهولين — أجب بـ Y.
  3. منع تسجيل دخول الجذر عن بُعد — أجب بـ Y.
  4. إزالة قاعدة بيانات الاختبار — أجب بـ Y.
  5. إعادة تحميل جداول الصلاحيات — أجب بـ 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 الخاص بك خلال دقائق.

SKYLINE Engineering

@skyline

The engineering team at SKYLINE Industrial Solutions. We publish field-tested guides drawn from real KSA and GCC deployments.

See author profile
SKYLINE engineering services

Need this implemented for you?

Reading is free — building it right takes a team. SKYLINE engineers ship Skyline Cloud for Aramco vendors, banks, hospitals and government agencies across Saudi Arabia. Talk to us before you start.

Aramco Approved Contractor ISO 9001 · ISO 27001 SAMA CSF aligned NCA ECC ready 247+ KSA clients

Comments

0 total · 0 threads
Be the first to leave a comment.