Virtual hosts avec Apache2

Bonjour à tous,

Comme vous vous en doutez, je suis en train de mettre en place des virtual hosts afin de d’avoir plusieurs sites web sur la même IP.

j’ai éditer mon fichier apache2.conf et voila ce que j’ai mis dedans :

[code]#Include /etc/apache2/sites-enabled/
#la je vire les conf se trouvant ailleurs pour avoir une seul fichier à conf mon bon vieux /etc/apache2.conf

DocumentRoot /var/www

Options SymLinksIfOwnerMatch AllowOverride None

<Directory /var/www/>
Options Indexes Includes FollowSymLinks MultiViews ExecCGI
AllowOverride None
Order allow,deny
Allow from all

NameVirtualHost *
<VirtualHost *>
ServerName www.lyonnight.com
DocumentRoot /var/www/dossiertest
<Directory /var/www/dossiertest/>
Options Indexes -FollowSymLinks -MultiViews
AllowOverride None
Order allow,deny
Allow from all

[/code]

Avec cette conf, le résultat est que mon virtual host prendre le dessus, si je vais sur :
http://ns300419.ovh.net/
Je suis dirigé vers /var/www/dossiertest
Si je vais sur
http://www.lyonnight.com
Idem.

Alors que j’aimerais être dans /var/www en allant sur http://ns300419.ovh.net/

Si j’enlève mon Virtual host il est évident qu’en allant sur http://ns300419.ovh.net/ je suis bien dans /var/www

J’ai testé de mettre
NameVirtualHost *:82
<VirtualHost *:82>

Avec cela en allant sur www.lyonnight.com:82 je suis bien redirigé vers /var/www/dossiertest

Mais je veut que ca soit sur le même port 80.

Je précise que j’ai mis dans /etc/hosts :

Je n’ai rien de particulier dans les log d’apache.

Je n’arrive pas à trouver de solution ! Je remercie tout ceux qui prennent le temps de regarde mon problème.

Bien à vous,

Peutre

[quote=“Peutre, post:1, topic: 45361”]#Include /etc/apache2/sites-enabled/
#la je vire les conf se trouvant ailleurs pour avoir une seul fichier à conf mon bon vieux /etc/apache2.conf[/quote]
pfff. debian est le seul a faire une config apache qui tue (un fichier de conf=un site web) et toi tu pete tout B)

[quote=“Peutre, post:1, topic: 45361”]NameVirtualHost *
<VirtualHost *>[/quote]
Wrong.

NameVirtualHost [ici, j'insert l'ip de mon serveur dedie] <VirtualHost lyonnight.com>
good.

Tu devrais essayer de lire le README qui est dans /etc/apache2/sites-available , ca pourrait t’aider. Et trouver un tuto sur la config des virtualhosts aussi, parce que j’ai l’impression que tu ne sais pas ce que tu fais B)

LoneWolf
C’est la mode des serveurs dedies…

Disons que c’est par preférence, je prefère tout avoir sur un seul fichier, c’est plus clair.

Sur la doc d’apache 2 :

[quote] and
The character *, which is used only in combination with NameVirtualHost * to match all IP addresses[/quote]

Que je mettre l’ip ou * , cela revient au même
Je sais un minimum ce que je fait, j’ai lu toute la doc d’apache2 et je comprend toujours pas mon erreur
Mettre ca également me donne le même résultat.

normalement, il te dit un peu plus loin qu’en multi IP, il est pas capable de faire du multidomaine…

Si t’as plusieurs domaines, tu DOIS fixer l’ip. J’en conclus que t’as pas vraiment lu ma suggestion… B)

PS: ok pour un seul fichier, on voit que tu n’as pas une 30aine de domaines a gerer…

LoneWolf
L’art de lire ce qui nous arrange B)

Il peut d’abord essayer dans un seul fichier, ensuite avec le temps il ce rendra compte que c’est plus pratique d’en avoir plusieurs quand tu comment à faire des conf poussé dans pas mal de domaine.

les différentes configuration correspondantes à deux domaine différents :

[code]NameVirtualHost 192.168.1.110:80

<VirtualHost 192.168.1.110:80>
ServerName MauditWorld.hd.free.fr
ServerAdmin webmaster@localhost

DocumentRoot /mnt/web
<Directory />
	Options FollowSymLinks
	 AllowOverride None
</Directory>
<Directory /mnt/web>
	Options FollowSymLinks MultiViews
	 AllowOverride AuthConfig
	Order allow,deny
	  allow from all
</Directory>

ErrorLog /var/log/apache2/error_Mauditworld.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access_Mauditworld.log "combined"
ServerSignature On

.
.
.
.
.

NameVirtualHost 192.168.1.110:80

<VirtualHost 192.168.1.110:80>

Options FollowSymLinks
AllowOverride None

ServerAdmin Mlemaudit1@gmail.com
ServerName www.lepetitserveur.fr
ServerAlias lepetitserveur.fr forum.lepetitserveur.fr
DocumentRoot /mnt/web/lepetitserveur.fr/forum
<Directory /mnt/web/lepetitserveur.fr/forum>
Options FollowSymLinks MultiViews
AllowOverride AuthConfig
Order allow,deny
allow from all

	ErrorLog /var/log/apache2/error_petitserveur.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
   LogLevel warn
   CustomLog /var/log/apache2/access_petitserveur.log "combined"
   ServerSignature On[/code]

Comme tu peux le constater il est aussi possible d’avoir un log par domaine; pratique pour des statistiques différenciées, par exemple.

Ceci dit, ces configurations sont présentes dans deux fichier distinct (sous DeBian) et c’est très pratique. En effet lorsque tu commence à déclarer plusieurs répertoires virtuels ou configurations de protection, c’est bien plus clair de séparer les configurations.

Après, je dis ça, je dis rien hein.

Merci pour vos réponses.

Il est vrai que d’utiliser les nouvelles configurations d’apache2, c’est beaucoup plus propre de faire ca si j’ai plusieurs domaines à mettre en place.

J’ai tenté de faire simplement par apache2.conf comme j’ai essayé de faire ca avec les nouvelles configurations.

J’ai crée mon fichier lyonnight.com dans /etc/apache2/sites-available j’ai également laisse le fichier default.
J’ai également crée comme il se soit un lien symbolique de lyonnight.com dans /etc/apache2/sites-enabled qui pointe vers /etc/apache2/sites-available

Voila à quoi ressemble mon fichier /etc/apache2/sites-available/lyonnight.com :

[code]NameVirtualHost 91.121.31.134:80
<VirtualHost 91.121.31.134:80>
ServerName www.lyonnight.com
ServerAlias lyonnight.com

	 DocumentRoot /var/www/dossiertest
	 <Directory />
			 Options FollowSymLinks
			 AllowOverride None
	 </Directory>
	 <Directory /var/www/dossiertest>
			 Options Indexes FollowSymLinks MultiViews
			 AllowOverride None
			 Order allow,deny
			 allow from all
	 </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/lyonnight-error.log

	 # Possible values include: debug, info, notice, warn, error, crit,
	 # alert, emerg.
	 LogLevel warn

	 CustomLog /var/log/apache2/lyonnight-access.log combined
	 ServerSignature On

 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>

[/code]

Le résultat reste le même lorsque j’active le virtual host, http://www.lyonnight.com et http://ns300419.ovh.net/ donne la même chose, tous les deux pointent vers mon dossier /var/www/dossiertest alors que normalement seul http://www.lyonnight.com devrait pointer sur /var/www/dossiertest.

Si je précise le port 82 au virtual host, la il y a pas de soucis http://www.lyonnight.com:82 pointe vers /var/www/dossiertest et http://ns300419.ovh.net/ vers /var/www

J’ai lu qu’il fallait garder le /etc/apache2/sites-available/default

Voici la description de celui-ci :

[code]NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost

	 DocumentRoot /var/www
	 <Directory />
			 Options FollowSymLinks
			 AllowOverride None
	 </Directory>
	 <Directory /var/www>
			 Options Indexes FollowSymLinks MultiViews
			 AllowOverride None
			 Order allow,deny
			 allow from all
			 # This directive allows us to have apache2's default start page
			 # in /apache2-default/, but still have / go to the right place
			 # RedirectMatch ^/$ /apache2-default/
	 </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
	 ServerSignature On

 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>

[/code]

Voici à quoi ressemble mon /etc/hosts :

J’ai également testé avec :

Donc je sais plus trop quoi faire pour tester de nouvelles choses, toucher /etc/hosts devrait suffire ? faut il que je touche bind ?
Pensez vous que cela vient d’apache ?

Merci à tous

tu es en direct sur ternet ou tu passes par un routeur ou une passerelle ?

le lien vers ta config lyonnight.com, mets un 0 devant le nom du lien (ie 0lyonnight.com) et ca va marcher.

explication: tu lui dit en numero 1 default (“default” vient avant “lyonnight” alphabetiquement) et comme dans default, c’est “*”… ben tout passe par la: “once it matchs, it’s done”

Amusant, j’etais reste avec NameVirtualHost qui DEVAIT etre unique (impossible d’en avoir deux dans une config apache) mais j’image que ca doit etre juste la version 1.3 qui a cette limitation.

edit: maldonne de tab B) et oubli de mots B)

LoneWolf
Alala pourtant c’est pas complique en bidouillant un peu…

M le Maudit, oui c’est en direct sur internet.

Lonewolf, j’ai pris mon lien je l’ai renommé en 0lyonnight.com, cela n’as pas fonctionné par contre ton information m’as donné la puce à l’oreille mon ami.

Dans default, comme tu disais il y avait :

NameVirtualHost * <VirtualHost *>

J’ai changé les * pour y mettre l’adresse ip dans default

Conclusion : Ca marche

Lorsque je redémarre apache, j’ai ce message d’erreur :

Forcing reload of web server (apache2)...[Sun Jun 24 19:21:19 2007] [error] VirtualHost 91.121.31.134:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results [Sun Jun 24 19:21:19 2007] [warn] NameVirtualHost 91.121.31.134:80 has no VirtualHosts [Sun Jun 24 19:21:29 2007] [error] VirtualHost 91.121.31.134:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results [Sun Jun 24 19:21:29 2007] [warn] NameVirtualHost 91.121.31.134:80 has no VirtualHosts

Comment je pourrais nommer le NameVirtualHost et VirtualHost de /etc/apache2/sites-available/default ? Est-il propre de le nommer pareil que dans mon lyonnight.com . Genre si je met l’adresse ip:80 pour les default et lyonnight.com cela est-il grave ?

Quand t’as qu’une seule ip, la solution la plus simple (a mon avis) est:

_Un seul NameVirtualHost que tu mets dans le apache2.conf (juste avant le include des sites)
_un fichier avec
_un fichier avec

Apres, j’ai pu voir que les VHs ont pas mal change avec la V2 de apache, on peut mettre plusieurs IPs now. M’enfin ca te concerne pas vraiment.

LoneWolf
You were close enough.

Pour les messages d’erreur, il faut mettre qu’un seul
NameVirtualHost adresse ip:80

Un seul NameVirtualHost doit être présent dans default, et donc il ne faut pas en rajouter dans un fichier site tel que lyonnight par rapport à mon exemple.

Merci à vous, le problème est résolu, vous pouvez je pense fermer ce sujet, merci encore pour votre patience B)