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.
Apache a prévu un tel besoin mais rien n'est clair car la documentation disponible entretient la confusion entre ce qui relève du comportement programmé au cœur logiciel2), des pré-requis de configuration ou des conventions…
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é.
Si l'on crée un seul vhost, il devient automatique le serveur par défaut. Dès la création du deuxième vhost, une question surgit : 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é.
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 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 est vivement conseillé de définir le host par défaut “à la manière de” virtualmin plutôt que de forcer une configuration de type Apache “classique”. 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à !