Page 1 sur 1

[RESOLU] [SOFT] Configuration VirtualHost Apache2

Posté : dim. 31 mai 2015 21:30
par bigbrownies
Bonsoir,

Je viens à vous après de multiples recherches pour résoudre mon problème.
Pour commencer voilà les informations sur ma raspberry pi :
- Distrib version: Raspbian jessie 8.0
- Server version: Apache/2.4.10 (Raspbian)
- Terminal par SHH

Ce que je cherche à faire :
Je cherche à avoir 3 sites distinct sur ma raspberry pi, stoqués comme suis :

Code : Tout sélectionner

/home/http/[site]/public_html
Ils devront être accéssible de la manière suivante :
-(site0) IPduserveur
-(site1) IPduserveur/site1
-(site2) IPduserveur/site2

J'ai donc utilisé les VirtualHosts d'apache2.

J'arrive à faire fonctionner mon site0 et il est accéssible à l'adresse "IPduserveur"
Mais impossible d'accéder au site 1 et 2.

Voilà mon fichier apache2.conf

Code : Tout sélectionner

/etc/apache2/apache2.conf
:

Code : Tout sélectionner

Mutex file:${APACHE_LOCK_DIR} default
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
HostnameLookups Off
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
Include ports.conf
<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

#### Ma modif
<Directory /home/http/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>
#### Fin modif

AccessFileName .htaccess

<FilesMatch "^\.ht">
        Require all denied
</FilesMatch>

LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

# Include generic snippets of statements
IncludeOptional conf-enabled/*.conf

# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf
Voilà mon fichier de configuration du site0

Code : Tout sélectionner

/etc/apache2/sites-available/webclient.conf
:

Code : Tout sélectionner

<VirtualHost *:80>
        ServerName webclient
        ServerAlias *

        ServerAdmin adresse@localhost
        DocumentRoot /home/http/webclient/public_html

        ErrorLog ${APACHE_LOG_DIR}/error-webclient.log
        CustomLog ${APACHE_LOG_DIR}/access-webclient.log combined

      <Directory /home/http/webclient/public_html>
              Options Indexes FollowSymLinks MultiViews
              AllowOverride None
              Order allow,deny
              allow from all
      </Directory>
</VirtualHost>
Voilà mon fichier de configuration du site1

Code : Tout sélectionner

/etc/apache2/sites-available/webtech.conf
:

Code : Tout sélectionner

<VirtualHost *:80>
        ServerName webtech
        ServerAlias */webtech

        ServerAdmin adresse@localhost
        DocumentRoot /home/http/webtech/public_html

        ErrorLog ${APACHE_LOG_DIR}/error-webtech.log
        CustomLog ${APACHE_LOG_DIR}/access-webtech.log combined

      <Directory /home/http/webtech/public_html>
              Options Indexes FollowSymLinks MultiViews
              AllowOverride None
              Order allow,deny
              allow from all
      </Directory>
</VirtualHost>
(le site 2 n'est pas encore configuré)

Voilà mon fichier /etc/Hosts :

Code : Tout sélectionner

127.0.0.1      localhost
::1               localhost ip6-localhost ip6-loopback
fe00::0         ip6-localnet
ff00::0         ip6-mcastprefix
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

127.O.1.1       webtech
127.0.1.1       webclient
127.0.1.1       betty
Mon arborescence est la suivante :

Code : Tout sélectionner

|--home
     |--http
     |     |--webclient
     |     |       |--public_html   
     |     |--webtech
     |     |       |--public_html
Et pour finir, quand je tape l'adresse du site1 il ya le message "not found" qui s'affiche.

Merci par avance pour le temps que vous m'octroirez.

Cd, bigbrownies

Re: [SOFT] Configuration VirtualHost Apache2

Posté : dim. 31 mai 2015 21:49
par maxty01
Bonsoir,
bigbrownies a écrit :Ce que je cherche à faire :
Je cherche à avoir 3 sites distinct sur ma raspberry pi, stoqués comme suis :

Code : Tout sélectionner

/home/http/[site]/public_html
Ils devront être accéssible de la manière suivante :
-(site0) IPduserveur
-(site1) IPduserveur/site1
-(site2) IPduserveur/site2

J'ai donc utilisé les VirtualHosts d'apache2.

J'arrive à faire fonctionner mon site0 et il est accéssible à l'adresse "IPduserveur"
Mais impossible d'accéder au site 1 et 2.
Les VirtualHosts ne sont pas utilisée pour cela ..

Pour arriver au résultat que tu recherches tu devrais procéder comme cela :

Pour le site 0 :

Code : Tout sélectionner

/home/http/site0/public_html
Pour le site 1 :

Code : Tout sélectionner

/home/http/site0/public_html/site1/
Pour le site 2 :

Code : Tout sélectionner

/home/http/site0/public_html/site2/
Pour l'explication :

La directive VirtualHosts est généralement utilisée pour différencier plusieurs sites web sur le "FQDN" (le nom de domaine) hébergé sur un serveur n'ayant qu'une adresse IP,
typiquement : les hébergements mutualisé à bas prix fournis par les différents hébergeurs du monde Internet.

En reprenant ton exemple, voici comment cela se passer avec plusieurs directives VirtualHosts :

-(site0) http://www.site0.com (DNS : IPduserveur ) -> VirtualHosts "www.site0.com" -> /home/http/site0/public_html
-(site1) http://www.site1.com (DNS : IPduserveur ) -> VirtualHosts "www.site1.com" -> /home/http/site1/public_html
-(site2) http://www.site2.com (DNS : IPduserveur ) -> VirtualHosts "www.site2.com" -> /home/http/site2/public_html

Bonne soirée,

Re: [SOFT] Configuration VirtualHost Apache2

Posté : lun. 1 juin 2015 18:48
par bigbrownies
Je te remercie pour ta réponse claire.
Alors voilà j'ai réfléchit et pensé à quelque chose.

Je peux donc remettre chaque site dans /home/http/[site]
Une fois cela fait, je créer un Alias dans "apache2.conf" pour dire que /home/http/site0 correspond à /home/http
Et donc pour conclure chaque site sera trouvé aux adresses voulu ?

Voilà comment j'ai créé un Alias pour phpmyadmin, serait il possible de faire de même avec site0 ?

Code : Tout sélectionner

Alias /adminmasql /usr/share/phpmyadmin
Est ce que cette solution est fonctionnelle ?

Cd,

Re: [SOFT] Configuration VirtualHost Apache2

Posté : lun. 1 juin 2015 21:42
par maxty01
Bonsoir,

Effectivement, cette solution est fonctionnelle et plus adaptée à tes besoins.

Bonne soirée,

Re: [SOFT] Configuration VirtualHost Apache2

Posté : lun. 1 juin 2015 21:43
par bigbrownies
j'essaie ça et je retourne ce que ça donne.

Voilà ce que ça donne : J'ai bien l'accès à mes trois sites par IPduserveur/[site]
Mais quand je fais mon "Alias /home/http/site0"[/b] dans [i]'apache2 ... alias.html
Mais aucun exemple avec la racine du site ^^

Autre méthode possible ?
Si je définis mon serveur par defaut comme étant /home/http/site0 alors l'IP m'amène bien sur l'index site0.
Est-il possible de faire une URL qui remonte l'arborescence et qui retourne dans un autre dossier ?

Cd,

Re: [SOFT] Configuration VirtualHost Apache2

Posté : mar. 2 juin 2015 06:00
par domi
Bonjour,

Pourquoi Alias [url] ?
et tu dis :
Dans [URL] j'ai mis :
- "*" pour l'ip du serveur, ça ne fait aucun effet.
Ton IP ne doit pas être déclarée dans l'alias.

Si tu veux que l'adresse http://ton_ip/site1 soit dirigée physiquement dans le dossier /home/http/site1 il faut une ligne d'alias de cette façon :

Code : Tout sélectionner

Alias /site1 /home/http/site1

Re: [SOFT] Configuration VirtualHost Apache2

Posté : mar. 2 juin 2015 10:06
par bigbrownies
Bonjour,

Je ne te comrpends pas. La racine de mon site est /home/http et mes sites sont /home/http/site0, /home/http/site1, /home/http/site2.

j'aimerais que ces trois dossiers restent distinct mais que je puisse rediriger http://IPserveur vers /home/http/site0.

et toujours accéder à site1 et site2 via IPserveur/site1 et IPserveur/site2

Re: [SOFT] Configuration VirtualHost Apache2

Posté : mar. 2 juin 2015 19:56
par maxty01
Bonsoir,

L'utilisation d'alias est assez simple ...

Code : Tout sélectionner

Alias /blablabla /home/http/site2/public_html/
Cela correspondra quand tu tapera, dans ton navigateur, l'adresse http://[IP_du_PI]/blablabla

Apache redirigera le contenu du site hébergé dans le dossier /home/http/site2/public_html/

Pour que ton navigateur t'affiche son contenu.

Bonne soirée,

Re: [SOFT] Configuration VirtualHost Apache2

Posté : jeu. 4 juin 2015 08:38
par bigbrownies
c'est bon.

j'ai mis mon site par défaut dans /home/http/site0 et j'ai fais un alias pour site1 et site2.

comme ceci dans apache2.conf :

Code : Tout sélectionner

Alias   /site1                /home/http/site1
Alias   /site2               /home/http/site2
et comme ceci dans 000-default.conf :

Code : Tout sélectionner

DocumentRoot /home/http/site0