Hôte virtuel Apache pointant vers un mauvais DocumentRoot

9

J'exploite un VPS sur Digital Ocean exécutant Ubuntu 12.04.3, avec des hôtes virtuels. J'ai pu configurer les choses en suivant ce tutoriel ici: https://www.digitalocean.com/community/articles/how-to-set-up-apache-virtual-hosts-on-ubuntu-12-04-lts

Cependant, après quelques jours, j'ai accédé à mon domaine principal (noelforte.com) pour vérifier et voir si tout fonctionnait correctement, mais au lieu de voir la page de destination que j'avais temporairement configurée, j'ai plutôt été accueilli avec une liste de répertoires.

Curieusement, le sous-domaine que j'avais configuré avec VHosts était toujours pointé vers le bon répertoire, mais mon domaine principal est revenu à pointer vers la racine par défaut du document /var/www.

La suppression des fichiers de configuration /etc/apache2/sites-availableet la configuration à nouveau ont donné les mêmes résultats: tout sous-domaine pointera vers le bon emplacement, mais le TLD racine reste bloqué pointant vers /var/www.

Qu'est-ce qui pourrait provoquer une situation comme celle-ci et pourquoi a-t-elle alors fonctionné correctement au départ?

Noel Forte
la source

Réponses:

12

Résolu! L'exécution a sudo apache2ctl -Srenvoyé ce qui suit:

VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80                   is a NameVirtualHost
         default server noelforte.com (/etc/apache2/sites-enabled/000-default:1)
         port 80 namevhost noelforte.com (/etc/apache2/sites-enabled/000-default:1)
         port 80 namevhost media.noelforte.com (/etc/apache2/sites-enabled/media.noelforte.com:1)

J'ai décidé de désactiver tous les sites, y compris celui par défaut, et d'activer simplement les sites dont j'avais besoin. Cela a résolu mon problème.

Si quelqu'un pouvait expliquer pourquoi noelforte.comcourait comme on default-000le voit ici:

port 80 namevhost noelforte.com (/etc/apache2/sites-enabled/000-default:1)

cela aiderait à faire la lumière sur ce qui a pu être mal configuré. Merci!

Noel Forte
la source
J'ai eu le même problème, pour moi, c'était parce que le ServerName était défini de la même manière que le domaine dans le fichier 000 par défaut.
Hard-Boiled Wonderland
1

Créez un 000-defaultfichier dans /etc/apache2/sites-availableou, s'il existe déjà, modifiez-le. C'est là que votre serveur Web pointera s'il n'y a pas d'hôte virtuel défini pour le site que vous recherchez.

Assurez-vous de vérifier que le fichier existe également dans /etc/apache2/sites-enabled. Si ce n'est pas le cas:ln -s /etc/apache2 sites-available/000-default /etc/apache2/sites-enabled/

Momo
la source
Il y a defaultdéjà un fichier dans mon /etc/apache2/sites-availablerépertoire. J'ai également un hôte virtuel pour la noelforte.comconfiguration et l'activation, cependant, il ne pointe pas vers la racine du document définie dans le fichier vhost. Pourquoi?
Noel Forte
0

Vous devez modifier /etc/apache2/sites-enabled/yourdomain.conf et ajouter "ServerName" à "yourdomain". Ex:

<VirtualHost *:80>
    ServerName MyDomain
    DocumentRoot /var/www/myDomainFolder
...
</VirtualHost>
sudip
la source