Serveur LAMP · 6 min read · Feb 02, 2026
Tutoriel de serveur LAMP Debian 9 avec Apache, PHP 7 et MariaDB
LAMP est l’acronyme de L inux, A pache, M ySQL, P HP. Ce tutoriel montre comment installer un serveur web Apache sur un serveur Debian Stretch (9) avec PHP 7 (mod_php) et le support de MariaDB. MariaDB est un fork du bien connu serveur de base de données MySQL, il fournit un ensemble de fonctionnalités compatible avec MySQL et est un peu plus rapide selon les benchmarks que j’ai trouvés sur Internet. MariaDB fonctionnera avec toutes les applications qui nécessitent MySQL comme Wordpress, Joomla, etc.
Une configuration LAMP est une base parfaite pour les systèmes CMS comme Joomla, Wordpress ou Drupal.
1 Remarque préliminaire
Dans ce tutoriel, j’utilise le nom d’hôte server1.example.com avec l’adresse IP 192.168.1.100. Ces paramètres peuvent différer pour vous, donc vous devez les remplacer là où c’est approprié.
2 Installation de MariaDB en remplacement de MySQL
Tout d’abord, nous installons MariaDB comme ceci :
apt-get -y install mariadb-server mariadb-clientEnsuite, nous allons sécuriser MariaDB avec la commande mysql_secure_installation. Exécutez la commande ci-dessous et suivez l’assistant.
mysql_secure_installationL’entrée recommandée est affichée en rouge.
mysql_secure_installationNOTE : L'EXÉCUTION DE TOUTES LES PARTIES DE CE SCRIPT EST RECOMMANDÉE POUR TOUS LES SERVEURS MariaDB EN UTILISATION PRODUCTION ! VEUILLEZ LIRE CHAQUE ÉTAPE ATTENTIVEMENT !Pour se connecter à MariaDB afin de le sécuriser, nous aurons besoin du mot de passe actuel pour l'utilisateur root. Si vous venez d'installer MariaDB, et que vous n'avez pas encore défini le mot de passe root, le mot de passe sera vide, donc vous devriez simplement appuyer sur entrer ici.Entrez le mot de passe actuel pour root (appuyez sur entrer pour aucun) : <-- Appuyez sur retour
OK, mot de passe utilisé avec succès, passage à la suite...Définir le mot de passe root ? [Y/n] <-- y
Nouveau mot de passe : <-- Entrez le nouveau mot de passe pour l'utilisateur root de MariaDB
Ressaisir le nouveau mot de passe : <-- Entrez le mot de passe à nouveau
Mot de passe mis à jour avec succès !
Rechargement des tables de privilèges..
... Succès !Par défaut, une installation de MariaDB a un utilisateur anonyme, permettant à quiconque de se connecter à MariaDB sans avoir à créer un compte utilisateur pour eux. Ceci est destiné uniquement aux tests, et pour rendre l'installation un peu plus fluide. Vous devriez les supprimer avant de passer à un environnement de production.Supprimer les utilisateurs anonymes ? [Y/n] <-- y
... Succès !Normalement, root ne devrait être autorisé à se connecter que depuis 'localhost'. Cela garantit que quelqu'un ne peut pas deviner le mot de passe root depuis le réseau.Interdire la connexion root à distance ? [Y/n] <-- y
... Succès !Par défaut, MariaDB est livré avec une base de données nommée 'test' à laquelle quiconque peut accéder. Ceci est également destiné uniquement aux tests, et devrait être supprimé avant de passer à un environnement de production.Supprimer la base de données de test et l'accès à celle-ci ? [Y/n] <-- y
- Suppression de la base de données de test...
... Succès !
- Suppression des privilèges sur la base de données de test...
... Succès !Recharger les tables de privilèges garantira que tous les changements effectués jusqu'à présent prendront effet immédiatement.Recharger les tables de privilèges maintenant ? [Y/n] <-- y
... Succès !Nettoyage...Tout est fait ! Si vous avez complété toutes les étapes ci-dessus, votre installation de MariaDB devrait maintenant être sécurisée.Merci d'utiliser MariaDB !La configuration de MariaDB est maintenant sécurisée.
3 Installation du serveur web Apache
Apache est disponible en tant que paquet Debian, donc nous pouvons l’installer comme ceci :
apt-get -y install apache2Maintenant, dirigez votre navigateur vers http://192.168.1.100, et vous devriez voir la page de placeholder d’Apache2 (Ça fonctionne !) :

Le document root par défaut d’Apache est /var/www sur Debian, et le fichier de configuration est /etc/apache2/apache2.conf. Des configurations supplémentaires sont stockées dans des sous-répertoires du répertoire /etc/apache2 comme /etc/apache2/mods-enabled (pour les modules Apache), /etc/apache2/sites-enabled (pour les hôtes virtuels), et /etc/apache2/conf-enabled.
4 Installation de PHP 7.1
Nous pouvons installer PHP et le module PHP d’Apache comme suit :
apt-get -y install php7.0 libapache2-mod-php7.0Nous devons redémarrer Apache ensuite :
service apache2 restart5 Tester PHP / Obtenir des détails sur votre installation PHP
Le document root du site web par défaut est /var/www/html. Nous allons maintenant créer un petit fichier PHP (info.php) dans ce répertoire et l’appeler dans un navigateur. Le fichier affichera de nombreux détails utiles sur notre installation PHP, comme la version de PHP installée.
nano /var/www/html/info.phpMaintenant, nous appelons ce fichier dans un navigateur (par exemple http://192.168.1.100/info.php) :

Comme vous le voyez, PHP 7.0 fonctionne, et il fonctionne via le gestionnaire Apache 2.0, comme indiqué dans la ligne Server API. Si vous faites défiler plus bas, vous verrez tous les modules qui sont déjà activés dans PHP5. MySQL / MariaDB n’est pas listé là, ce qui signifie que nous n’avons pas encore de support MySQL dans PHP5.
6 Obtenir le support MySQL et MariaDB dans PHP
Pour obtenir le support MySQL dans PHP, nous allons installer le paquet php7.0-mysql. C’est une bonne idée d’installer quelques autres modules PHP également car vous pourriez en avoir besoin pour vos applications. Vous pouvez rechercher les modules PHP 7 disponibles comme ceci :
apt-cache search php7.0Choisissez ceux dont vous avez besoin et installez-les comme ceci :
apt-get -y install php7.0-mysql php7.0-curl php7.0-gd php7.0-intl php-pear php-imagick php7.0-imap php7.0-mcrypt php-memcache php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xslMaintenant, redémarrez Apache :
service apache2 restart7 Cache PHP pour améliorer la vitesse de PHP
Pour accélérer PHP, un Opcache doit être installé. Vérifiez si le module Opcache de PHP a été installé et activé correctement. Exécutez cette commande :
php --versionLa sortie doit contenir la ligne que j’ai marquée en rouge.
PHP 7.0.27-0+deb9u1 (cli) (construit : Jan 5 2018 13:51:52) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
avec Zend OPcache v7.0.27-0+deb9u1, Copyright (c) 1999-2017, par Zend TechnologiesSi vous ne voyez pas le module Opcache dans le résultat, installez-le avec cette commande :
apt-get -y install php7.0-opcacheIl y a un autre cache qui pourrait être utile, il s’appelle APCu. APCu est un cache d’opcode PHP gratuit pour mettre en cache et optimiser le code intermédiaire PHP.
APCu peut être installé comme suit :
apt-get -y install php-apcuMaintenant, redémarrez Apache :
service apache2 restartMaintenant, rechargez http://192.168.1.100/info.php dans votre navigateur et faites défiler vers le bas jusqu’à la section des modules à nouveau. Vous devriez maintenant trouver de nombreux nouveaux modules là-bas, y compris le module MySQL qui est utilisé comme pilote MariaDB :

8 phpMyAdmin
phpMyAdmin est une interface web à travers laquelle vous pouvez gérer vos bases de données MySQL et MariaDB. C’est une bonne idée de l’installer :
apt-get -y install phpmyadminVous verrez les questions suivantes :

Serveur web à reconfigurer automatiquement : <-- apache2Configurer la base de données pour phpmyadmin avec dbconfig-common ?<-- OuiMot de passe de l'application MySQL pour phpmyadmin : <-- Appuyez sur entrer, apt créera un mot de passe aléatoire automatiquement.Ensuite, vous pouvez accéder à phpMyAdmin sous http://192.168.1.100/phpmyadmin/ :

9 Activer la connexion root MySQL pour phpMyAdmin
Bien que vous puissiez vous connecter en tant qu’utilisateur root dans MariaDB sur le shell, la connexion root ne fonctionnera pas dans phpMyAdmin. Pour permettre à l’utilisateur root d’utiliser phpMyAdmin également, exécutez la commande suivante sur le shell :
echo "UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root' AND plugin = 'unix_socket';FLUSH PRIVILEGES;" | mysql -u root -p10 Liens
- Apache : http://httpd.apache.org/
- PHP : http://www.php.net/
- MySQL : http://www.mysql.com/
- Debian : http://www.debian.org/
- phpMyAdmin : http://www.phpmyadmin.net/
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.