1 votes

Entrée d'Apache Virtualhost avec le nom d'hôte Windows

J'ai un contrôleur de domaine Windows et nous l'utilisons pour le DNS de notre réseau interne. J'ai une boîte Ubuntu avec une adresse IP de 172.16.34.149. Dans le DNS de Windows, j'ai créé les entrées de recherche directe et inverse pour le nom Endymion.

Naturellement, quand je fais un FTP/SSH/HTTP/etc vers le nom d'hôte Endymion, il se résout correctement vers ma boîte Ubuntu.

Je voulais faire du développement web sur cette boîte pour un site existant. Des problèmes sont apparus lorsque j'ai placé le site dans un sous-dossier de /var/www/. Disons que c'était dans le dossier /var/www/projetx/. Le problème concernait la résolution incorrecte des urls non relatives.

Je me suis donc dit que je pourrais créer une nouvelle entrée DNS pour le nom d'hôte projectx. Bien sûr, quand je fais un FTP/SSH/HTTP/etc sur le nom d'hôte projectx, il me conduit à la même boîte ubuntu que le nom d'hôte Endymion ... c'est ce que je m'attendais. J'ai maintenant deux noms d'hôtes pour la même boîte.

Je crée ensuite une entrée Virtualhost dans httpd.conf qui ressemble à ce qui suit :

<VirtualHost *:80>
        DocumentRoot /var/www/projectx
        ServerName projectx
        ServerAlias projectx
</VirtualHost>

Bien sûr, quand je vais dans un navigateur et que je tape dans http://projectx/ il me conduit au bon sous-dossier. Tout fonctionne ! !!

Pas si vite.

Je vais ensuite à http://endymion/ et au lieu de m'amener à /var/www/, il m'amène à /var/www/projetx/.

Il est clair que j'ai raté quelque chose. Aidez-moi s'il vous plaît !)

2voto

Eric Noob Points 531

Jetez un coup d'œil à la documentation d'Apache sur hôtes virtuels basés sur le nom et vous trouverez cette information :

L'hôte principal disparaît

Si vous ajoutez des hôtes virtuels à un serveur Web existant, vous devez également créer un bloc pour l'hôte existant. également créer un bloc pour l'hôte existant. L'adresse ServerName et DocumentRoot inclus dans cet hôte virtuel doivent être les mêmes que les ServerName et DocumentRoot globaux. Listez cet hôte virtuel en premier dans le fichier de configuration afin qu'il agisse en tant que l'hôte par défaut.

En d'autres termes, dès que vous créez un l'hôte virtuel, le DocumentRoot dans la configuration de votre serveur principal n'est plus pertinent. Apache sélectionnera le premier hôte virtuel défini pour les noms qui ne correspondent pas explicitement à un ServerName o ServerAlias vous devrez donc créer une entrée pour votre hôte principal dans le fichier de configuration avant tout autre VirtualHost blocs.

1voto

aseq Points 4490

Je pense que vous devrez créer une entrée virtualhost pour endymion également, quelque chose comme :

<VirtualHost *:80>
        DocumentRoot /var/www/example
        ServerName endmymion
        ServerAlias endmymion
</VirtualHost>

Bien sûr, en utilisant par défaut vhost fonctionne également comme indiqué ci-dessus.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X