Installation LAMP sur Debian 12

Installation LAMP sur Debian 12

Le terme LAMP est un acronyme désignant un ensemble de logiciels open-source utilisés pour créer des serveurs web puissants et performants. Il est composé de Linux (le système d’exploitation), Apache (le serveur web), MariaDB/MySQL (le système de gestion de bases de données), et PHP (le langage de programmation côté serveur).
Précédemment, j’ai publié un petit tutoriel sur l’installation de LAMP sur Ubuntu en utilisant MySQL, ainsi que sur la configuration des virtual hosts pour l’installation de deux sites web. Cependant, sur Ubuntu, la gestion des paquets et certaines commandes diffèrent légèrement de celles de Debian. Dans ce guide détaillé, je vais vous montrer comment installer et configurer un environnement LAMP sur Debian 12 avec MariaDB pour un seul site web, sans modification des virtual hosts. Bien que Debian et Ubuntu partagent de nombreuses similitudes, il existe quelques différences dans la gestion des paquets et les configurations par défaut. Par exemple, les dépôts logiciels peuvent varier, tout comme les versions de certains logiciels tels que MariaDB et PHP.
À la fin de ce tutoriel, vous disposerez d’un serveur web fonctionnel capable d’héberger des sites dynamiques et des applications web sur Debian 12, tout en comprenant les différences subtiles mais importantes entre les deux distributions.

Prérequis :

Dans ce tutoriel, j’utilise un conteneur LXC Debian 12 configuré sous Proxmox, mais vous pouvez également suivre ces étapes sur un serveur Debian ou Ubuntu. Il est également nécessaire d’avoir un accès SSH au conteneur avec un utilisateur disposant des privilèges sudo. Par exemple, j’ai créé un utilisateur nommé oleks et l’ai ajouté au groupe sudoers.

Étape 1: Préparation du système

Connexion au serveur :
Connectez-vous à votre serveur Debian 12 via SSH en utilisant un client comme PuTTY ou MobaXterm.

Mettre à jour le système:
Avant de commencer l’installation, il est important de mettre à jour votre système pour s’assurer que vous disposez des derniers paquets. Ouvrez un terminal et exécutez les commandes suivantes :

sudo apt update 
sudo apt upgrade -y

Installer les paquets requis:
Installez les outils nécessaires à l’installation de LAMP, comme wget et curl.

sudo apt install wget curl -y

 

Étape 2: Installation d’Apache

Installer Apache:
Apache est l’un des serveurs web les plus utilisés au monde. Installez-le avec la commande suivante :

sudo apt install apache2 -y

Démarrer et activer Apache:
Après l’installation, démarrez Apache et assurez-vous qu’il démarre automatiquement au démarrage du système :

sudo systemctl start apache2 
sudo systemctl enable apache2

Vérifier le statut d’Apache:
Pour vérifier si Apache fonctionne correctement, tapez :

sudo systemctl status apache2

Tester Apache :
Ouvrez votre navigateur et saisissez l’URL suivante : http://votre_adresse_ip. Vous devriez voir la page d’accueil par défaut d’Apache, indiquant que le serveur web est installé et fonctionne correctement.
Dans mon cas, l’adresse IP de mon conteneur est : http://192.168.0.242.

Étape 3: Installation de MariaDB

Installer MariaDB:
MariaDB est une alternative open-source à MySQL. Installez-le avec la commande suivante :

sudo apt install mariadb-server -y

Démarrer et sécuriser MariaDB:
Lancez MariaDB et exécutez le script de sécurité pour définir le mot de passe root et désactiver les accès non sécurisés :

sudo systemctl start mariadb 
sudo mysql_secure_installation

Suivez les instructions à l’écran et choisissez y pour toutes les options proposées. Pour plus d’informations détaillées sur la sécurisation de MariaDB, consultez mon article “Installation de MariaDB sur Debian“, dans la section “Sécurisation de MariaDB”.

Accéder à MariaDB:
Pour accéder à MariaDB en tant qu’utilisateur root, tapez :

sudo mysql -u root -p

Étape 4: Installation de PHP

Installer PHP et les extensions nécessaires:
PHP est le langage utilisé pour créer des pages web dynamiques. Installez-le avec ses extensions couramment utilisées :

sudo apt install php php-mysql libapache2-mod-php php-cli php-curl php-gd php-zip -y

Vérifier l’installation de PHP:
Créez un fichier de test pour vérifier que PHP fonctionne correctement. Tapez la commande suivante :

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

Accédez ensuite à ce fichier via votre navigateur à l’adresse http://votre_adresse_ip/info.php. Vous devriez voir une page avec des informations sur PHP.
Dans mon cas:

http://192.168.0.242/info.php

Supprimer le fichier de test:
Pour des raisons de sécurité, supprimez le fichier de test PHP après avoir vérifié son bon fonctionnement :

sudo rm /var/www/html/info.php

Étape 5: Configurer Apache pour utiliser PHP

Configurer le module dir.conf:
Modifiez le fichier dir.conf pour donner la priorité à index.php par rapport à index.html :

sudo nano /etc/apache2/mods-enabled/dir.conf

Changez la ligne :

DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm

en :

DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm

Sauvegarder le fichier.

Redémarrer Apache:
Pour appliquer les modifications, redémarrez le serveur Apache :

sudo systemctl restart apache2

Étape 6: Test de l’environnement LAMP

Créer un fichier PHP de test:

Ouvrir le fichier index.php avec nano ou vim:
Ouvrez le terminal et exécutez la commande suivante pour créer ou modifier le fichier index.php :

sudo nano /var/www/html/index.php

Insérer le contenu dans le fichier:
Dans l’éditeur nano, tapez le code suivant pour afficher un message de succès :

<?php 
echo 'Bonjour, LAMP est installé avec succès!'; 
?>

Sauvegarder le fichier.

Vérifier le fichier index.php:
Ouvrez votre navigateur et accédez à http://votre_adresse_ip (remplacez votre_adresse_ip par l’adresse IP de votre serveur). Vous devriez voir le message :

Bonjour, LAMP est installé avec succès

Dans mon cas:

http://192.168.0.242

Vous avez maintenant installé un environnement LAMP fonctionnel sur votre serveur Debian 12. Cela vous permet de commencer à développer et héberger vos propres sites web ou applications, que ce soit pour des projets d’études ou des projets personnels.

Bonne chance !

Comments are closed