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