top of page
Rechercher

Apache 2

  • 20 nov. 2025
  • 3 min de lecture

Guide Complet : Configuration Apache2 (Domaine "arthur.local")


Partie 1 - Présentation d'Apache2


Apache HTTP Server est un serveur web puissant et open source. Il fonctionne sur une architecture modulaire qui lui permet d'être très flexible (gestion de la sécurité, langages dynamiques comme PHP, etc.). Sa fonctionnalité de Virtual Hosts est essentielle : elle permet de faire tourner plusieurs sites internet indépendants sur une seule et même machine.


Partie 2 - Les prérequis


  • Une machine sous Debian.


  • Une interface réseau nommée enp0s3.


  • Une adresse IP statique définie sur 192.168.1.56.


  • Les privilèges administrateur (root).


Partie 3 - Installation d'Apache2 sur la Debian


1. Mise à jour et Installation


On commence par mettre à jour les dépôts pour récupérer la dernière version stable, puis on installe le service.



apt update
apt install apache2 -y

2. Vérification du service


Une fois installé, on vérifie que le processus est actif :



systemctl status apache2

(Vous devriez voir le statut "active (running)" en vert).



Vous pouvez tester l'installation en ouvrant un navigateur web et en tapant



La page "Apache2 Debian Default Page" doit s'afficher.


Partie 4 - Configuration d'un hébergement web avec Apache2


Sous-partie 1 - Hébergement d'un site avec 2 IP (Virtual Host par IP)


Ici, nous allons héberger deux sites distincts en utilisant deux adresses IP différentes sur la même carte réseau.


Étape 1 : Ajout de l'IP secondaire


Nous devons ajouter l'adresse 192.168.1.156 sur l'interface enp0s3 en créant un alias (label).

Bash



ip addr add 192.168.1.156/24 dev enp0s3 label enp0s3:0

Vérifiez la présence des deux IPs avec la commande :



ip a


Étape 2 : Création de l'arborescence


Nous allons créer les dossiers pour chaque site et y placer une page d'accueil distincte.


# Création des dossiers



mkdir -p /var/www/html/site1
mkdir -p /var/www/html/site2

Pour vérifier la création des dossiers :



# Création des fichiers index.html



echo "<h1>Site 1 - Arthur (IP 56)</h1>" > /var/www/html/site1/index.html
echo "<h1>Site 2 - Arthur (IP 156)</h1>" > /var/www/html/site2/index.html

Pour vérifier la creation des fichiers :


Étape 3 : Configuration du fichier VirtualHost


Nous allons dire à Apache quel dossier servir pour quelle IP



cd /etc/apache2/sites-available
nano ip_vhosts.conf


Insérez le contenu suivant (notez le changement de nom) :


# Site 1 sur l'IP Principale
<VirtualHost 192.168.1.56:80>
	ServerAdmin webmaster@site1.arthur.local
	ServerName site1.arthur.local
	DocumentRoot /var/www/html/site1
	ErrorLog ${APACHE_LOG_DIR}/site1_error.log	
	CustomLog ${APACHE_LOG_DIR}/site1_access.log combined
</VirtualHost>

# Site 2 sur l'IP Secondaire
<VirtualHost 192.168.1.156:80>
    ServerAdmin webmaster@site2.arthur.local
    ServerName site2.arthur.local
    DocumentRoot /var/www/html/site2
    ErrorLog ${APACHE_LOG_DIR}/site2_error.log
    CustomLog ${APACHE_LOG_DIR}/site2_access.log combined
</VirtualHost>


Étape 4 : Activation



a2ensite ip_vhosts
systemctl reload apache2

Test : Tapez dans votre navigateur.




Sous-partie 2 : Hébergement d'un site sur une seule IP mais 2 ports différents


Dans ce cas, nous n'utilisons que l'IP principale 192.168.1.56. Le premier site répondra sur le port standard (80) et le second sur le port 8080.


Étape 1 : Configuration des VirtualHosts


Nous dupliquons la configuration précédente pour la modifier.



cd /etc/apache2/sites-available
cp ip_vhosts.conf port_vhosts.conf
nano port_vhosts.conf

Modifiez le fichier pour utiliser la même IP partout, mais changez le port du deuxième bloc :


# Site 1 (Port 80)# 
<VirtualHost 192.168.1.56:80>
    ServerAdmin webmaster@site1.arthur.local
    DocumentRoot /var/www/html/site1
</VirtualHost>

# Site 2 (Port 8080)
<VirtualHost 192.168.1.56:8080>
    ServerAdmin webmaster@site2.arthur.local
    DocumentRoot /var/www/html/site2
</VirtualHost>


Étape 2 : Ouverture du port d'écoute


Par défaut, Apache n'écoute que le port 80. Il faut ajouter le 8080.



nano /etc/apache2/ports.conf


Ajoutez la ligne Listen 8080 :



Listen 80
Listen 8080


Étape 3 : Activation



a2ensite port_vhosts
systemctl reload apache2


Test : Tapez




Sous-partie 3 : Hébergement sur une adresse (Ancêtre du DNS)


C'est la méthode la plus courante (Name-Based Virtual Hosting). Les deux sites sont sur l'IP 192.168.1.56 et le port 80. Apache va lire l'en-tête "Host" de la requête pour savoir s'il doit servir le site "arthur 1" ou "arthur 2".


Étape 1 : Configuration



cd /etc/apache2/sites-available
cp port_vhosts.conf name_vhosts.conf
nano name_vhosts.conf


Modifiez les balises pour utiliser l'IP principale (ou *) et assurez-vous que les ServerName sont corrects.

Apache


# Site 1
<VirtualHost 192.168.1.56:80>
    ServerName site1.arthur.local
    DocumentRoot /var/www/html/site1
    ErrorLog ${APACHE_LOG_DIR}/site1_error.log
</VirtualHost>

# Site 2
<VirtualHost 192.168.1.56:80>
    ServerName site2.arthur.local
    DocumentRoot /var/www/html/site2
    ErrorLog ${APACHE_LOG_DIR}/site2_error.log
</VirtualHost>


Étape 2 : Simulation DNS (Fichier Hosts Windows)


Puisque arthur.local n'est pas un vrai domaine Internet, vous devez forcer votre ordinateur à associer ce nom à l'IP de votre serveur.


Sur votre PC Windows, ouvrez le Bloc-notes en tant qu'Administrateur.


Ouvrez le fichier : C:\Windows\System32\drivers\etc\hosts


Ajoutez ces deux lignes à la fin :




192.168.1.56   site1.arthur.local
192.168.1.56   site2.arthur.local


Enregistrez le fichier.


Étape 3 : Activation finale


Nous désactivons les anciennes configurations pour éviter les conflits d'IP/Port et activons la nouvelle.



a2dissite ip_vhosts port_vhosts
a2ensite name_vhosts
systemctl reload apache2


Test final : Ouvrez votre navigateur et tapez



Vous devriez voir le contenu du site 1.


Essayez ensuite



pour voir le site 2.

 
 

© 2025 par Arthur FORMENTIN

bottom of page