DEV Community

La grâce Nkinki
La grâce Nkinki

Posted on

Déployer un Site WordPress sur AWS Elastic Beanstalk : Le Guide Complet

 
Déployer WordPress sur AWS Elastic Beanstalk permet de bénéficier d'une infrastructure scalable, gérée et hautement disponible, sans devoir tout configurer manuellement. Dans ce guide, je vous explique comment héberger un site WordPress avec PHP + Elastic Beanstalk et une base de données Amazon RDS, étape par étape.

 Prérequis
Avant de commencer, assurez-vous d'avoir :
Un compte AWS actif.
Les outils AWS CLI et EB CLI installés.
Une paire de clés SSH pour accéder aux instances EC2.

 Étape 1 : Préparer votre environnement local

  1. Créez un répertoire de travail

mkdir wordpress-beanstalk
cd wordpress-beanstalk

  1. Téléchargez WordPress

curl -O https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
mv wordpress/* .
rm -rf wordpress latest.tar.gz

  1. Configurez le fichier wp-config.php

Créez un fichier wp-config.php avec les variables d'environnement fournies automatiquement par Elastic Beanstalk :

<?php
define('DB_NAME', getenv('RDS_DB_NAME'));
define('DB_USER', getenv('RDS_USERNAME'));
define('DB_PASSWORD', getenv('RDS_PASSWORD'));
define('DB_HOST', getenv('RDS_HOSTNAME') . ':' . getenv('RDS_PORT'));
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');
$table_prefix = 'wp_';
define('WP_DEBUG', false);
if (!defined('ABSPATH')) define('ABSPATH', dirname(__FILE__) . '/');
require_once(ABSPATH . 'wp-settings.php');

  1. Créez le dossier .ebextensions

Ce répertoire permet de configurer votre environnement Elastic Beanstalk.

mkdir .ebextensions
Ajoutez le fichier .ebextensions/wordpress.config :
option_settings:
aws:elasticbeanstalk:application:environment:
RDS_DB_NAME: 'your_db_name'
RDS_USERNAME: 'your_db_username'
RDS_PASSWORD: 'your_db_password'
RDS_HOSTNAME: 'your_db_endpoint'
RDS_PORT: '3306'

 Remplacez les valeurs par celles de votre base de données RDS.

 Étape 2 : Créer une base de données Amazon RDS

Accédez à la console Amazon RDS.
Cliquez sur "Créer une base de données".
Choisissez MySQL.
Sélectionnez le modèle Free Tier si vous êtes éligible.
Renseignez les identifiants de la base.
Activez l'accès public si nécessaire.

Vérifiez la configuration du groupe de sécurité :
Autorisez les connexions entrantes sur le port 3306.
Assurez-vous que les instances EC2 d'Elastic Beanstalk peuvent accéder à la base.

 Étape 3 : Déployer WordPress sur Elastic Beanstalk

  1. Initialisez l'application

eb init -p php your-application-name

Configurez l'environnement : région, SSH, etc.

  1. Créez un environnement Beanstalk

eb create your-environment-name

Elastic Beanstalk provisionnera les ressources (EC2, load balancer…).

  1. Déployez l'application

eb deploy

Cette commande empaquète votre application WordPress et la déploie.

  1. Accédez à votre site

eb open

Cela ouvre directement votre site WordPress dans le navigateur.

 Étape 4 : Finaliser l'installation de WordPress

Sur la page d'accueil, WordPress vous invite à :
Choisir la langue du site.
Définir le titre, l'admin, le mot de passe et l'email.
Vous connecter à l'interface d'administration.

 Conseils supplémentaires

Sauvegardes : Activez les snapshots automatisés sur votre base RDS.
Mises à jour : Gardez WordPress, vos thèmes et plugins à jour.
Sécurité : Installez un plugin de sécurité (Wordfence, iThemes…) et configurez SSL via AWS Certificate Manager.

 Conclusion

En suivant ce guide, vous avez déployé un site WordPress robuste et évolutif sur AWS. Elastic Beanstalk vous offre une solution managée, tandis qu'Amazon RDS vous assure des performances et une fiabilité accrues pour la base de données.

Besoin d'aller plus loin ? Vous pouvez intégrer un CDN (CloudFront), ajouter du caching, ou configurer un pipeline CI/CD pour automatiser vos déploiements.

Top comments (0)