Le serveur HTTP Apache, connu sous le nom d’Apache, est un serveur web gratuit et open source, créé par la Fondation Apache Software. Lancé au début des années 1990, Apache a été pendant longtemps le serveur web dominant sur Internet, grâce à sa modularité, sa flexibilité et sa fiabilité. Il prend en charge un large éventail de fonctionnalités, y compris les hôtes virtuels, SSL/TLS et un système de configuration flexible. Apache est disponible pour divers systèmes d’exploitation, y compris UNIX, Linux et Windows. Dans cet article, nous examinerons l’installation d’Apache sur Debian 11. Les instructions sont également valables pour les versions antérieures, comme Debian 10, et pour les versions ultérieures, comme Debian 12.
Si vous suivez notre cours sur l’installation de WordPress sur un serveur sous Debian 11 sans panneau de contrôle et que vous avez déjà effectué l’installation de nginx, commencez par arrêter nginx.
sudo systemctl stop nginx
Vous pouvez maintenant passer à l’installation d’Apache.
Voici les instructions étape par étape pour l’installation d’Apache sur Debian 11 :
Étape 1. Mise à jour du système
Tout d’abord, mettez à jour la liste des paquets disponibles :
sudo apt update
Étape 2 : Installation d’Apache
sudo apt install apache2
Étape 3. Démarrage d’Apache sur Debian 11
sudo systemctl start apache2
Étape 4. Vérification du statut d’Apache
sudo systemctl status apache2
Si tout s’est bien passé, vous verrez le message « active (running) ».
Étape 5 : Configuration du pare-feu
Avec UFW, autorisez le trafic pour Apache. Pour cela, exécutez la commande :
sudo ufw allow 'WWW Full'
Étape 6 : Vérification du fonctionnement d’Apache
Ouvrez dans votre navigateur l’IP de votre serveur ou votre domaine. Pour notre cours, le sous-domaine http://test.friendhosting.net est utilisé
Si tout est en ordre, vous devriez voir la page standard « Apache2 Debian Default Page ».
Étape 7 : Création d’un répertoire pour votre site
Pour créer le répertoire racine de l’hôte virtuel test.friendhosting.net, vous devez exécuter la commande suivante dans le terminal :
sudo mkdir -p /var/www/test.friendhosting.net
Après avoir exécuté cette commande, le répertoire test.friendhosting.net sera créé dans le répertoire /var/www/, ainsi que tous les répertoires parents nécessaires le long du chemin, s’ils n’ont pas déjà été créés.
Pour définir les permissions correctes, exécutez la commande :
sudo chown -R www-data:www-data /var/www/test.friendhosting.net
Cette commande changera le propriétaire et le groupe pour le répertoire /var/www/test.friendhosting.net et tous ses sous-répertoires et fichiers en www-data. Cela est fait pour que le serveur web puisse travailler correctement avec le contenu de ce répertoire, ayant les droits de lire, d’écrire ou d’exécuter des opérations en fonction de la configuration.
Étape 8 : Configuration de l’hôte virtuel Apache dans Debian 11
Les hôtes virtuels permettent à votre serveur web Apache de traiter les requêtes et de servir différents domaines, comme si vous aviez plusieurs serveurs web sur un seul serveur physique.
Apache dispose d’un répertoire sites-available où sont stockées les configurations disponibles des hôtes virtuels. Un fichier distinct est nécessaire pour chaque site. Créez un fichier de configuration pour le site. Comme exemple, nous utiliserons test.friendhosting.net
sudo nano /etc/apache2/sites-available/test.friendhosting.net.conf
Ajoutez-y la configuration suivante :
<VirtualHost *:80> ServerAdmin [email protected] ServerName test.friendhosting.net ServerAlias www.test.friendhosting.net DocumentRoot /var/www/test.friendhosting.net/ ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Chaque directive dans la configuration d’un hôte virtuel Apache joue un rôle et est importante pour le paramétrage correct de l’hébergement pour un site web. Voici une description détaillée de chacune d’entre elles :
ServerAdmin indique l’adresse e-mail de l’administrateur du site. Cette adresse est souvent affichée sur les pages d’erreur du serveur afin que les visiteurs puissent signaler des problèmes techniques. Dans l’exemple [email protected], c’est l’adresse à laquelle les informations sur les problèmes seront envoyées.
ServerName établit le domaine principal servi par l’hôte virtuel. Lorsque Apache reçoit une demande, il utilise la valeur de ServerName pour déterminer quel hôte virtuel utiliser. La valeur test.friendhosting.net indique que cet hôte virtuel répondra aux demandes destinées à ce domaine.
ServerAlias définit des domaines supplémentaires qui seront gérés par cet hôte virtuel. Cela permet à un seul hôte virtuel de répondre aux demandes de différents noms de domaine. Dans ce cas, www.test.friendhosting.net est un alias, et l’hôte virtuel traitera également les demandes pour la version www du domaine.
DocumentRoot spécifie le répertoire où les fichiers du site sont stockés. C’est le répertoire racine à partir duquel Apache servira le contenu pour l’hôte virtuel. Dans l’exemple, /var/www/test.friendhosting.net/ est le dossier où tous les fichiers du site seront situés, tels que HTML, CSS, JavaScript et images.
ErrorLog spécifie le chemin vers le fichier où seront enregistrés les messages d’erreurs du serveur. Ce journal contient des informations détaillées sur toutes les erreurs survenues sur le serveur et est souvent utilisé pour le diagnostic des problèmes. Dans cet exemple, ${APACHE_LOG_DIR}/error.log utilise la variable d’environnement APACHE_LOG_DIR, qui est généralement définie comme /var/log/apache2.
CustomLog indique le chemin vers le fichier de journal d’accès, où les informations sur chaque demande au serveur sont enregistrées. Cela inclut des détails tels que l’adresse IP du visiteur, l’URL demandé, l’heure de la demande et le code de statut de la réponse du serveur. La directive ‘combined’ à la fin signifie que le format combiné de journal sera utilisé, qui est un standard largement accepté et contient des informations utiles telles que le référant (d’où vient l’utilisateur) et des informations sur l’agent utilisateur (quel navigateur a été utilisé).
Il est temps d’activer votre hôte virtuel. Pour cela, exécutez la commande suivante
sudo a2ensite test.friendhosting.net
Maintenant, désactivez l’hôte virtuel par défaut. Pour cela, exécutez la commande suivante
sudo a2dissite 000-default.conf
Redémarrez Apache :
sudo systemctl restart apache2
Créons index.html dans le répertoire racine de notre site. Exécutez la commande
sudo nano /var/www/test.friendhosting.net/index.html
et copiez-y le texte suivant
Virtual host test.friendhosting.net is working.
Maintenant, en ouvrant notre domaine http://test.friendhosting.net dans un navigateur, nous verrons la page standard
Ceci est une instruction de base pour l’installation et la configuration d’Apache sur Debian 11. Il existe de nombreux paramètres et optimisations supplémentaires que vous pouvez effectuer pour adapter le serveur à vos besoins de manière optimale.