ديف أوبس

أتمتة تثبيت ووردبريس بأنسبل

أتمتة تثبيت ووردبريس على أوبنتو باستخدام Ansible

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

مقدمة عن Ansible وووردبريس

Ansible هو أداة مفتوحة المصدر لإدارة الأنظمة والأتمتة التي تمكّن مسؤول النظام من أتمتة تنفيذ المهام على العديد من الخوادم. يمكن استخدام Ansible لإنشاء سكربتات (أو ما يُسمى بـ playbooks) لأداء مهام متعددة مثل تثبيت البرمجيات، ضبط الإعدادات، ونقل الملفات، وتطبيق التحديثات.

أما ووردبريس فهو واحد من أشهر أنظمة إدارة المحتوى في العالم، ويتيح للمستخدمين إنشاء مواقع الويب بسهولة، سواء كانت مدونات شخصية أو مواقع شركات. يعتمد ووردبريس على لغة البرمجة PHP وقاعدة بيانات MySQL أو MariaDB.

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

قبل البدء في استخدام Ansible لتثبيت ووردبريس على أوبنتو، يجب التأكد من أن الخادم يحتوي على البيئة الأساسية الضرورية:

  1. خادم يعمل بنظام أوبنتو.

  2. Ansible مثبت على جهاز الإدارة.

  3. SSH مفعل على الخادم.

  4. MySQL أو MariaDB لقاعدة البيانات.

  5. PHP و Apache كخادم ويب.

خطوات الأتمتة لتثبيت ووردبريس باستخدام Ansible

1. تثبيت Ansible

في البداية، إذا لم يكن لديك Ansible مثبتًا على جهازك المحلي، يمكنك تثبيته عبر الأوامر التالية:

bash
sudo apt update sudo apt install ansible

2. إعداد Ansible لإدارة الخوادم

بعد تثبيت Ansible، يجب أن تُعد ملف hosts في Ansible ليحتوي على الخوادم التي سيتم إدارة تكويناتها. في هذا المثال، سنعتبر أن لديك خادم واحد، ويمكنك تحديده في ملف hosts كما يلي:

ini
[webservers] your-server-ip ansible_ssh_user=your-ssh-username

3. إعداد الـ Playbook

الـ Playbook هو ملف مكتوب بلغة YAML يتم فيه تحديد جميع المهام التي يجب على Ansible تنفيذها. لنبدأ بتعريف Playbook الذي سيتعامل مع التثبيت الكامل لووردبريس.

الخطوة 1: تحديث وتثبيت الحزم الأساسية (Apache, PHP, MySQL)

yaml
--- - name: Install LAMP stack and WordPress hosts: webservers become: yes tasks: - name: Update apt repository apt: update_cache: yes - name: Install Apache web server apt: name: apache2 state: present - name: Install MySQL server apt: name: mysql-server state: present - name: Install PHP and required extensions apt: name: - php - php-mysql - php-xml - libapache2-mod-php state: present

الخطوة 2: تحميل ووردبريس

yaml
- name: Download WordPress get_url: url: https://wordpress.org/latest.tar.gz dest: /tmp/wordpress.tar.gz - name: Extract WordPress unarchive: src: /tmp/wordpress.tar.gz dest: /var/www/html/ remote_src: yes - name: Set correct permissions for WordPress file: path: /var/www/html/wordpress owner: www-data group: www-data mode: "u+rwx,g+rx,o+rx" recurse: yes

الخطوة 3: إعداد قاعدة البيانات

yaml
- name: Create WordPress database mysql_db: name: wordpress state: present login_user: root login_password: your_mysql_root_password - name: Create WordPress database user mysql_user: name: wordpress_user password: wordpress_password db: wordpress host: localhost state: present login_user: root login_password: your_mysql_root_password

الخطوة 4: إعداد ملف wp-config.php

yaml
- name: Copy wp-config.php file template: src: wp-config.php.j2 dest: /var/www/html/wordpress/wp-config.php owner: www-data group: www-data mode: '0644'

نحتاج إلى ملف wp-config.php.j2 الذي سيكون قالبًا يحتوي على الإعدادات اللازمة لربط ووردبريس بقاعدة البيانات. يمكن أن يكون الشكل العام لهذا الملف كالتالي:

php
define( 'DB_NAME', 'wordpress' ); define( 'DB_USER', 'wordpress_user' ); define( 'DB_PASSWORD', 'wordpress_password' ); define( 'DB_HOST', 'localhost' ); define( 'DB_CHARSET', 'utf8' ); define( 'DB_COLLATE', '' );

4. تشغيل Playbook

بعد إعداد الـ Playbook، يمكنك تشغيله عبر Ansible باستخدام الأمر التالي:

bash
ansible-playbook -i hosts wordpress-install.yml

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

5. إعداد Apache لاستضافة ووردبريس

بعد تنزيل ووردبريس وتهيئة قاعدة البيانات، يجب عليك تكوين Apache لاستضافة موقع ووردبريس. يمكنك إنشاء ملف تكوين جديد في Apache كما يلي:

bash
sudo nano /etc/apache2/sites-available/wordpress.conf

ثم أضف التكوين التالي:

apache
ServerAdmin webmaster@localhost DocumentRoot /var/www/html/wordpress ServerName your_domain_or_IP AllowOverride All Require all granted ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined

ثم قم بتمكين الموقع وإعادة تشغيل Apache:

bash
sudo a2ensite wordpress.conf sudo systemctl reload apache2

6. تكملة التثبيت عبر واجهة المستخدم

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

الخلاصة

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