Académique Documents
Professionnel Documents
Culture Documents
https://www.linuxtricks.fr/wiki/apache-les-virtual-hosts 1/7
20/03/2024 23:45 Apache : Les Virtual Hosts - Wiki - Wiki
Introduction
Votre serveur ne dispose que d'une seule adresse IP, et de nombreux noms de domaines pointent vers cette
adresse dans le DNS?
Vous devez donc utiliser les VirtualHosts pour différencier quel site afficher en fonction de quel nom de
domaine.
La base de cet article est Gentoo, mais en adaptant les chemins, c'est applicable à n’importe quelle
distribution.
Configurer httpd.conf
D'abord, s'assurer que dans le fichier httpd.conf on ait une ligne de ce style :
Include /etc/apache2/vhosts.d/*.conf
https://www.linuxtricks.fr/wiki/apache-les-virtual-hosts 2/7
20/03/2024 23:45 Apache : Les Virtual Hosts - Wiki - Wiki
Vous l'aurez compris, tous mes "virtual hosts" vont être des fichiers du style xxx.conf dans
/etc/apache2/vhosts.d/
https://www.linuxtricks.fr/wiki/apache-les-virtual-hosts 3/7
20/03/2024 23:45 Apache : Les Virtual Hosts - Wiki - Wiki
vi /etc/apache2/vhosts.d/dev.linuxtricks.conf
<VirtualHost *:80>
ServerName dev.linuxtricks.fr
ServerAlias dev.linuxtricks.fr
ServerAdmin webmaster@linuxtricks.fr
ErrorLog /var/log/apache2/dev.linuxtricks.fr-error_log
TransferLog /var/log/apache2/dev.linuxtricks.fr-access_log
DocumentRoot "/var/www/localhost/htdocs/dev/"
<Directory "/var/www/localhost/htdocs/dev/">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
vi /etc/apache2/vhosts.d/marjo21.linuxtricks.conf
<VirtualHost *:80>
ServerName marjo21.linuxtricks.fr
ServerAlias marjo21.linuxtricks.fr
ServerAdmin webmaster@linuxtricks.fr
ErrorLog /var/log/apache2/marjo21.linuxtricks.fr-error_log
TransferLog /var/log/apache2/marjo21.linuxtricks.fr-access_log
DocumentRoot "/var/www/localhost/htdocs/marjo21/"
<Directory "/var/www/localhost/htdocs/marjo21/">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
https://www.linuxtricks.fr/wiki/apache-les-virtual-hosts 4/7
20/03/2024 23:45 Apache : Les Virtual Hosts - Wiki - Wiki
Et pour du SSL ?
Je vais faire simple, je vous montre pour le miroir Calculate Linuxtricks les 2 Virtualhosts configurés (simulta‐
nément) afin que vous voyiez les différences (ce qui a été ajouté). A savoir le port d'écoute et les 3 lignes com‐
mençant par SSL.
<VirtualHost *:80>
DocumentRoot /home/miroir/public_html/
ServerName miroir.linuxtricks.fr
ServerAdmin adrien.d@mageialinux-online.org
ErrorLog /var/log/httpd/miroir.linuxtricks.fr-error_log
TransferLog /var/log/httpd/miroir.linuxtricks.fr-access_log
ServerSignature Off
<Directory /home/miroir/public_html>
Options Indexes +FollowSymLinks
AllowOverride All
</Directory>
</VirtualHost>
<VirtualHost *:443>
DocumentRoot /home/miroir/public_html/
ServerName miroir.linuxtricks.fr
ServerAdmin adrien.d@mageialinux-online.org
ErrorLog /var/log/httpd/miroir.linuxtricks.fr-error_log
TransferLog /var/log/httpd/miroir.linuxtricks.fr-access_log
ServerSignature Off
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/miroir.linuxtricks.fr/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/miroir.linuxtricks.fr/privkey.pem
<Directory /home/miroir/public_html>
Options Indexes +FollowSymLinks
AllowOverride All
</Directory>
</VirtualHost>
https://www.linuxtricks.fr/wiki/apache-les-virtual-hosts 5/7
20/03/2024 23:45 Apache : Les Virtual Hosts - Wiki - Wiki
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge/
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule (.*) https://www.linuxtricks.fr$1 [R=301,L]
La première ligne RewriteCond permet de conserver du HTTP simple pour les requêtes Lets Encrypt (dossier
.well-known/acme-challenge à la racine du site).
La deuxième ligne RewriteCond permet de vérifier en amont qu'on n'est pas en https.
Listen 8080
<VirtualHost *:8080>
#Le contenu du vhost
</VirtualHost>
Précédemment, on a vu
<VirtualHost *:443>
...
</VirtualHost>
https://www.linuxtricks.fr/wiki/apache-les-virtual-hosts 6/7
20/03/2024 23:45 Apache : Les Virtual Hosts - Wiki - Wiki
<VirtualHost 192.168.21.100:443>
...
</VirtualHost>
<VirtualHost [fe80::225:64ff:feb4:44fe]:443>
...
</VirtualHost>
Pour ceux qui voudront tester l'accès au VirtualHost en IPv6, il faut taper l'IPv6 entre crochets dans le naviga‐
teur internet :
https://[fe80::225:64ff:feb4:44fe]
https://www.linuxtricks.fr/wiki/apache-les-virtual-hosts 7/7