أتمتة تثبيت ووردبريس على أوبنتو باستخدام Ansible
تُعد أتمتة العمليات من أهم المبادئ التي يتم اتباعها في إدارة الأنظمة الحديثة. في عالم إدارة الخوادم، يمكن أن تسهم أدوات مثل Ansible في تسهيل الكثير من المهام المعقدة، مثل تثبيت البرمجيات وإعداداتها. في هذا المقال، سنتعرف على كيفية استخدام Ansible لأتمتة عملية تثبيت ووردبريس على خادم يعمل بنظام أوبنتو، مما يسهم في تبسيط العملية وجعلها أكثر كفاءة. سنستعرض الخطوات بالتفصيل، بما في ذلك التحضير، إعداد البيئات المطلوبة، وتخصيص الإعدادات.
مقدمة عن Ansible وووردبريس
Ansible هو أداة مفتوحة المصدر لإدارة الأنظمة والأتمتة التي تمكّن مسؤول النظام من أتمتة تنفيذ المهام على العديد من الخوادم. يمكن استخدام Ansible لإنشاء سكربتات (أو ما يُسمى بـ playbooks) لأداء مهام متعددة مثل تثبيت البرمجيات، ضبط الإعدادات، ونقل الملفات، وتطبيق التحديثات.
أما ووردبريس فهو واحد من أشهر أنظمة إدارة المحتوى في العالم، ويتيح للمستخدمين إنشاء مواقع الويب بسهولة، سواء كانت مدونات شخصية أو مواقع شركات. يعتمد ووردبريس على لغة البرمجة PHP وقاعدة بيانات MySQL أو MariaDB.
المتطلبات الأساسية
قبل البدء في استخدام Ansible لتثبيت ووردبريس على أوبنتو، يجب التأكد من أن الخادم يحتوي على البيئة الأساسية الضرورية:
-
خادم يعمل بنظام أوبنتو.
-
Ansible مثبت على جهاز الإدارة.
-
SSH مفعل على الخادم.
-
MySQL أو MariaDB لقاعدة البيانات.
-
PHP و Apache كخادم ويب.
خطوات الأتمتة لتثبيت ووردبريس باستخدام Ansible
1. تثبيت Ansible
في البداية، إذا لم يكن لديك Ansible مثبتًا على جهازك المحلي، يمكنك تثبيته عبر الأوامر التالية:
bashsudo 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 باستخدام الأمر التالي:
bashansible-playbook -i hosts wordpress-install.yml
سيقوم هذا الأمر بتنفيذ كافة المهام المحددة في الـ Playbook على الخادم المحدد.
5. إعداد Apache لاستضافة ووردبريس
بعد تنزيل ووردبريس وتهيئة قاعدة البيانات، يجب عليك تكوين Apache لاستضافة موقع ووردبريس. يمكنك إنشاء ملف تكوين جديد في Apache كما يلي:
bashsudo nano /etc/apache2/sites-available/wordpress.conf
ثم أضف التكوين التالي:
apacheServerAdmin 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:
bashsudo a2ensite wordpress.conf sudo systemctl reload apache2
6. تكملة التثبيت عبر واجهة المستخدم
بمجرد اكتمال الأتمتة وتثبيت ووردبريس على الخادم، يمكن الوصول إلى موقع ووردبريس عبر المتصفح. يجب على المستخدم إكمال الإعداد من خلال واجهة ووردبريس حيث يمكنه تعيين اسم المستخدم وكلمة المرور للموقع، واختيار السمة الأساسية للموقع.
الخلاصة
تعد أتمتة تثبيت ووردبريس باستخدام Ansible وسيلة رائعة لتوفير الوقت والجهد في عمليات التثبيت المتكررة على خوادم أوبنتو. من خلال Ansible، يمكنك إدارة إعدادات الخوادم وتطبيق التحديثات بشكل مستمر وسريع. تقدم هذه الأداة مرونة عالية، حيث يمكن تعديل Playbook الخاص بها لتلبية احتياجات بيئات مختلفة، مما يسهل عملية الصيانة والإدارة على المدى الطويل.

