Pile LEMP
La pile LEMP (Linux, Nginx, MariaDB et PHP) est une solution de rechange haute performance à la pile LAMP classique. Nginx gère le trafic HTTP plus efficacement qu’Apache sous charge, ce qui en fait un bon choix pour les applications Web de production. Cette image exécute toute la pile dans Docker Compose pour simplifier la gestion.
Logiciels inclus
Section intitulée « Logiciels inclus »| Composant | Version |
|---|---|
| Nginx | Dernière stable |
| MariaDB | Dernière stable |
| PHP-FPM | 8.4 |
| Docker | Dernière stable |
| Docker Compose | Dernière stable |
| Ubuntu | 24.04 LTS |
Variables d’environnement
Section intitulée « Variables d’environnement »Vous pouvez définir ces valeurs lors du déploiement de LEMP depuis la marketplace. Laissez un champ vide pour générer automatiquement une valeur aléatoire sécurisée.
| Variable | Description |
|---|---|
MARIADB_ROOT_PASSWORD | Mot de passe root de la base de données |
MARIADB_DATABASE | Nom de la base de données applicative à créer |
MARIADB_USER | Nom d’utilisateur de la base de données applicative |
MARIADB_PASSWORD | Mot de passe de l’utilisateur applicatif |
Bien démarrer
Section intitulée « Bien démarrer »1. Connectez-vous à votre VM
Section intitulée « 1. Connectez-vous à votre VM »ssh ubuntu@<your-vm-ip>2. Attendez la configuration au premier démarrage
Section intitulée « 2. Attendez la configuration au premier démarrage »Au premier démarrage, un script de configuration s’exécute automatiquement. Il:
- génère des mots de passe aléatoires pour l’utilisateur
rootMariaDB et l’utilisateur applicatif; - écrit la configuration d’environnement dans
/opt/lemp/.env; - enregistre les identifiants dans
/etc/lemp/credentials.txt; - démarre les conteneurs Nginx, PHP-FPM et MariaDB avec Docker Compose.
Cela prend moins de 60 secondes. Suivez la progression:
journalctl -u lemp-first-boot.service -f3. Récupérez les identifiants
Section intitulée « 3. Récupérez les identifiants »sudo cat /etc/lemp/credentials.txtCe fichier contient le mot de passe root MariaDB et les identifiants de la base de données
applicative. Il est lisible uniquement par root.
4. Vérifiez que la pile est en cours d’exécution
Section intitulée « 4. Vérifiez que la pile est en cours d’exécution »cd /opt/lemp && docker compose psOuvrez un navigateur et accédez à:
http://<your-vm-ip>Déployer votre application
Section intitulée « Déployer votre application »Placez les fichiers de votre application PHP dans la racine Web:
sudo cp -r my-app/* /opt/lemp/www/Connectez-vous à MariaDB depuis l’intérieur de la pile:
cd /opt/lemp && docker compose exec mariadb mariadb -u root -pGérer la pile LEMP
Section intitulée « Gérer la pile LEMP »Toute la gestion se fait avec Docker Compose depuis /opt/lemp:
# Vérifier l'étatdocker compose ps
# Redémarrer tous les servicesdocker compose restart
# Consulter les journaux Nginxdocker compose logs nginx -f
# Consulter les journaux PHP-FPMdocker compose logs php -f
# Consulter les journaux MariaDBdocker compose logs mariadb -f
# Arrêter la piledocker compose down
# Démarrer la piledocker compose up -dChemins importants:
| Chemin | Rôle |
|---|---|
/opt/lemp/www/ | Racine Web |
/opt/lemp/.env | Variables d’environnement (mots de passe) |
/opt/lemp/nginx/ | Configuration Nginx |
/etc/lemp/credentials.txt | Référence des identifiants |
Sécurité
Section intitulée « Sécurité »Le port 80 est ouvert par défaut. UFW est activé.
Après avoir configuré HTTPS, limitez le trafic HTTP:
sudo ufw allow 443/tcpsudo ufw delete allow 80/tcp