[APACHE2] Un virtual host capricieux

Bonsoir,

Je souhaiterai fournir à mon frère un espace web sur mon serveur pour qu’il puisse y tester ses sites.

Je lui ai créé un user/mdp avec un /home/user

J’ai configuré ensuite un site dans les /site-available de la config apache2. Voilà le contenu du fichier de conf :

[code]NameVirtualHost *:81
<VirtualHost *:81>

Options FollowSymLinks
AllowOverride None

ServerAdmin Mlemaudit1@gmail.com
ServerName MauditWorld.hd.free.fr
DocumentRoot /home/stephane.gelineau/www
<Directory /home/stephane.gelineau/www>
Options FollowSymLinks MultiViews
AllowOverride AuthConfig
Order allow,deny
allow from all

	ErrorLog /home/stephane.gelineau/log/error_stephane_gelineau.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
   LogLevel warn
   CustomLog /home/stephane.gelineau/log/access_stephane_gelineau.log "combined"
   ServerSignature On

[/code]

Comme vous pouvez le voir, je lui ai assigné le port 81 afin que ses sites et les miens ne se marchent pas dessus. Je fais le lien de ce fichier de conf dans /sites-enabled et je relance apache.

Seulement lorsque je tente d’accèder à l’adresse ip.ip.ip.ip:81 en local j’obtient un magnifique :

[code]La connexion a échoué

Firefox ne peut établir de connexion avec le serveur à l’adresse 192.168.1.110:81.

  • Le site est peut-être temporairement indisponible ou surchargé. Réessayez plus
    tard;

    • Si vous n’arrivez à naviguer sur aucun site, vérifiez la connexion
      au réseau de votre ordinateur;

    • Si votre ordinateur ou votre réseau est protégé par un pare-feu ou un proxy,
      assurez-vous que Firefox a l’autorisation d’accéder au Web.[/code]

C’est très étrange car j’ai déclaré mes sites en https exactement de la même manière mais avec *:443 et ils fonctionnent très bien.
J’ai même essayé de changer de port en mettant *:8080 mais j’obtient le même résultat, c’est comme si le serveur virtuel n’existait pas. Je n’ai pourtant pas d’erreur dans la log.

Euh… Il me semble que LoneWolf avait donné le cas lorsque j’avais demandé après que tu aies demandé, non?

Maaaaiiiissss… Le but des VH c’est justement de pas être obligé de changer de port. Donc tu fais ton VH sur port 80 et cela devrait bien se passer.

(Tu peux aussi faire du VH sur port, et dans ce cas il faut dire à Apache d’écouter aussi sur le 2ieme port, mais ce n’est pas très interéssant.)

Le problème n’est pas tout à fait le même .

Mon frère n’a pour le moment pas de nom de domaine à affecter à son espace web . Du coup il me semble que je suis bien obligé de changer le n° de port le temps que je puisse associer son répertoire www à son (futur) domaine, non ? Sinon , mon espace Maudiworld.hd.free.fr et le sien se “marcheront dessus” , n’est-il pas ?

A moins qu’il n’existe une astuce que je n’aurais pas encore trouvé , j’ai pourtant parcouru la doc apache mais je n’ai rien trouvé de concluant.

De plus , pourquoi est-ce qu’apache ne veut pas de mon virtual host sur un autre port que 80 ou 443 ? Je n’ai aucun firewall d’installé sur le serveur pourtant ?

Je sais effectivement ce qu’à indiqué Lonewolf mais dans le cas présent c’est un peu plus subtil :

Même nom de domaine , même adresse ip mais deux racines différentes. Je n’ai trouvé que le changement de port pour résoudre mon problème. Mais celà ne semble pas fonctionner.

[quote=“unreal, post:3, topic: 31272”]Maaaaiiiissss… Le but des VH c’est justement de pas être obligé de changer de port. Donc tu fais ton VH sur port 80 et cela devrait bien se passer.

(Tu peux aussi faire du VH sur port, et dans ce cas il faut dire à Apache d’écouter aussi sur le 2ieme port, mais ce n’est pas très interéssant.)[/quote]

RRhhâââ , je t’avais pas lu ! Effectivement, j’ai oublié de déclarer le port 81 dans le fichier de config idoine.

Je pense que celà devrait marcher.

Cependant , si vous avez une solution plus propre, je suis preneur.

D’ailleurs, dernière question . Comment font les providers d’espace mutualisé pour gérer plusieurs dixaines de sites sur une seule adresse IP ? Utilisent-ils tout simplement le truc du domaine associé au répertoire racine, ou il y a–t-il une autre subtilité ?

EDIT : Avec le port 81 déclaré au bon endroit , ça fonctionne déjà beaucoup mieux. Mais par contre je ne suis pas contre une solution pour rester sur le port 80.

Tu devrais peut-être retourner lire la doc Apache, parce que je n’ai pas l’impression que tu aies bien compris. Ou alors au moins ouvrir ton httpd.conf et lire le petit paragraphe en bas qui commence avec « ### Section 3: Virtual Hosts ».

C’est certain que je n’ai pas tout compris, sinon je ne posterai pas ici.

Je n’ai pas de httpd.conf par défaut , il est vide sous debian.

Comme je suis super gentil :

[codebox]### Section 3: Virtual Hosts

VirtualHost: If you want to maintain multiple domains/hostnames on your

machine you can setup VirtualHost containers for them. Most configurations

use only name-based virtual hosts so the server doesn’t need to worry about

IP addresses. This is indicated by the asterisks in the directives below.

Please see the documentation at

URL:http://httpd.apache.org/docs-2.0/vhosts/

for further details before you try to setup virtual hosts.

You may use the command line option ‘-S’ to verify your virtual host

configuration.

Use name-based virtual hosting.

#NameVirtualHost *:80

VirtualHost example:

Almost any Apache directive may go into a VirtualHost container.

The first VirtualHost section is used for requests without a known

server name.

#<VirtualHost *>

ServerAdmin webmaster@dummy-host.example.com

DocumentRoot /www/docs/dummy-host.example.com

ServerName dummy-host.example.com

ErrorLog logs/dummy-host.example.com-error_log

CustomLog logs/dummy-host.example.com-access_log common

#[/codebox]

Tu fais des namedvirtualhosts pour les sites avec nom de domaine, et un virtual host sans précision pour faire un site de base, en attendant que ton frère ait un domaine ou quelque chose y ressemblant.