[RESOLU] [SOFT] Configuration VirtualHost Apache2

Votre Apache se cache, votre Pi gémit, votre SoC fume ? La panne quoi ! C'est ici que vous trouverez sans doute une solution... Sinon du réconfort :)

Modérateurs : Francois, maxty01

Répondre
bigbrownies
Messages : 21
Enregistré le : mar. 19 mai 2015 16:58

[RESOLU] [SOFT] Configuration VirtualHost Apache2

Message par bigbrownies » dim. 31 mai 2015 21:30

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
Modifié en dernier par bigbrownies le jeu. 4 juin 2015 08:38, modifié 1 fois.

maxty01
Modérateur
Messages : 790
Enregistré le : dim. 16 nov. 2014 20:53
Localisation : Charleroi - Belgique

Re: [SOFT] Configuration VirtualHost Apache2

Message par maxty01 » dim. 31 mai 2015 21:49

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,
Il n'y a pas de question stupide, il n'y a que des imbéciles qui ne posent pas de question !
RaspBerry Pi : 1 x B+ Raspbian 1 x RPI2 MiniBian
Mieux me connaître ? Regarder mon LinkedIn

bigbrownies
Messages : 21
Enregistré le : mar. 19 mai 2015 16:58

Re: [SOFT] Configuration VirtualHost Apache2

Message par bigbrownies » lun. 1 juin 2015 18:48

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,

maxty01
Modérateur
Messages : 790
Enregistré le : dim. 16 nov. 2014 20:53
Localisation : Charleroi - Belgique

Re: [SOFT] Configuration VirtualHost Apache2

Message par maxty01 » lun. 1 juin 2015 21:42

Bonsoir,

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

Bonne soirée,
Il n'y a pas de question stupide, il n'y a que des imbéciles qui ne posent pas de question !
RaspBerry Pi : 1 x B+ Raspbian 1 x RPI2 MiniBian
Mieux me connaître ? Regarder mon LinkedIn

bigbrownies
Messages : 21
Enregistré le : mar. 19 mai 2015 16:58

Re: [SOFT] Configuration VirtualHost Apache2

Message par bigbrownies » lun. 1 juin 2015 21:43

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,

domi
Administrateur
Messages : 3266
Enregistré le : mer. 17 sept. 2014 18:12
Localisation : Seine et Marne

Re: [SOFT] Configuration VirtualHost Apache2

Message par domi » mar. 2 juin 2015 06:00

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
Passionné de Raspberry, Arduino, ESP8266, ESP32, et objets connectés :
Spécial débutant, concevez vous-même votre domotique DIY : https://www.youtube.com/c/DomoticDIY
Conception d'une station météo DIY, et envoi des infos à votre Domotique.

bigbrownies
Messages : 21
Enregistré le : mar. 19 mai 2015 16:58

Re: [SOFT] Configuration VirtualHost Apache2

Message par bigbrownies » mar. 2 juin 2015 10:06

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

maxty01
Modérateur
Messages : 790
Enregistré le : dim. 16 nov. 2014 20:53
Localisation : Charleroi - Belgique

Re: [SOFT] Configuration VirtualHost Apache2

Message par maxty01 » mar. 2 juin 2015 19:56

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,
Il n'y a pas de question stupide, il n'y a que des imbéciles qui ne posent pas de question !
RaspBerry Pi : 1 x B+ Raspbian 1 x RPI2 MiniBian
Mieux me connaître ? Regarder mon LinkedIn

bigbrownies
Messages : 21
Enregistré le : mar. 19 mai 2015 16:58

Re: [SOFT] Configuration VirtualHost Apache2

Message par bigbrownies » jeu. 4 juin 2015 08:38

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

Répondre

Retourner vers « En panne ? »