Installer la pile LAMP sur un serveur sous Debian ou Ubuntu
Veuillez utiliser la fonction « Imprimer » au bas de la page pour créer un PDF.
Pour Serveur Cloud, Serveur Cloud migré, VPS et Serveur Dédié sur lesquels Debian 11, Debian 12, Ubuntu 18.04, Ubuntu 20.04, Ubuntu 22.04 ou Ubuntu 24.04 est installé.
Dans cet article, nous vous montrons comment installer une pile LAMP sur un Serveur Cloud, un Serveur Cloud migré , un VPS ou un Serveur Dédié avec Debian 11, Debian 12, Ubuntu 18.04, Ubuntu 20.04, Ubuntu 22.04 ou Ubuntu 24.04. Une pile LAMP se compose du système d'exploitation Linux et des applications logicielles Apache, MySQL et PHP. Ceux-ci sont installés ensemble pour héberger des sites Web dynamiques et des applications web sur un serveur.
Voici comment installer une pile LAMP :
Condition préalable
Avant d'installer la pile LAMP, vous vous êtes assuré que votre serveur disposait de capacités matérielles suffisantes.
Pour installer Apache, procédez comme suit :
Installer Apache
Pour vérifier si une mise à jour est disponible, saisissez les commandes suivantes :
root@ubuntu:~# sudo apt update && sudo apt upgrade -y
Pour installer Apache, saisissez la commande suivante :
root@ubuntu:~# apt install apache2
L'installation est lancée. Le message suivant s'affiche dans le cadre de l'installation :
The following NEW packages will be installed:
apache2 apache2-bin apache2-data apache2-utils bzip2 libapr1 libaprutil1
libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.3-0 mailcap mime-support
ssl-cert
0 upgraded, 13 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,135 kB of archives.
After this operation, 8,486 kB of additional disk space will be used.
Do you want to continue? [Y/n]- Saisissez [y] et appuyez sur [Entrée].
Apache est alors en cours d'installation.
- Pour vérifier si Apache a été installé et démarré avec succès, entrez l'adresse IP publique de votre serveur dans votre navigateur Web au format suivant :
http://votre_adresse_ip_serveur/
Si une page de test s'affiche, l'installation d'Apache a réussi.
Installer Maria DB (Debian 11 et Debian 12)
Debian 11 utilise MariaDB comme remplacement par défaut de MySQL. Pour installer MariaDB, procédez comme suit :
Installez le métapaquet du serveur MySQL. Ce paquet installera MariaDB en remplacement de MySQL. Pour installer le paquet, saisissez la commande suivante :
root@localhost:~# sudo apt install default-mysql-server
Le message suivant s'affiche ensuite :
After this operation, 195 MB of additional disk space will be used.
Do you want to continue? [Y/n]- Saisissez [Y].
Démarrez le service MariaDB. Pour cela, saisissez la commande suivante :
root@localhost:~# sudo systemctl start mariadb
Activez le service MariaDB pour qu'il démarre automatiquement au démarrage du système :
root@localhost:~# sudo systemctl enable mariadb
Pour vérifier l'état du service MariaDB, saisissez la commande suivante :
root@localhost:~# sudo systemctl status mariadb
- Pour quitter l'affichage du statut, appuyez sur [q].
Connectez-vous à MySQL. Pour cela, saisissez la commande suivante :
root@localhost:~# sudo mysql -u root -p
- Saisissez le mot de passe root.
Saisissez la commande suivante et remplacez le caractère générique MON_NOUVEAU_MOT_DE_PASSE par le mot de passe souhaité.
mysql> ]> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MON_NOUVEAU_MOT_DE_PASSE' ;
Pour quitter MySQL, saisissez la commande suivante :
mysql>exit
Pour exécuter un script de sécurité qui supprime certains paramètres par défaut dangereux et limite l'accès au système de base de données, saisissez la commande suivante :
root@localhost:~# mysql_secure_installation
In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and haven't set the root password yet, you should just press enter here.
Enter current password for root (enter for none):Saisissez le mot de passe root que vous avez défini pour la base de données MySQL.
Le message suivant s'affiche ensuite :
OK, successfully used password, moving on…
Setting the root password or using the unix_socket ensures that nobody can log into the MariaDB root user without the proper authorisation.
You already have your root account protected, so you can safely answer 'n'.
Switch to unix_socket authentication [Y/n]Saisissez [n]. Le message suivant s'affiche ensuite :
Switch to unix_socket authentication [Y/n] n
... skipping.
You already have your root account protected, so you can safely answer 'n'.
Change the root password? [Y/n]Saisissez [n]. Le message suivant s'affiche :
By default, a MariaDB installation has an anonymous user, allowing anyoneto log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment.
Remove anonymous users? [Y/n]Pour supprimer des utilisateurs anonymes, saisissez [y] et appuyez sur [Enter]. Le message suivant s'affiche ensuite :
Disallow root login remotely? [Y/n]
Saisissez [y] et appuyez sur [Entrée]. Le message suivant s'affiche alors :
Remove test database and access to it ?
Saisissez [y] et appuyez sur [Entrée]. Le message suivant s'affiche alors :
Reload privilege tables now? [Y/n]
- Pour recharger les tables de privilèges MySQL, saisissez [y]. Pour confirmer votre saisie, appuyez sur [Entrée].
Installer MySQL (Ubuntu 20.04, Ubuntu 22.04, Ubuntu 24.04)
Pour installer MySQL, saisissez la commande suivante :
root@ubuntu:~# apt install mysql-server
Après avoir saisi la commande, le message suivant s'affiche :
Need to get 28.6 MB of archives.
After this operation, 240 MB of additional disk space will be used.
Do you want to continue? [Y/n]Saisissez [y] et appuyez sur [Enter]. MySQL est en cours d'installation.
Connectez-vous à MySQL. Pour cela, saisissez la commande suivante :
root@ubuntu:~# sudo mysql
Saisissez la commande suivante et remplacez le caractère générique MON_NOUVEAU_MOT_DE_PASSE par le mot de passe souhaité.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MON_NOUVEAU_MOT_DE_PASSE' ;
Pour quitter MySQL, saisissez la commande suivante :
mysql>exit
Pour exécuter un script de sécurité qui supprime certains paramètres par défaut dangereux et limite l'accès au système de base de données, saisissez la commande suivante :
root@ubuntu:~# mysql_secure_installation
Après avoir saisi la commande, le message suivant s'affiche :
Securing the MySQL server deployment.
Ensuite, le message suivant s'affiche :
VALIDATE PASSWORD PLUGIN can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD plugin?
Press y|Y for Yes, any other key for No:Si vous activez le VALIDATE PASSWORD PLUGIN, les mots de passe qui ne correspondent pas aux critères indiqués seront rejetés par MySQL avec une erreur. Cela peut poser des problèmes si vous utilisez un mot de passe faible en combinaison avec un logiciel qui configure automatiquement les données utilisateur de MySQL. Pour cette raison, nous vous recommandons de ne pas configurer cette fonction. Toutefois, utilisez toujours un mot de passe sûr.
Pour ignorer la configuration du plugin Validate Password, saisissez [n] et appuyez sur [Entrée]. Le message suivant s'affiche :
By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment.
Remove anonymous users? [Y/n]Pour supprimer des utilisateurs anonymes, saisissez [y] et appuyez sur [Enter]. Le message suivant s'affiche ensuite :
Disallow root login remotely? [Y/n]
Saisissez [y] et appuyez sur [Entrée]. Le message suivant s'affiche alors :
Remove test database and access to it?
Saisissez [y] et appuyez sur [Entrée]. Le message suivant s'affiche alors :
Reload privilege tables now?
Pour recharger les tables de privilèges MySQL, saisissez [y]. Pour confirmer, appuyez sur [Entrée].
Installer PHP
Pour installer le langage de script PHP, procédez comme suit :
Pour installer le paquet PHP-MySQL, saisissez la commande suivante :
root@ubuntu:~# apt install php libapache2-mod-php php-mysql
Le message suivant s'affiche :
After this operation, 18.9 MB of additional disk space will be used.
Do you want to continue? [Y/n]- Pour continuer l'installation, saisissez [y]. Appuyez ensuite sur [Entrée].
Ajuster les paramètres dans le fichier dir.conf
Si un utilisateur ne spécifie pas de page spécifique dans l'URL, Apache recherche d'abord par défaut la page d'accueil nommée index.html. Pour configurer Apache de manière à ce que le fichier index.php soit privilégié dans cette recherche, procédez comme suit :
Pour ouvrir le fichier dir.conf avec l'éditeur vi, saisissez la commande suivante :
vi /etc/apache2/mods-enabled/dir.conf
Remarques
- L'éditeur vi dispose d'un mode d'insertion et d'un mode de commande ou d'instruction. Vous pouvez accéder au mode d'insertion en appuyant sur la touche [i]. Dans ce mode, les caractères saisis sont immédiatement insérés dans le texte. Pour accéder au mode commande, appuyez ensuite sur [ESC]. Lorsque vous utilisez le mode commande, vos saisies au clavier sont interprétées comme des commandes.
- vi ne peut pas être quitté en mode insertion. Pour quitter vi, il faut donc toujours passer en mode commande.
Appuyez sur [i] et personnalisez l'entrée suivante :
<IfModule mod_dir.c>
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>.- Déplacez l'entrée index.php pour qu'elle se trouve derrière l'entrée DirectoryIndex.
- Pour passer en mode commande, appuyez sur [ESC]. Saisissez ensuite la commande :wq pour enregistrer le texte et fermer l'éditeur.
Pour que ces modifications soient prises en compte, vous devez redémarrer Apache. Pour redémarrer Apache, saisissez la commande suivante :
root@ubuntu:~# systemctl restart apache2
Installer des modules PHP
Pour étendre les fonctionnalités de PHP, vous pouvez installer des modules supplémentaires.
Pour afficher les options disponibles pour les modules et les bibliothèques PHP, passez les résultats de apt search à less. Less est un pager qui vous permet d'afficher des fichiers texte dans la ligne de commande. De plus, less vous permet de vous déplacer à volonté dans les documents. Pour cela, saisissez la commande suivante :
root@ubuntu:~# apt search php- | less
Pour faire défiler vers le haut ou vers le bas, utilisez les touches fléchées. Pour quitter less, appuyez sur [q].
Pour obtenir des informations détaillées sur un module PHP, saisissez la commande suivante :
root@ubuntu:~# apt show package_name
Exemple :
root@ubuntu:~# apt show php-codesniffer
Pour installer les modules PHP souhaités, saisissez la commande ci-dessous :
root@ubuntu:~# apt install package1 package2
Exemple :
root@ubuntu:~# apt install php-codesniffer php-cli
Tester PHP
Pour tester si PHP a été correctement installé, créez un script avec l'éditeur. Celui-ci doit être enregistré dans le répertoire /var/www/html. procédez comme suit pour créer le script et tester PHP :
Pour créer le script dans le répertoire /var/www/html, saisissez la commande suivante :
vi /var/www/html/info.php
L'éditeur vi s'ouvre.
Appuyez sur la touche [i] et saisissez ensuite le code PHP suivant :
<?php
phpinfo() ;
?>.- Pour passer en mode commande, appuyez sur [ESC]. Saisissez ensuite la commande :wq pour enregistrer le texte et fermer l'éditeur.
Pour tester si le contenu du script PHP s'affiche, ouvrez l'URL correspondante dans le format suivant dans votre navigateur Web :
http://monadresseipserveur /info.php
Pour supprimer la page affichée, saisissez la commande suivante :
rm /var/www/html/info.php