2 NDD, Apache et une seule IP

WRInaute discret
Bonjour,
Mon site personnel ayant très peu de visiteurs, j'administre (oui c'est p'tet un bien grand mot) un nouveau site avec un tit serveur a la maison sous Debian. Je suis chez Free et mon serveur a une adresse locale definie par un routeur. Avec mon seul site pas de soucis, mais depuis le deusieme, les deux site pointent le meme dossier.
J'ai lu plusieurs tutos et divers thread sur le probleme, mais la plupart sont vieux et ne repondent pas a la problematique actuelle.

Je me demande si je dois attribuer un port pour chaque site, ou utiliser l'IP aliasing. Il semblerait que d'avoir deux site sur la meme IP et sur le meme port releve du reve ^^ malgré les vhost. Le serveur est une vieille tour, j'opterai pour la solution la plus simple et la moins gourmande. Peut etre que je fait fausse route...

Un peut d'éclairage me ferai le plus grand bien!
 
WRInaute accro
je ne sais pas avec les très vieilles versions de apache mais aussi bien en 1.x qu'en 2, aucun problème pour héberger plusieurs ndd sur une même ip. Heureusement, sinon imagine comment feraient les hébergeurs de mutualisés
 
WRInaute impliqué
Il est parfaitement possible (heureusement !) d'avoir plusieurs sites sur une seule IP et un même port (sauf si c'est du https auquel cas il y a quelques restrictions).

Il faut faire du Virtual Host.

Code:
NameVirtualHost *:80

<VirtualHost *:80>
    DocumentRoot /home/site1
    ServerName www.site1.com
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /home/site2
    ServerName www.site2.com
</VirtualHost>
 
WRInaute discret
En fait, je ne sais pas si c'est une nouvelle version d'apache2 sous Debian, mais c'est en effet la premiere fois que je suis confronté a ce problème.
J'ai sur cette config, deux users qui ont chacun leur dossier public_html et leur virtualhost
Code:
<VirtualHost *>
        ServerAdmin postmaster@***.com
        ServerName ***.com
        ServerAlias ***.com *.***.com
        DocumentRoot /home/***/public_html/
        <Directory /home/***/public_html/>
                Options -Indexes FollowSymLinks MultiViews
                AllowOverride All
        </Directory>
        ErrorLog /home/***/logs/error.log
        LogLevel warn
        CustomLog /home/***/logs/access.log combined
        ServerSignature Off
</VirtualHost>
Les deux sont donc sensés pointé dans leur répertoires respectifs.
Seulement, et ca c'est nouveau pour moi en tout cas, j'ai egalement un fichier port.conf qui a dedans:
Code:
#NameVirtualHost *
Listen 80

<IfModule mod_ssl.c>
    # SSL name based virtual hosts are not yet supported, therefore no
    # NameVirtualHost statement here
    Listen 443
</IfModule>
Pour l'instant je n'ai toujours pas resolu le probleme, malgré de nombreuses recherches. Il y a un site dont le NDD commence par un "2" et l'autre par un "l". Apache donne l'avantage a l'ordre alphanumerique, c'est a dire le Premier : "2***.com

Comme dit dans le premier post, l'idée d'atribuer une IP a chacun d'eux devrai resoudre le probleme, mais comme vous dite c'est du bricolage, et surtout ca ne me fait pas comprendre mon erreur dans cette config. Il semblerai que je ne suis pas un cas a part, mais je ne trouve pas de solutions...

Merci a vous pour votre aide :)
 
WRInaute impliqué
Est-ce que le mod-ssl est effectivement activé ? Si c'est le cas apache écoute sur le port 80 et le 443. Dans ce cas, il faut impérativement déclarer comme suit :

Code:
NameVirtualHost *:80
NameVirtualHost *:443

<VirtualHost *:80>
   ServerName site1.com
   ...
</VirtualHost>

<VirtualHost *:80>
    ServerName site2.com
    ...
</VirtualHost>

Sans ce type de déclaration apache pointe systématiquement sur le premier site déclaré. J'ai eu l'occasion de galérer typiquement la dessus il y a 15 jours pas plus... :wink:
 
WRInaute discret
Merci beaucoup, votre solution marchait, mais j'avais un petit warn au restart d'Apache. Ceci dit, vous m'avez bien mis sur la voie car le petit message de warn m'a permis de decouvrir ca:
* The directive "NameVirtualHost *" has been changed to "NameVirtualHost
*:80". It has also been moved from sites-available/default to ports.conf.
This allows to ship a proper SSL default virtual host config in
sites-available/default-ssl, but it means that if you use several name
based virtual hosts:

- you will have to change <VirtualHost *> to <VirtualHost *:80> in your
name based virtual hosts

- you need to add more NameVirtualHost directives if you use other ports
than 80 with name based virtual hosts. You may also have to add these
ports to the default virtual host in /etc/apache2/sites-available/default
(like this: "<VirtualHost *:80 *:81>").

If you prefer to revert to the old setup instead (and don't need the
default-ssl host), just change "NameVirtualHost *:80" back to
"NameVirtualHost *" in ports.conf and "<VirtualHost *:80>" to
"<VirtualHost *>" in sites-available/default.
Du coup j'ai suivit la dernière directive pour utilisé Apache a l'ancienne, car je n'ai pas l'utilité de SSL.
Il m'a donc suffit de decommenté NameVirtualHost * dans ports.conf et l'affaire est dans le sac!

Encore merci pour votre aide precieuse :D
 
Discussions similaires
Haut