Outils pour utilisateurs

Outils du site


site_par_defaut_sous_apache_2

Ceci est une ancienne révision du document !


Site par défaut sous Apache 2

Problème

  • Quel site affiche mon serveur Apache si je pointe un navigateur sur son IP1) ?
  • Quel site affiche mon serveur Apache si un site est désactivé mais que le DNS continue à pointer sur ce serveur ?

Ces questions montrent le besoin de désigner un site par défaut pour un serveur Apache. Toute requête pointant sur le serveur mais ne correspondant pas à un site “légitime” renverront automatique sur ce site par défaut.

Solution native Apache

Apache a prévu un tel besoin mais rien n'est clair…

Default Server

Pour commencer à embrouiller les choses, Apache définit un serveur par défaut, Default Server, qui présente la caractéristique de ne pas être un vhost. Le serveur ainsi défini est celui qui prendra la mains tant qu'aucun vhost n'est créé ! Dès la création du premier vhost, le serveur défini comme Default Server est purement et simplement ignoré.

Virtualhost par défaut

Si l'on crée un seul vhost, il devient automatique le serveur par défaut. Dès la création du deuxième viost, la question est : lequel est le serveur par défaut ?

En présence de plusieurs vhosts, Apache traitera la premier virtualhost déclaré lors du chargement de sa configuration comme étant le serveur par défaut. En pratique cela dépendra de comment chaque distribution organise les fichiers de configuration d'Apache. Sur Debian, par exemple, ce sera le premier vhost, au sens de l'ordre alphabétique, des “sites-enabled”. C'est nul, mais c'est comme ça ! C'est d'autant plus ballot qu'on peut déclarer un Default Server mais, comme dit précédemment l'utilisation des vhosts désactive cette fonctionnalité.

Virtualhost explicite

Pour mettre de l'ordre dans cette pagaille, Apache introduit la notion explicite de _default_ vhost. Cela permet de réintroduire la notion de Default Serveur lorsqu'on utilise des virtualhosts.

En toute honnêteté, la notion de _default_ host permet de faire beaucoup plus qu'un Default Server unique. On peut, par exemple définir un _default_ host par port, un catchall IP, etc. Pour plus d'information se reporter à la documentation officielle.

Virtualmin default host

Virtualmin bouscule et simplifie la création classique de vhost par défaut. Virtualmin cantonne Apache à une exécution via suexec et le contraint au répertoire /home. Ceci a pour effet de prendre à contre-pied les habitudes de configuration de host par défaut - sur Apache - qui utilisent généralement /var/www.

Avec Virtualmin, il faut définir le host pas défaut “the virtuamin way” plutôt que de forcer une configuration de type “Apache natif”. C'est tellement simple qu'on aurait tort de s'en priver :

"choose server" > Server Confirugation > Website Options > Default website for IP address

Et voilà !

1)
Ou l'une de ses IPs?
site_par_defaut_sous_apache_2.1429824041.txt.gz · Dernière modification: 2015/04/23 23:20 de flaz