Création de virtualhosts

Créer des hôtes virtuels sur votre serveur web apache

Lors de l’utilisation d’un webserver de développement en local, il est parfois utile de pouvoir laisser les sites dans un dossier autres que le dossier htdocs d’apache. De plus, certains Framework comme symfony nécessite la configuration d’un virtualhost (hôte virtuel) afin que lors du lancement du site, les dépendances du framework soit appelées correctement. Pour cela, il est nécessaire de mettre en place un ou plusieurs virtualhosts. Comme cela devient de plus en plus un standard, nous allons utiliser la méthode d’hôtes virtuels basé sur le nom.

Déclarer les virtualhosts

Afin de déclarer nos virtualhosts, il faut créer un fichier de config contenant les détails de chacun. Dans certaines mouture d’apache, il est possible que ce fichier existe déjà. Il peut se trouver à cet endroit :
$INSTALL_DIR/apache2/extra/httpd-vhosts.conf
Si ce n’est pas le cas, il n’y a cas le créer et ensuite le remplir avec les déclarations dont voici un exemple :

Pour plus d’informations sur la déclaration des virtualhosts, référez-vous à cet article : wiki apache virtual hosts

Modifier le fichier httpd.conf

Le fichier httpd.conf est le fichier de configuration d’apache.
$INSTALL_DIR/apache2/httpd.conf
Selon les versions d’apache2, ce fichier contient déjà un lien vers le fichier de configuration des virtualhosts.

Il est également possible de déclarer les virtualhosts directement dans le fichier httpd.conf, mais afin d’améliorer la lisibilité de celui-ci, il vaut mieux séparer ces contenus.
En cas d’erreur 403, il peut être nécessaire de changer l’utilisateur par défaut du serveur, afin qu’il puisse accéder au répertoire. Pour cela, dans ce même fichier, modifiez la configuration d’utilisateur et de groupe. Dans l’idéal, utilisez un user dédié au serveur.

Référencer nos sites dans le fichier hosts

Le fichier hosts est utilisé par le système d’exploitation lors de l’accès à Internet. Ce fichier est consulté avant le DNS afin de rediriger, bloquer ou faciliter l’accès à un site. Il n’est pas placé au même endroit selon les OS.

Sous Windows version 32bits :
C:\windows\system32\drivers\etc\hosts
sous Windows version 64bits :
C:\windows\SysWOW64\driver\etc\hosts
sous Linux :
/etc/hosts
sous Mac OS
/private/etc/hosts
Afin que vos url soient comprises comme des url en local, il est nécessaire de les déclarer dans le fichier hosts afin d’effectuer une redirection. Dans notre cas présent, il faudra y ajouter la ligne suivante :
127.0.0.1 monsite.local
S’il y’a plusieurs virtualhosts, il sera nécessaire de le faire pour chaque entrée :

Redémarrer votre serveur web

Suite à la modification du fichier de configuration, il est nécessaire de restarter le serveur apache. En effet, celui-ci charge la configuration au démarrage, et ne connait donc pas encore nos dernières modifications. Un redémarrage est nécessaire après chaque modification d’un fichier de configuration.
En cas de problème, on peut avoir un état des hôtes virtuels chargés par le serveur, à l’aide de la commande :
$INSTALL_DIR/bin/httpd -S

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

code