La crĂ©ation d’un virtualhost sous apache vous permet de rediriger dans un espace web particulier tout utilisateur qui voudra accĂ©der aux pages internet d’un site comme par exemple : www.monsite.xyz
Les virtualhosts deviennent intĂ©ressant dĂšs lors que l’on hĂ©berge plusieurs sites diffĂ©rents sur le mĂȘme serveur

Nous allons créer un fichier spécifique pour notre nouveau site /etc/apache2/sites-available/xenetis.org :
nano /etc/apache2/sites-available/monsite.xyz.conf
Puis vous y ajoutez les lignes suivantes ( en remplaçant biensûr xenetis.org par le nom de votre site) :
<VirtualHost www.xenetis.org:80>        ServerAdmin postmaster@xenetis.org        DocumentRoot /var/www/xenetis.org/        CustomLog /var/log/apache2/xenetis.org.log        LogLevel warn </VirtualHost>
ServerAdmin indique le mail de l’administrateur du site
DocumentRoot indique le dossier oĂč se trouvent les pages html et php du site ( la racine du site)
CustomLog permet d’indiquer un fichier particulier oĂč stocker les logs du virtualhost (intĂ©ressant pour le dĂ©buggage et pour certains systĂšmes de statistiques comme awstats)
LogLevel indique le niveau de log plus ou moins volumineux selon la valeur ( debug, info, notice, warn, error, crit, alert, emerg)
Une fois que notre site est prĂ©sent dans les sites disponibles (sites-available) nous allons l’ajouter dans les sites actifs (sites-enable) Ă l’aide d’un lien symbolique :
cd /etc/apache2/sites-enabled/ ln -s ../sites-available/monsite.xyz.conf
Une autre méthode plus simple pour activer le virtualHost :
a2ensite monsite.xyz.conf
Il ne reste plus qu’a ajouter le NameVirtualHost afin d’avoir un accĂšs par dĂ©faut Ă l’IP de la machine.
Pour cela, éditez le fichier /etc/apache2/apache2.conf :
nano /etc/apache2/apache2.conf
Ajoutez cette ligne :
NameVirtualHost 111.222.333.444:80
Sauvegardez, quittez l’Ă©diteur et relancer apache :
/etc/init.d/apache2 restart
Il ne vous reste plus qu’Ă crĂ©er le dossier d’hĂ©bergement, et crĂ©er un index.html :
mkdir /var/www/xenetis.org echo "www.xenetis.org site en construction" > /var/www/xenetis.org/index.html
Configuration des interfaces :
La spĂ©cification des interfaces sur lesquelles Apache2 Ă©coutera les requĂȘtes se fait dans ports.conf avec la directive Listen. Vous devez spĂ©cifier au moins le port. Apache Ă©coutera alors sur toutes les interfaces. Pour restreindre l’utilisation Ă une ou plusieurs interfaces il suffit de les spĂ©cifier, suivies du port. Il faut une directive Listen par interface.
– Si le serveur est connectĂ© avec une ip internet et que l’on souhaite Ă©couter sur cette interface on ajoute la directive Listen Ip.Internet .
– Si le serveur est connectĂ© avec une ip local et que l’on souhaite Ă©couter sur cette interface on ajoute la directive Listen Ip.Local .
– Si l’on souhaite Ă©couter sur un certain port on rajoute :Le_Port .
Il est aussi possible de ne spécifier que le port Listen Le_Port.
Ăditez le fichier /etc/apache2/ports.conf. (remplacer X.X.X.X par vos ip )
#interface (local ou internet) connectée sur port standard Listen X.X.X.X:80
(il faut mettre le nom du fichier contenant la définition du/des vhost)
pour l’adresse dans /etc/hosts, si ton adresse locale (celle du pc) est la mĂȘme que ton ip publique, il faut mettre cette adresse :
ton.ip.publique mon.domaine www.mon.domaine
si tu as une adresse locale sur ton pc (genre 192.168.x.x ou 172.16.x.x), c’est cette adresse qu’il faut mettre :
ton.ip.locale mon.domaine www.mon.domaine
il faut bien cependant que dans ton fichier de configuration (du vhost) tu aies bien une directive :
NameVirtualHost ip.du.pc
il faudra également penser à faire une redirection du port 80 de ton adresse publique vers ton adresse locale sur ton routeur.
il te reste juste Ă lancer cette commande :
/etc/init.d/apache2 restart
Commande supplémentaires :
- a2enconf (8) – activer ou dĂ©sactiver un fichier de configuration apache2
- a2ensite (8) – activer ou dĂ©sactiver un site apache2 / hĂŽte virtuel
- a2disconf (8) – activer ou dĂ©sactiver un fichier de configuration apache2
- a2dismod (8) – activer ou dĂ©sactiver un module apache2
- a2dissite (8) – activer ou dĂ©sactiver un site apache2 / hĂŽte virtuel
Plus de commandes : https://www.systutorials.com/docs/linux/man/8-a2enmod/
