Déployer WordPress sur un serveur peut sembler une tâche ardue, mais avec Ansible, ce processus devient beaucoup plus simple et automatisé. Ansible est un outil d’automatisation puissant qui permet de gérer la configuration des systèmes et de déployer des applications de manière efficace.
Dans cet article, nous allons voir comment déployer WordPress sur un serveur Ubuntu en utilisant Ansible. Suivez ce guide étape par étape pour une installation fluide et sans tracas.
Prérequis
Avant de commencer, assurez-vous d’avoir les éléments suivants :
- Un serveur Ubuntu configuré.
- Installé l’outil sur votre machine de contrôle.
- Accès SSH au serveur.
Étape 1 : Créer un fichier d’inventaire
La première étape consiste à créer un fichier d’inventaire pour définir votre serveur cible. Ce fichier permet à Ansible de savoir sur quel serveur exécuter les tâches. Créez un fichier nommé hosts
et ajoutez-y les informations suivantes :
[wordpress]
your_server_ip ansible_user=your_user ansible_ssh_private_key_file=~/.ssh/id_rsa
Remplacez your_server_ip
par l’adresse IP de votre serveur, your_user
par le nom d’utilisateur, et ~/.ssh/id_rsa
par le chemin vers votre clé SSH privée.
Étape 2 : Créer un playbook Ansible
Le playbook est un fichier YAML qui contient les instructions pour déployer WordPress. Créez un fichier nommé wordpress.yml
et ajoutez-y le contenu suivant :
---
- hosts: wordpress
become: yes
tasks:
- name: Mettre à jour les paquets APT
apt:
update_cache: yes
- name: Installer les dépendances
apt:
name:
- apache2
- mysql-server
- php
- php-mysql
- libapache2-mod-php
- php-cli
- php-curl
- php-gd
- php-mbstring
- php-xml
- php-xmlrpc
state: present
- name: Démarrer et activer Apache
service:
name: apache2
state: started
enabled: yes
- name: Démarrer et activer MySQL
service:
name: mysql
state: started
enabled: yes
- name: Télécharger WordPress
get_url:
url: https://wordpress.org/latest.tar.gz
dest: /tmp/latest.tar.gz
- name: Extraire WordPress
unarchive:
src: /tmp/latest.tar.gz
dest: /var/www/html
remote_src: yes
- name: Configurer les permissions
file:
path: /var/www/html/wordpress
owner: www-data
group: www-data
recurse: yes
- name: Créer la base de données WordPress
mysql_db:
name: wordpress
state: present
- name: Créer un utilisateur MySQL pour WordPress
mysql_user:
name: wordpress_user
password: your_password
priv: 'wordpress.*:ALL'
state: present
- name: Configurer Apache pour WordPress
copy:
dest: /etc/apache2/sites-available/wordpress.conf
content: |
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/wordpress
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
- name: Activer le site WordPress
command: a2ensite wordpress
- name: Désactiver le site par défaut
command: a2dissite 000-default
- name: Redémarrer Apache
service:
name: apache2
state: restarted
Étape 3 : Exécuter le playbook
Une fois le playbook créé, vous pouvez l’exécuter en utilisant la commande suivante :
ansible-playbook -i hosts wordpress.yml
Cette commande indique à Ansible d’utiliser le fichier d’inventaire hosts
et d’exécuter les tâches définies dans le playbook wordpress.yml
.
Résultat
Après avoir exécuté ces étapes, WordPress devrait être installé et accessible via votre navigateur à l’adresse IP de votre serveur. Vous pouvez maintenant configurer votre site WordPress en suivant les instructions à l’écran.
Déployer WordPress avec Ansible sur un serveur Ubuntu est une méthode efficace et automatisée qui simplifie grandement le processus. En utilisant Ansible, vous pouvez non seulement déployer WordPress, mais aussi gérer et maintenir votre infrastructure de manière cohérente et reproductible.