Pile LAMP
La pile LAMP (Linux, Apache, MariaDB et PHP) est la combinaison classique pour héberger des applications Web et des sites dynamiques. Cette image fournit les quatre composants préinstallés et configurés pour fonctionner ensemble, prêts pour le déploiement de votre application.
Logiciels inclus
Section intitulée « Logiciels inclus »| Composant | Version |
|---|---|
| Apache | 2.4.x |
| MariaDB | Dernière stable |
| PHP | 8.4 |
| Extensions PHP | cli, mysql, curl, gd, mbstring, xml, zip, bcmath, intl |
| Ubuntu | 24.04 LTS |
Variables d’environnement
Section intitulée « Variables d’environnement »Cette image n’accepte aucune variable au déploiement. MariaDB est installé avec authentification par
socket pour root, et aucune base de données applicative n’est créée. Créez-en une après le premier
démarrage:
sudo mariadb -e "CREATE DATABASE app;"sudo mariadb -e "CREATE USER 'app'@'localhost' IDENTIFIED BY '<password>';"sudo mariadb -e "GRANT ALL PRIVILEGES ON app.* TO 'app'@'localhost';"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. Vérifiez que les services sont en cours d’exécution
Section intitulée « 2. Vérifiez que les services sont en cours d’exécution »Aucune configuration de premier démarrage n’est requise. Tous les services démarrent immédiatement.
systemctl status apache2systemctl status mariadbphp --version3. Accédez à la page Web par défaut
Section intitulée « 3. Accédez à la page Web par défaut »Ouvrez un navigateur et accédez à:
http://<your-vm-ip>4. Déployez votre application
Section intitulée « 4. Déployez votre application »Placez les fichiers de votre application dans la racine Web:
sudo cp -r my-app/* /var/www/html/sudo chown -R www-data:www-data /var/www/html/5. Configurez une base de données
Section intitulée « 5. Configurez une base de données »Sur une nouvelle installation, aucun mot de passe n’est requis. L’authentification utilise le socket
système. Connectez-vous comme root:
sudo mariadbCréez une base de données et un utilisateur pour votre application:
CREATE DATABASE myapp CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;CREATE USER 'myapp'@'localhost' IDENTIFIED BY '<strong-password>';GRANT ALL PRIVILEGES ON myapp.* TO 'myapp'@'localhost';FLUSH PRIVILEGES;EXIT;Gérer la pile LAMP
Section intitulée « Gérer la pile LAMP »# Redémarrer Apachesudo systemctl restart apache2
# Redémarrer MariaDBsudo systemctl restart mariadb
# Consulter les journaux Apachesudo tail -f /var/log/apache2/error.log
# Consulter les journaux MariaDBsudo journalctl -u mariadb -fRépertoires et fichiers importants:
| Chemin | Rôle |
|---|---|
/var/www/html/ | Racine Web par défaut |
/etc/apache2/sites-available/ | Hôtes virtuels Apache |
/etc/php/8.4/apache2/php.ini | Configuration PHP pour Apache |
/etc/mysql/mariadb.conf.d/ | Configuration MariaDB |
Pour créer un hôte virtuel pour un domaine, ajoutez un fichier de configuration dans
/etc/apache2/sites-available/ et activez-le:
sudo a2ensite myapp.confsudo systemctl reload apache2Sé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