Bonsoir,

J'ai visiblement de gros soucis avec mes vhosts. Situation*:*J'ai un serveur RPS*chez OVH, et une dizaine de noms de domaines configurés pour pointer vers ce serveur.

Je les gère avec bind, et ensuite j'essaie de les gérer avec Apache, et j'utilise des virtual hosts pour gérer les sous-domaines par exemple.

Seulement depuis quelques semaines, sans que je sache pourquoi, rien ne va plus, et je pense que c'est le signe que j'ai mal configuré quelque chose (et sans doute mal compris, à la base).

Ça se traduit par le fait que certains de mes domaines ne sont pas accessibles, parfois seuls les sous-domaines le sont mais le "http://domaine.com" ne marche pas...

Quand je dis "ne marche pas", ça me dit dans Firefox*:

Not Found

The requested URL / was not found on this server.
Voilà comment j'ai configuré le boxon :

J'ai un dossier "actifs" qui remplace purement et simplement "sites-enabled". C'est juste pour des raisons pratiques, j'ai indiqué dans apache2.conf que je voulais que ce soit lui qui soit pris en compte.

Dans "actifs", j'ai un fichier pour chaque domaine. Chaque fichier est, en gros, fait de la même manière :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<VirtualHost ma.belle.adresse.ip:80>
        ServerName domaine1.com
        Redirect permanent / http://www.domaine1.com
</VirtualHost>
<VirtualHost ma.belle.adresse.ip:80>
        ServerAlias *.domaine1.com
        VirtualDocumentRoot /home/monpseudo/domaine1/%-3+/
</VirtualHost>
On m'a dit sur IRC (#httpd sur Freenode), non sans en profiter au passage pour me parler comme à un mongolien (j'adore IRC), que je devais avoir partout ma.belle.adresse.ip:80 (avec mon IP à la place, vous pensez bien).

Je l'ai donc mis partout. On m'a aussi dit "pour chaque VirtualHost, il faut un ServerAlias DIFFÉRENT. Jusqu'à preuve du contraire, c'est le CAS. Bon.

On m'a aussi dit que je ne devrais pas avoir deux VirtualHost l'un après l'autre comme*ça, dans chaque fichier... possible.

Ensuite, dans conf.d j'ai 000-default qui contient :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
NameVirtualHost ma.belle.adresse.ip:80
 
<VirtualHost ma.belle.adresse.ip:80>
        ServerName localhost
        DocumentRoot "/var/www/"
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
 
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>
 
        ErrorLog /var/log/apache2/error.log
 
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
 
        CustomLog /var/log/apache2/access.log combined
 
        Alias /doc/ "/usr/share/doc/"
        <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
 
</VirtualHost>
On m'a demandé sur IRC le résultat de apache2ctl -S.
Le voilà :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
VirtualHost configuration:
ma.belle.adresse.ip:80       is a NameVirtualHost
         default server localhost (/etc/apache2/conf.d/000-default:3)
         port 80 namevhost localhost (/etc/apache2/conf.d/000-default:3)
         port 80 namevhost ananas.com (/etc/apache2/actifs/ananas:1)
         port 80 namevhost pomme.com (/etc/apache2/actifs/ananas:5)
         port 80 namevhost kiwi.us (/etc/apache2/actifs/kiwi:1)
         port 80 namevhost pomme.com (/etc/apache2/actifs/kiwi:5)
         port 80 namevhost pomme.com (/etc/apache2/actifs/pomme:1)
         port 80 namevhost pomme.com (/etc/apache2/actifs/pomme:5)
         port 80 namevhost banane.com (/etc/apache2/actifs/banane:1)
         port 80 namevhost pomme.com (/etc/apache2/actifs/banane:5)
         port 80 namevhost orange.cat (/etc/apache2/actifs/orange:1)
         port 80 namevhost pomme.com (/etc/apache2/actifs/orange:5)
         port 80 namevhost mangue.us (/etc/apache2/actifs/mangue:1)
         port 80 namevhost pomme.com (/etc/apache2/actifs/mangue:5)
         port 80 namevhost poire.com (/etc/apache2/actifs/poire:1)
         port 80 namevhost pomme.com (/etc/apache2/actifs/poire:5)
         port 80 namevhost cerise.com (/etc/apache2/actifs/cerise:5)
         port 80 namevhost pomme.com (/etc/apache2/actifs/cerise:9)
Syntax OK
Je me suis permis de remplacer mes noms de domaines par des noms de fruits

Comme vous le voyez, c'est un peu le bordel. Enfin je crois.

Bref, comment réparer tout ça et faire les choses proprement ?

Merci beaucoup, a+