problème avec les virtualHosts

Questions sur l'installation d'Apache/PHP/MySQL.

Modérateur : Modérateurs

Pixys
Nouveau membre
Messages : 3
Inscription : lun. 19 janv. 2009, 19:29

problème avec les virtualHosts

Messagepar Pixys » lun. 19 janv. 2009, 22:10

Bonsoir,
j'ai installé apache sur une Gentoo mais j'ai un problème de configuration dont je n'arrive pas à me sortir tout seul :

Par défaut la racine est situé sur /var/www mais ça ne me plait pas : j'ai créé une partiton séparée /devWeb contenant 2 dossiers /www (dans lequel je mets mes sites par exemple /siteX et /siteY) et /mysql qui contient les bdd.
Pour gérer tous ça au niveau d'Apache, il est configuré comme suit:

dans /etc/conf.d/apache2 :

Code : Tout sélectionner

APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D LANGUAGE -D SSL -D SSL_DEFAULT_VHOST"

dans /etc/apache2/httpd.conf :

Code : Tout sélectionner

Include /etc/apache2/vhosts.d/00_default_vhost.conf

dans /etc/apache2/vhosts.d/00_default_vhost.conf :

Code : Tout sélectionner

Listen 80
NameVirtualHost *:80
<VirtualHost *:80>
        ServerName localhost
        DocumentRoot /devWeb/www/siteX
        Include /etc/apache2/vhosts.d/default_vhost.include

        <IfModule mpm_peruser_module>
                ServerEnvironment apache apache
        </IfModule>
</VirtualHost>

<VirtualHost *:80>
        ServerName localhost
        DocumentRoot /devWeb/www/siteY
</VirtualHost>


après avoir démarré Apache, si je me rends sur http://localhost/ j'ai juste la phrase "It works", alors je suis très content, mais j'aimerai bien voir mes dossiers /siteX et /siteY...
je me demande si c'est pas une histoire de droits : actuellement sur la partition /devWeb j'ai :

Code : Tout sélectionner

pegase ~ # ls -l /devWeb/
total 1
drwxr-x--- 2 pixys mysql 2 janv. 18 18:50 mysql
drwxr-xr-x 4 pixys root  5 janv. 18 17:07 www

en fait je sais pas trop quoi mettre en puis j'y comprends rien entre le propriétaire et le groupe...

Si vous pouviez m'éclairer un peu ça serait sympa.
merci beaucoup.

Avatar de l’utilisateur
dexmon
Gourou
Gourou
Messages : 793
Inscription : sam. 18 juin 2005, 9:55
Localisation : /usr/local/apache
Contact :

Re: problème avec les virtualHosts

Messagepar dexmon » mar. 20 janv. 2009, 5:42

Bonjour,
petite question... quel est le contenu de ceci ?

Code : Tout sélectionner

/etc/apache2/vhosts.d/default_vhost.include


Code : Tout sélectionner

Listen 80
NameVirtualHost *:80
<VirtualHost *:80>
        ServerName localhost
        DocumentRoot /devWeb/www/siteX
        Include /etc/apache2/vhosts.d/default_vhost.include

        <IfModule mpm_peruser_module>
                ServerEnvironment apache apache
        </IfModule>
</VirtualHost>

<VirtualHost *:80>
        ServerName localhost
        DocumentRoot /devWeb/www/siteY
</VirtualHost>


Avec cette configuration ça m'étonne qu'apache ne t'envoi pas un warning car tu as deux vhost avec le meme nom (localhost), il te faut deux nom différent pour accéder a tes différent site sinon comment apache pourrais faire la différences lorsque tu tappe http://localhost ???
Dans ce cas il t'affichera le premier dans la liste qui est siteX car il ne saura pas lequel choisir exactement.

Essai de comprendre ce schema:
http://localhost ----> ServerName localhost ----> DocumentRoot /devWeb/www/siteX

Donc, sit tu tappe http://localhost apache lit le nom indiqué à ServerName qui est localhost et
te fait pointer sur le répertoire /devWeb/www/siteX

Pour faire ce que tu veux tu dois éditer ton fichier /etc/hosts qui est le fichier de résolution des noms car tu n'a pas de dns interne:
Et tu met :

Code : Tout sélectionner

localhost ton_ip_interne
localhost2 ton_ip_interne


Puis dans tes vhosts:

Code : Tout sélectionner

Listen 80
NameVirtualHost *:80
<VirtualHost *:80>
        ServerName localhost
        DocumentRoot /devWeb/www/siteX/
        <Directory /devWeb/www/siteX>
        AllowOverride All
        Options All
        Order allow,deny
        Allow from all
        </Directory>
        Include /etc/apache2/vhosts.d/default_vhost.include

        <IfModule mpm_peruser_module>
                ServerEnvironment apache apache
        </IfModule>
</VirtualHost>

<VirtualHost *:80>
        ServerName localhost2
        DocumentRoot /devWeb/www/siteY/
        <Directory /devWeb/www/siteY>
        AllowOverride All
        Options All
        Order allow,deny
        Allow from all
        </Directory>
</VirtualHost>
ImageUNIX foreverImage
Avant toute demande de support, vérifiez votre fichier error.log Apache.
----------------------------------------

Pixys
Nouveau membre
Messages : 3
Inscription : lun. 19 janv. 2009, 19:29

Re: problème avec les virtualHosts

Messagepar Pixys » mar. 20 janv. 2009, 19:25

Bonsoir,
j'ai compris le schéma, effectivement, ça semble plus logique.
Dans

Code : Tout sélectionner

/etc/apache2/vhosts.d/default_vhost.include

j'ai ceci :

Code : Tout sélectionner

ServerAdmin root@localhost
#DocumentRoot "/var/www/localhost/htdocs"
DocumentRoot "/devWeb/www/"
Order allow,deny
Allow from all
ScriptAlias /cgi-bin/ "/var/www/localhost/cgi-bin/"
<Directory "/var/www/localhost/cgi-bin">
        AllowOverride None
        Options None
        Order allow,deny
        Allow from all
</Directory>


dans

Code : Tout sélectionner

/etc/hosts

j'ai mis :

Code : Tout sélectionner

localhost1 127.0.0.2
localhost2 127.0.0.3


et j'ai changé le

Code : Tout sélectionner

/etc/apache2/vhosts.d/00_default_vhost.conf
:

Code : Tout sélectionner

<VirtualHost *:80>
        ServerName localhost1
        DocumentRoot /devWeb/www/siteX/
        Include /etc/apache2/vhosts.d/default_vhost.include

        <IfModule mpm_peruser_module>
                ServerEnvironment apache apache
        </IfModule>
</VirtualHost>

<VirtualHost *:80>
        ServerName localhost2
        DocumentRoot /devWeb/www/siteY/
</VirtualHost>


malheureusement ça ne change rien, j'ai toujours cette phrase : "it works" et si j'essaie d'aller sur http://localhost/siteX j'ai une erreur 403 :

Code : Tout sélectionner

Forbidden
You don't have permission to access /siteX on this server.
Apache Server at localhost Port 80

Pixys
Nouveau membre
Messages : 3
Inscription : lun. 19 janv. 2009, 19:29

Re: problème avec les virtualHosts

Messagepar Pixys » jeu. 22 janv. 2009, 19:28

après avoir cherché plusieurs jour dans le forum, j'ai qqlq améliorations (pour mémoire c'est pour un développement local sans accès depuis l'extérieur et sans réseau interne):
voici mon ma conf. vhost :

Code : Tout sélectionner

Include /etc/apache2/vhosts.d/default_vhost.include
NameVirtualHost *:80
<VirtualHost *:80>
        ServerName      siteX.test
        DocumentRoot /devWeb/www/siteX
        <Directory /devWeb/www/siteX/>
                AllowOverride All
                Options All
                Order allow,deny
                Allow from all
                Options Indexes FollowSymLinks MultiViews
        </Directory>
</VirtualHost>

<VirtualHost *:80>
        ServerName      siteY.test
        DocumentRoot /devWeb/www/siteY
        <Directory /devWeb/www/siteY/>
                AllowOverride All
                Options All
                Order allow,deny
                Allow from all
                Options Indexes FollowSymLinks MultiViews
        </Directory>
        <IfModule mpm_peruser_module>
                ServerEnvironment apache apache
        </IfModule>
</VirtualHost>

</IfDefine>


et dans /etc/hosts :

Code : Tout sélectionner

127.0.0.1       pegase.homenetwork pegase localhost
127.0.0.1       siteX.test
127.0.0.1       siteY.test
::1             localhost


Quand je pointe mon navigateur sur http://localhost/ il semble bien à la racine mais ne liste pas les 2 dossiers siteX et siteY (j'ai essayé en mettant 1 "index.html" dans chaque, sans effet)
Un petit coup de pouce ne serait pas de refus.
Merci beaucoup.


Revenir vers « Installation »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité