Configurer ses vhosts
Dans cet article nous allons voir comment configurer ses vhost sous apache.
Les vhost vont nous permettre de rediriger le visiteur dans le dossier de notre choix en fonction de son url d’arrivée.
Les vhosts se trouvent dans le dossier /etc/apache2/sites-enabled/ sous Debian lorsque Apache est installé avec le gestionnaire de paquets.
Nous pouvons ajouter un fichier propre à notre site dans ce dossier, editons le:
vi /etc/apache2/sites-enabled/mon-site
Nous nous trouvons donc face a un fichier vide, ajoutons maintenant une règle pour notre site.
Il faut spécifier maintenant le VHOST par son url et son port d’arrivée. On va donc placer notre balise de définition du vhost en premier lieu.
<VirtualHost IP:PORT> </VirtualHost>
Remplacez IP par l’IP d’arrivée du visiteur, soit généralement celle de votre serveur. Le port, par défaut 80 par la plupart des navigateurs lorsqu’ils arrivent sur une page web. Vous pouvez cependant spécifier le port de votre choix. Utile pour placer deux applications sur une même url.
Vous pouvez utiliser le masque * pour l’IP, ce qui signifie que toutes les IP sont valides pour ce vhost. Au final, nous obtenons donc:
<VirtualHost *:80> </VirtualHost>
Il faut ensuite spécifier le dossier utilisé par le serveur pour rendre la page demandée par le visiteur.
Par exemple,
ServerName www.ghaundan.fr ServerAlias ghaundan.fr www.ghaundan.fr
Signifie que l’utilisateur passe dans ce vhost lorsque les conditions ci dessous sont remplies:
L’utilisateur arrive sur le site via http://ghaundan.fr ou http://www.ghaundan.fr
On spécifie ensuite le dossier qui contient les pages web que l’on va rendre lorsque nous arrivons par ces url:
DocumentRoot /home/wordpress
Vous pouvez activer l’url rewriting comme ceci:
RewriteEngine on
On bon article sur l’URL rewriting se trouve sur le blog d’Oziks
On spécifie notre règle d’url rewriting
RewriteRule ^(/.*) /home/wordpress/$1
Enfin, dernière étape, on spécifie les règles à appliquer sur notre dossier:
<Directory /var/www/jojo/wordpress>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
Il suffit ensuite d’enregistrer notre fichier, et de redémarrer notre serveur apache !
Rendez vous maintenant sur votre site via l’url spécifiée dans le vhost et c’est parti !
Je vous mets ci dessous le fichier vhost au complet:
<VirtualHost *:80>
ServerName www.ghaundan.fr
ServerAlias ghaundan.fr www.ghaundan.fr
ServerAdmin webmaster@localhost
DocumentRoot /home/wordpress
RewriteEngine on
RewriteRule ^(/.*) /home/wordpress/$1
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /home/wordpress>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>