العودة إلى المدونة

استخدام Ansible لتثبيت وتهيئة WordPress مع LAMP على Ubuntu

استخدام Ansible لتثبيت وتهيئة WordPress مع LAMP على Ubuntu

مقدمة

هناك دائمًا أوقات نحتاج فيها إلى تهيئة خوادم جديدة. قد يكون هذا لتوزيع عبء العمل أو إذا كنا ببساطة بحاجة إلى المزيد من الخوادم. عند إعداد خوادم جديدة، يحتاج المستخدمون إلى استخدام أتمتة الخوادم لتهيئتها. يتم ذلك من أجل تقليل التدخل اليدوي. Ansible هي إحدى أدوات إدارة التكوين التي يمكن استخدامها لتهيئة خادم جديد تلقائيًا، مما يقلل من فرص الخطأ البشري عند إعداد الخادم يدويًا.

تعد Ansible أداة غنية بالميزات مع كونها بسيطة في بنيتها الهيكلية. فهي تسهل تهيئة الخوادم من خلال البرامج النصية. ونظراً لبنيتها الموجزة، لا تتطلب Ansible تثبيت أي برامج أخرى عبر العقد.

في هذا البرنامج التعليمي، سنوضح لك كيفية استخدام Ansible لأتمتة تثبيت WordPress مع حزمة LAMP التي تعمل على خادم Ubuntu. WordPress هو نظام إدارة محتوى (CMS) يُستخدم لإنشاء المدونات والمواقع الإلكترونية باستخدام PHP كلغة برمجة وقاعدة بيانات MySQL لتخزين البيانات. بمجرد تثبيت WordPress، يمكن للمستخدمين إدارة الموقع باستخدام واجهة الويب الأمامية.

المتطلبات الأساسية

  • بما أن هذا البرنامج التعليمي يعتمد على أوبونتو، ستحتاج إلى أن يكون لديك أحدث إصدار من Ubuntu مثبتًا مع صلاحيات sudo. إذا لم يكن لديك Ubuntu مثبتاً، فيمكنك اتباع الخاص بنا كيفية إعداد خادم Ubuntu الخاص بك.
  • سنحتاج أيضًا إلى وجود عقدة تحكم Ansible. يجب أن تحتوي على عقدة تحكم بصلاحيات sudo وتمكين جدار الحماية. تثبيت وإعداد Ansible على Ubuntu 20.04 يحتوي على دليل مفصل حول كيفية تكوين Ansible.
  • نحتاج أيضًا إلى مضيفي Ansible البعيدين التي تقوم بتشغيل أحدث إصدار من Ubuntu. المضيفون هم في الأساس العقد المدارة في Ansible.

ملخص إجراءات Ansible Playbook

في هذا القسم، سنرى ما يفعله Ansible Playbook الخاص بنا عند تنفيذه. هذا الإجراء هو بديل للإعداد اليدوي المقدم هنا: كيفية تثبيت WordPress مع LAMP على Ubuntu 20.04.

عندما نقوم بتشغيل Playbook، سيقوم Ansible بما يلي:

  • تثبيت aptitude وهو مدير حزم Ansible المفضل.
  • تثبيت وتكوين امتدادات PHP وحزم LAMP.
  • إنشاء Apache VirtualHost جديد لموقع WordPress الإلكتروني.
  • تمكين وحدة mod_rewrite وتعطيل الموقع الافتراضي الذي يقدمه Apache.
  • تعيين كلمة المرور لمستخدم root في MySQL.
  • إزالة حسابات MySQL المجهولة وقاعدة بيانات الاختبار.
  • إنشاء مستخدم جديد وقاعدة بيانات جديدة. سيتم استخدامها بواسطة موقع WordPress الإلكتروني.
  • إعداد UFW للسماح بمرور حركة مرور HTTP على المنفذ المكون ( 80 افتراضيًا).
  • تنزيل وفك ضغط WordPress.
  • إعداد أذونات وملكية الدليل.
  • تكوين wp-config.php ملف جديد باستخدام القالب الخاص به.

دليل WordPress على LAMP Ansible Playbook

أولاً، سيتعين علينا الحصول على WordPress على LAMP playbook والتبعيات الخاصة به من do-community/ansible-playbooks مستودع. سنقوم باستنساخ هذا المستودع داخل عقدة التحكم في Ansible.

يمكنك تشغيل أمر git pull كما هو مذكور أدناه:

تأكد من حصولك على التحديث الأخير للمستودع المذكور أعلاه. هذا في حال قمت باستنساخ المستودع من قبل. فيما يلي كيفية الحصول على التحديث:

الآن علينا تحديد موقع الملفات داخل wordpress-lamp_ubuntu مجلد. قد يختلف اسم هذا المجلد اعتمادًا على إصدار Ubuntu الذي تستخدمه. بلمحة سريعة، سترى الهيكل التالي في هذا الدليل:

Using Ansible to Install and Configure WordPress with LAMP on Ubuntu Dir Struc

دعونا نلخص الغرض من هذه الملفات أدناه:

  • files/apache.conf.j2: يستخدم Apache VirtualHost. يُستخدم هذا الملف لتحديد إعدادات VirtualHost.
  • files/wp-config.php.j2: يحتوي هذا الملف على إعدادات لتكوين WordPress.
  • vars/default.yml: يقوم بتكوين إعدادات playbook.
  • playbook.yml: إذا كانت هناك مهام تحتاج إلى التنفيذ على خادم بعيد، فيتم استخدام هذا الملف لتكوينها.
  • readme.md: دليل استخدام playbook.

يتعين علينا تعديل ملف متغيرات playbook من أجل تخصيص التثبيت. أولاً، افتح vars/default.yaml الملف الموجود داخل الدليل المذكور أعلاه:

هذا الملف طويل نوعًا ما. يحتوي على عدد من التكوينات لمساعدتنا في التثبيت:

هنا نحن مهتمون بالمتغيرات التالية:

  • php_modules: مصفوفة تحتوي على امتدادات PHP التي يجب تثبيتها لدعم إعداد WordPress الخاص بك. إذا كنت تريد تثبيت المزيد من الوحدات، يمكنك تحديد ذلك هنا.
  • mysql_root_password: كلمة المرور لـ root حساب MySQL.
  • mysql_db: يحدد هذا اسم قاعدة بيانات MySQL التي سيستخدمها WordPress.
  • mysql_user: اسم مستخدم MySQL الذي يجب إنشاؤه لـ WordPress.
  • mysql_password: كلمة المرور لمستخدم MySQL الجديد.
  • http_host: اسم النطاق أو عنوان IP الخاص بالخادم.
  • http_conf: اسم ملف التكوين الذي سيتم إنشاؤه داخل Apache.
  • http_port: منفذ HTTP لهذا المضيف الافتراضي. يُستخدم هذا المنفذ للوصول إلى موقع الويب. القيمة الافتراضية هي 80.

بعد ذلك، أدخل القيم في الملف أعلاه ثم احفظه وأغلقه. بالنسبة للمستخدمين الذين يستخدمون محرر nano، اضغط على CTRL+X, Y، واضغط على ENTER.

الآن أنت جاهز لتشغيل playbook هذا. يمكنك تشغيل playbook هذا على خادم واحد أو أكثر. إذا كنت تريد تشغيل playbook هذا على خادم معين، يمكنك استخدام الخيار -l. علاوة على ذلك، إذا كنت بحاجة إلى تحديد المستخدم للاتصال بالخادم البعيد، فحدد المستخدم باستخدام الخيار -u .

افترض أننا نريد تنفيذ playbook الخاص بنا على خادم واحد، srvr1 باستخدام المستخدم u1، يمكننا تشغيل الأمر أدناه:

بمجرد تشغيل الأمر أعلاه، ستحصل على مخرجات مثل أدناه:

انتظر حتى يكتمل تنفيذ playbook. بعد ذلك، انتقل إلى server_name على متصفح الويب الخاص بك:

سترى الشاشة:

WP Page

بعد ذلك، حدد اللغة التي تختارها واضغط على متابعة. ستحصل على الشاشة التالية التي تطلب بعض التفاصيل لإنهاء التثبيت:

Using Ansible to Install and Configure WordPress with LAMP on Ubuntu Set User Pass

بعد ذلك، أدخل المعلومات واضغط على تثبيت ووردبريس. سيستغرق الأمر بعض الوقت ثم سترى شاشة مثل أدناه:

Using Ansible to Install and Configure WordPress with LAMP on Ubuntu Install Success

حدد تسجيل الدخول لتسجيل الدخول إلى موقع الويب الخاص بك وتكوين الإعدادات:

Homepage

محتوى Ansible Playbook

تذكر wordpress-lamp_ubuntu مجلد. وهو يحتوي على بعض الملفات بداخله. لذا دعونا نمر عليها واحدًا تلو الآخر:

●    vars/default.yml

يحتوي هذا الملف على قيم تُستخدم لتكوين إعدادات موقع WordPress الخاص بك:

●    files/apache.conf.j2

يُستخدم هذا الملف لتكوين Apache VirtualHost:

●    files/wp-config.php.j2

يُستخدم هذا الملف لتكوين WordPress. وهو يحتوي على مفاتيح فريدة ورموز عشوائية (salts) تم إنشاؤها بواسطة دوال التجزئة (hash functions):

●    playbook.yml

يحتوي هذا الملف على جميع المهام المحددة في هذا الإعداد. ويبدأ بسرد مجموعة من الخوادم المستهدفة بواسطة هذا الإعداد. وهو يتضمن vars/default.yml ملف المتغيرات لتحميل خيارات التكوين:

يمكنك تعديل هذه الملفات حسب الحاجة لتناسب احتياجاتك الخاصة للموقع الإلكتروني الذي تقوم ببنائه.

الخاتمة

في هذا البرنامج التعليمي، قمنا بشرح كيفية أتمتة تثبيت وإعداد موقع WordPress يعمل على حزمة LAMP على أحدث نظام تشغيل Ubuntu باستخدام Ansible.

لمزيد من الأدلة حول العمل مع Ansible، يمكنك الاطلاع على البرامج التعليمية التالية على مدونتنا:

حوسبة سعيدة!

author

Preslav Dobrev

المؤلف · CloudSigma

Preslav Dobrev هو مصمم إبداعي في CloudSigma، يركز على هوية أعمال متسقة باستخدام قنوات التسويق التقليدية والمبتكرة. هو بارع في دمج الرؤية الفنية مع التسويق الاستراتيجي لخلق سرد قصصي مؤثر للعلامة التجارية.

التعليقات

لا توجد تعليقات بعد. كن أول من يعلق.