البرنامج التعليمي: تثبيت حزمة LAMP على جهاز VM Azure Linux

ينطبق على: ✔️ أجهزة Linux الظاهرية

هذا المقال يعلمك كيفية نشر خادم ويب Apache، وMySQL وPHP (حزمة LAMP) على Ubuntu VM في Azure. لرؤية خادم الـ LAMP قيد التنفيذ، يمكنك اختياريًا تثبيت موقع WordPress وتكوينه. في هذا البرنامج التعليمي، ستتعلم كيفية:

  • قم بإنشاء Ubuntu VM
  • فتح المنفذ 80 لحركة المرور على الويب
  • تثبيت Apache، وMySQL، وPHP
  • قم بالتحقق من التثبيت والتهيئة
  • قم بتثبيت WordPress

هذا الإعداد هو لاختبارات سريعة أو إثبات مفهوم. لمزيد من المعلومات حول مكدس LAMP، بما في ذلك توصيات لبيئة إنتاج، راجع ⁧⁩وثائق Ubuntu⁧⁩.

يستخدم هذا البرنامج التعليمي CLI داخل ⁧⁩Azure Cloud Shell⁧⁩، والذي يتم تحديثه باستمرار إلى أحدث إصدار. لفتح Cloud Shell، حدد Try it من الجزء العلوي لأي مقطع تعليمة برمجية.

إذا اخترت تثبيت CLI واستخدامه محليا، يتطلب هذا البرنامج التعليمي تشغيل الإصدار 2.0.30 من Azure CLI أو إصدار أحدث. قم بتشغيل az --version للعثور على الإصدار. إذا كنت بحاجة إلى التثبيت أو الترقية، فيُرجى الرجوع إلى تثبيت Azure CLI.

قم بإنشاء مجموعة موارد

أنشئ مجموعة موارد باستخدام الأمر az group create. مجموعة موارد Azure هي حاوية منطقية يتم بها نشر موارد Azure وإدارتها.

في المثال التالي سيتم إنشاء مجموعة موارد تسمى ⁧⁩myResourceGroup⁧⁩ في منطقة ⁧⁩eastus⁩.

az group create --name myResourceGroup --location eastus

إنشاء جهاز ظاهري

إنشاء جهاز افتراضي من خلال أمر إنشاء⁧⁩ "az vm" ⁧⁩.

ينشئ المثال التالي جهازا ظاهريا باسم myVM وينشئ مفاتيح SSH إذا لم تكن موجودة بالفعل في موقع مفتاح افتراضي. لاستخدام مجموعة محددة من المفاتيح، استخدم ⁧--ssh-key-value⁩ الخيار. كما يعين الأمر ⁧⁩azureuser⁧⁩ كاسم مستخدم مسؤول. تستخدم هذا الاسم لاحقا للاتصال ب VM.

az vm create \
    --resource-group myResourceGroup \
    --name myVM \
    --image Ubuntu2204 \
    --admin-username azureuser \
    --generate-ssh-keys

عندما تم إنشاء VM، يعرض Azure CLI معلومات مشابهة للمثال التالي. يحيط علما بـ ⁧publicIpAddress⁩. يتم استخدام هذا العنوان للوصول إلى VM في الخطوات اللاحقة.

{
  "fqdns": "",
  "id": "/subscriptions/<subscription ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "eastus",
  "macAddress": "00-0D-3A-23-9A-49",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.4",
  "publicIpAddress": "40.68.254.142",
  "resourceGroup": "myResourceGroup"
}

فتح المنفذ 80 لحركة المرور على الويب

يسمح فتراضيًا، فقط اتصالات SSH في Linux VMs نشرها في Azure. لأن هذا الـ VM سيكون خادم ويب، تحتاج إلى فتح المنفذ 80 من الإنترنت. استخدم الأمر ⁧⁩az vm open-port⁧⁩ لفتح المنفذ المطلوب.

az vm open-port --port 80 --resource-group myResourceGroup --name myVM

لمزيد من المعلومات حول فتح المنافذ إلى VM الخاص بك، راجع ⁧⁩فتح المنافذ⁧⁩.

SSH في VM الخاص بك

إذا كنت لا تعرف عنوان IP العام الخاص ب VM، فقم بتشغيل أمر ⁧⁩az network public-ip list⁧⁩. تحتاج عنوان IP هذا لعدة خطوات لاحقة.

az network public-ip list --resource-group myResourceGroup --query [].ipAddress

استخدم الأمر التالي لإنشاء جلسة عمل SSH مع الجهاز الظاهري. قم باستبدال عنوان IP العام الصحيح للجهاز الظاهري. في هذا المثال، عنوان IP ⁧⁩هو 40.68.254.142⁧⁩. ⁧⁩azureuser⁧⁩ هو اسم المستخدم المسؤول الذي تم تعيينه عند إنشاء الجهاز الظاهري.

ssh azureuser@40.68.254.142

تثبيت Apache، وMySQL، وPHP

تشغيل الأمر التالي لتحديث مصادر حزمة Ubuntu وتثبيتApache،MySQL، وPHP. لاحظ علامة caret (^) في نهاية الأمر، والتي هي جزء من⁧lamp-server^⁩ اسم الحزمة.

sudo apt update && sudo apt install lamp-server^

تتم مطالبتك بتثبيت الحزم والتبعيات الأخرى. تقوم هذه العملية بتثبيت الحد الأدنى المطلوب لتمديدات PHP اللازمة لاستخدام PHP معMySQL.

تحقق من Apache

تحقق من إصدار Apache مع الأمر التالي:

apache2 -v

معApache المثبت، والمنفذ 80 المفتوح علي VM الخاص بك، يمكن الآن الوصول إلى خادم الويب من الإنترنت. لعرض صفحة Apache2 Ubuntu Default، افتح مستعرض ويب، وأدخل عنوان IP العام للـ VM. استخدم عنوان IP العام الذي استخدمته لـ SSH إلى الجهاز الظاهري:

صفحة Apache الافتراضية

قم بالتحقق منMySQL وقم بتأمينه

تحقق من إصدار MySQL مع الأمر التالي (note the capital ⁧V⁩ parameter):

mysql -V

للمساعدة في تأمين تثبيت MySQL، بما في ذلك وضع كلمة مرور الجذر، وتشغيل ⁧mysql_secure_installation⁩ البرنامج النصي.

sudo mysql_secure_installation

يمكنك اختياريًا إعداد البرنامج المساعد للتحقق من صحة كلمة المرور (مستحسن). ثم قم بتعيين كلمة مرور لمستخدم الجذر MySQL وتكوين إعدادات الأمان المتبقية للبيئة الخاصة بك. نوصيك بالإجابة على "Y" (نعم) لجميع الأسئلة.

إذا كنت ترغب في محاولة ميزاتMySQL (إنشاء قاعدة بياناتMySQL، أو إضافة المستخدمين، أو تغيير إعدادات التكوين)، فقم بتسجيل الدخول إلىMySQL. هذه الخطوة غير مطلوبة لإكمال هذا البرنامج التعليمي.

sudo mysql -u root -p

عند الانتهاء، قم بإنهاء موجه mysql بكتابة ⁧\q⁩.

تحقق من PHP

تحقق من إصدار PHP مع الأمر التالي:

php -v

إذا كنت ترغب في إجراء مزيد من الاختبار، فقم بإنشاء صفحة معلومات PHP سريعة لعرضها في المتصفح. يقوم الأمر التالي بإنشاء صفحة معلومات PHP:

sudo sh -c 'echo "<?php phpinfo(); ?>" > /var/www/html/info.php'

الآن يمكنك التحقق من صفحة معلومات PHP التي أنشأتها. افتح مستعرضاً ثم انتقل إلى http://yourPublicIPAddress/info.php. استبدل عنوان IP العام لجهاز VM الخاص بك. يجب أن تبدو مشابهة لهذه الصورة.

صفحة المعلومات PHP

تثبيت WordPress

إذا كنت تريد تجربة المكدس الخاص بك، فقم بتثبيت تطبيق نموذجي. على سبيل المثال، تقوم الخطوات التالية بتثبيت منصة ⁧⁩WordPress⁧⁩ مفتوحة المصدر لإنشاء مواقع ويب ومدونات. وتشمل أعباء العمل الأخرى بما في ذلك ⁧⁩Drupal⁧⁩⁧⁩Moodle⁧⁩.

فيما يعد إعداد WordPress هذا مجرد محاولة لإثبات المفهوم فقط. لتثبيت أحدث إصدار من WordPress قيد الإنتاج بإعدادات الأمان الموصى بها، راجع ⁧⁩وثائق WordPress⁧⁩.

تثبيت حزمة WordPress

تشغيل الأمر التالي:

sudo apt install wordpress

تكوين WordPress

تكوين WordPress لاستخدام MySQL وPHP.

في دليل العمل، قم بإنشاء ملف نصي ⁧wordpress.sql⁩ لتكوين قاعدة بيانات MySQL لـ WordPress:

sudo sensible-editor wordpress.sql

أضف الأوامر التالية، واستبدال كلمة مرور قاعدة بيانات من اختيارك ⁧⁩بكلمة المرور الخاصة بك⁧⁩ (اترك القيم الأخرى دون تغيير). إذا قمت بإعداد نهج أمان MySQL للتحقق من قوة كلمة المرور، فتأكد من أن كلمة المرور تفي بمتطلبات القوة. احفظ الملف

CREATE DATABASE wordpress;
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER
ON wordpress.*
TO wordpress@localhost
IDENTIFIED BY 'yourPassword';

قم بتشغيل الأمر التالي لإنشاء المورد:

cat wordpress.sql | sudo mysql --defaults-extra-file=/etc/mysql/debian.cnf

لأن الملف ⁧wordpress.sql⁩ يحتوي على بيانات اعتماد قاعدة بيانات، احذفه بعد الاستخدام:

sudo rm wordpress.sql

لتكوين PHP، قم بتشغيل الأمر التالي لفتح محرر نص من اختيارك وإنشاء الملف ⁧/etc/wordpress/config-localhost.php⁩:

sudo sensible-editor /etc/wordpress/config-localhost.php

انسخ الأسطر التالية إلى الملف، واستبدال كلمة مرور قاعدة بيانات WordPress الخاصة بك ⁧⁩بكلمة المرور الخاصة بك⁧⁩ (ترك القيم الأخرى دون تغيير). ثم احفظ الملف.

<?php
define('DB_NAME', 'wordpress');
define('DB_USER', 'wordpress');
define('DB_PASSWORD', 'yourPassword');
define('DB_HOST', 'localhost');
define('WP_CONTENT_DIR', '/usr/share/wordpress/wp-content');
?>

انقل تثبيت WordPress إلى جذر مستند خادم ويب:

sudo ln -s /usr/share/wordpress /var/www/html/wordpress

sudo mv /etc/wordpress/config-localhost.php /etc/wordpress/config-default.php

يمكنك الآن إكمال إعداد WordPress، والنشر على النظام الأساسي. افتح مستعرضاً ثم انتقل إلى http://yourPublicIPAddress/wordpress. استبدل عنوان IP العام لجهاز VM الخاص بك. يجب أن تبدو مشابهة لهذه الصورة.

صفحة تثبيت WordPress

الخطوات التالية

في هذا البرنامج التعليمي، قمت بنشر ملقم LAMP في Azure. تعلمت كيفية القيام بالتالي:

  • قم بإنشاء Ubuntu VM
  • فتح المنفذ 80 لحركة المرور على الويب
  • تثبيت Apache، وMySQL، وPHP
  • قم بالتحقق من التثبيت والتهيئة
  • تثبيت WordPress على خادم الـ LAMP

قم بالتقدم إلى البرنامج التعليمي التالي لمعرفة كيفية تأمين خوادم الويب باستخدام شهادات TLS/SSL.