مشاركة عبر


البرنامج التعليمي: تثبيت حزمة 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

لمزيد من المعلومات حول فتح المنافذ إلى الجهاز الظاهري، راجع فتح المنافذ.

SSH في VM الخاص بك

إذا كنت لا تعرف بالفعل عنوان IP العام لجهازك الظاهري، فقم بتشغيل الأمر 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. لاحظ علامة الإقطف (^) في نهاية الأمر، وهو جزء من اسم الحزمة 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 باستخدام الأمر التالي (لاحظ المعلمة capital V ):

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

أضف الأوامر التالية، واستبدل كلمة مرور قاعدة بيانات من اختيارك ل yourPassword (اترك القيم الأخرى دون تغيير). إذا قمت بإعداد نهج أمان 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 ب yourPassword (اترك القيم الأخرى دون تغيير). ثم احفظ الملف.

<?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.