إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على: ✔️ أجهزة 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 وإدارتها.
ينشئ المثال التالي مجموعة موارد باستخدام متغيرات البيئة ويلحق لاحقة عشوائية لضمان التفرد.
export REGION="eastus2"
export RANDOM_SUFFIX="$(openssl rand -hex 3)"
export MY_RESOURCE_GROUP_NAME="myResourceGroup${RANDOM_SUFFIX}"
az group create --name "${MY_RESOURCE_GROUP_NAME}" --location $REGION
النتائج:
{
"id": "/subscriptions/xxxxx-xxxxx-xxxxx-xxxxx/resourceGroups/myResourceGroupxxxxx",
"location": "eastus",
"name": "myResourceGroupxxxxx",
"properties": {
"provisioningState": "Succeeded"
}
}
إنشاء جهاز ظاهري
إنشاء جهاز افتراضي من خلال أمر إنشاء "az vm" .
ينشئ المثال التالي جهازا ظاهريا باستخدام متغيرات البيئة. يقوم بإنشاء جهاز ظاهري يسمى myVM وإنشاء مفاتيح SSH إذا لم تكن موجودة بالفعل في موقع مفتاح افتراضي. لاستخدام مجموعة محددة من المفاتيح، استخدم الخيار --ssh-key-value. يعين الأمر أيضا azureuser كاسم مستخدم مسؤول. تستخدم هذا الاسم لاحقا للاتصال ب VM.
export MY_VM_NAME="myVM${RANDOM_SUFFIX}"
export IMAGE="Ubuntu2204"
export ADMIN_USERNAME="azureuser"
az vm create \
--resource-group "${MY_RESOURCE_GROUP_NAME}" \
--name $MY_VM_NAME \
--image $IMAGE \
--admin-username $ADMIN_USERNAME \
--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 "${MY_RESOURCE_GROUP_NAME}" --name $MY_VM_NAME
لمزيد من المعلومات حول فتح المنافذ إلى الجهاز الظاهري، راجع فتح المنافذ.
SSH في VM الخاص بك
إذا كنت لا تعرف بالفعل عنوان IP العام لجهازك الظاهري، فقم بتشغيل الأمر az network public-ip list . تحتاج عنوان IP هذا لعدة خطوات لاحقة.
export PUBLIC_IP=$(az network public-ip list --resource-group "${MY_RESOURCE_GROUP_NAME}" --query [].ipAddress -o tsv)
ssh استخدم الأمر لإنشاء جلسة SSH مع الجهاز الظاهري. قم باستبدال عنوان IP العام الصحيح للجهاز الظاهري.
تثبيت Apache، وMySQL، وPHP
تشغيل الأمر التالي لتحديث مصادر حزمة Ubuntu وتثبيتApache،MySQL، وPHP. لاحظ علامة الإقطف (^) في نهاية الأمر، وهو جزء من اسم الحزمة lamp-server^ .
ssh -o StrictHostKeyChecking=no azureuser@$PUBLIC_IP "sudo apt-get update && sudo DEBIAN_FRONTEND=noninteractive apt-get -y install lamp-server^"
تتم مطالبتك بتثبيت الحزم والتبعيات الأخرى. تقوم هذه العملية بتثبيت الحد الأدنى المطلوب لتمديدات PHP اللازمة لاستخدام PHP معMySQL.
تحقق من Apache
تحقق من إصدار Apache مع الأمر التالي:
ssh -o StrictHostKeyChecking=no azureuser@$PUBLIC_IP "apache2 -v"
معApache المثبت، والمنفذ 80 المفتوح علي VM الخاص بك، يمكن الآن الوصول إلى خادم الويب من الإنترنت. لعرض صفحة Apache2 Ubuntu Default، افتح مستعرض ويب، وأدخل عنوان IP العام للـ VM. استخدم عنوان IP العام الذي استخدمته لـ SSH إلى الجهاز الظاهري:
قم بالتحقق منMySQL وقم بتأمينه
تحقق من إصدار MySQL باستخدام الأمر التالي (لاحظ المعلمة capital V ):
ssh -o StrictHostKeyChecking=no azureuser@$PUBLIC_IP "mysql -V"
للمساعدة في تأمين تثبيت MySQL، بما في ذلك تعيين كلمة مرور الجذر، يمكنك تشغيل sudo mysql_secure_installation الأمر. يطالبك هذا الأمر بالإجابة عن عدة أسئلة للمساعدة في تأمين تثبيت MySQL.
يمكنك اختياريًا إعداد البرنامج المساعد للتحقق من صحة كلمة المرور (مستحسن). ثم قم بتعيين كلمة مرور لمستخدم الجذر MySQL وتكوين إعدادات الأمان المتبقية للبيئة الخاصة بك. نوصيك بالإجابة على "Y" (نعم) لجميع الأسئلة.
إذا كنت ترغب في محاولة ميزاتMySQL (إنشاء قاعدة بياناتMySQL، أو إضافة المستخدمين، أو تغيير إعدادات التكوين)، فقم بتسجيل الدخول إلىMySQL. هذه الخطوة غير مطلوبة لإكمال هذا البرنامج التعليمي. للقيام بذلك، يمكنك استخدام sudo mysql -u root -p الأمر في الجهاز الظاهري الخاص بك ثم إدخال كلمة مرور الجذر عند مطالبتك بذلك. يتصل هذا الأمر بجهازك الظاهري عبر SSH ويطلق عميل سطر أوامر MySQL كمستخدم جذر.
عند الانتهاء، قم بإنهاء موجه mysql بكتابة \q.
تحقق من PHP
تحقق من إصدار PHP مع الأمر التالي:
ssh -o StrictHostKeyChecking=no azureuser@$PUBLIC_IP "php -v"
إذا كنت ترغب في إجراء المزيد من الاختبارات، يمكنك إنشاء صفحة معلومات PHP سريعة لعرضها في مستعرض. يقوم الأمر التالي بإنشاء صفحة معلومات PHP sudo sh -c 'echo \"<?php phpinfo\(\)\; ?>\" > /var/www/html/info.php
الآن يمكنك التحقق من صفحة معلومات PHP التي أنشأتها. افتح مستعرضاً وانتقل إلى http://yourPublicIPAddress/info.php. استبدل عنوان IP العام لجهاز VM الخاص بك. يجب أن تبدو مشابهة لهذه الصورة.
قم بتثبيت 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 الخاص بك. يجب أن تبدو مشابهة لهذه الصورة.
الخطوات التالية
في هذا البرنامج التعليمي، قمت بنشر ملقم LAMP في Azure. لقد تعرفت على كيفية:
- قم بإنشاء Ubuntu VM
- فتح المنفذ 80 لحركة المرور على الويب
- تثبيت Apache، وMySQL، وPHP
- قم بالتحقق من التثبيت والتهيئة
- تثبيت WordPress على خادم الـ LAMP
قم بالتقدم إلى البرنامج التعليمي التالي لمعرفة كيفية تأمين خوادم الويب باستخدام شهادات TLS/SSL.