Page 1 sur 1

Deux sites Web sur 1 seul serveur RPI3

Posté : mer. 15 févr. 2017 16:50
par cps
Bonjour,

Environnement technique
RPI : version 3
Distrib version RPI3 - OSMC
Serveur Apache + MySQL
Terminal SSH

Je n'arrive pas à réaliser mon projet de mettre en place 2 sites Web distincts sur une seule RPI3
J'ai lu le topic "Configuration VirtualHost Apache2" sans trouver des solutions à mes problèmes.
Pour cela j'essaye d'utiliser les 2 méthodes dont les VirtualHost mais sans succès.

Site 1 : site Wordpress avec un nom de domaine sous Gandi
Site 2 : site wordpress avec un nom de domaine sous DTDns

Stockage des sites : /var/www/site1, /var/www/site2
Stockage des fichiers conf : /etc/apache2/sites-available/site1.conf, /etc/apache2/sites-available/site2.conf
Modification du fichier /etc/apache2/ports.conf pour que apache écoute le port 8086 pour le second site
Modification du fichier /etc/hosts pour préciser l'adresse IP du serveur

Solution 1
/etc/apache2/sites-available/000-default.conf

<VirtualHost *:80>
ServerAdmin cps@toto.com
ServerName site1.com
ServerAlias http://www.site1.com
DocumentRoot /var/www/site1
<Directory /var/www/site1>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/www/site1/error.log
CustomLog /var/www/site1/access.log combined
</VirtualHost>

<VirtualHost *:80>
ServerAdmin cps@toto.com
ServerName site2.com
ServerAlias http://www.site2.com
DocumentRoot /var/www/site2
<Directory /var/www/site2>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/www/site2/error.log
CustomLog /var/www/site2/access.log combined
</VirtualHost>

Solution 2

J'ai fait deux fichiers de conf, le premier sur le port 80 (de base) et le second sur le port 8086 (modification du fichier /etc/apache2/ports.conf)
Pour le second, cela donne :

<VirtualHost *:8086>
ServerAdmin cps@toto.com
ServerName site2.com
ServerAlias http://www.site2.com
DocumentRoot /var/www/site2
<Directory /var/www/site2>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/www/site2/error.log
CustomLog /var/www/site2/access.log combined
</VirtualHost>

Ensuite pour que les serveurs soient accessibles depuis l'extérieur, j'ai paramétré la Livebox (règle NAT/PAT) en utilisation le service DTDns
Application / Service : Web Server (HTTP
Ports interne / externe : 80 / 80
Protocole : les deux (TCP / UDP)
Appareil : RPI
Activer : coché

La solution 2 fonctionne uniquement en local, je vois bien mes 2 sites sur des ports différents mais en revanche, je n'arrive pas à obtenir de
résultat sur le domaine proposé par DTDns. Si je ping ce domaine, il répond correctement (il renvoie bien l'adresse de la LB).

Pour la solution 1, le premier site est prioritaire et je n'arrive pas à faire afficher le second.

[Mise à jour]

Je viens de rajouter le mot clé : NameVirtualHost à mon fichier de conf sur la solution 1
NameVirtualHost *:80

A la connexion avec le site 2, j'obtiens le message :
Ce site est inaccessible

xxxxxx.dtdns.net n'autorise pas la connexion.
Essayez les suggestions ci-dessous :
Vérifier la connexion
Vérifier le proxy et le pare-feu
ERR_CONNECTION_REFUSED

Quelles solutions préconisez-vous ? Quelles sont les erreurs commises ?
Merci pour vos éclaircissements

Re: Deux sites Web sur 1 seul serveur RPI3

Posté : mer. 15 févr. 2017 21:28
par maxty01
Bonsoir,

Alors ma premier info, utiliser des port différents n'est pas une bonne idée pour une utilisation courante.
Les utilisateurs doivent ajouter le port après l'adresse, ce qui serait louche à mes yeux.
Il faut faire en sorte qu'il n'y a pas de filtrage entre le client et le site web.
Il faut aussi ouvrir et rediriger les ports vers le bon serveur sur le routeur/firewall.
De plus, il faut configurer apache pour que celui-ci écoute sur le nouveau port, ce qui ce fait dans un autre fichier de configuration.

Pour moi, la meilleure solution est la solution n°1.

Mais j'aurai un bémol sur le «ServerAlias» : Je ne pense pas que le "http://" est nécessaire.
Et c'est justement cette directive qui va demander à Apache d'afficher l'un ou l'autre site web.

J'espère vous avoir aider.

Bonne soirée,