Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forums MacBidouille _ Les Langages Du Web _ VirtualHOST en local ? (résolu)

Écrit par : MacMame 13 Jul 2017, 09:33

Bonjour à toute et tous !,


Alors, voila,

J'ai un mac (en fait c'est un xserve sous Elcaptain) sur lequel, j'ai installé php 5.6, mysql et phpmyadmin (son ip en local est 192.168.1.3)

J'arrive donc à accéder via d'autre machine connecté en réseaux à ce serveur via 192.168.1.2/~username/sites/xxx.com

Jusque la , c'est bon !

Mais depuis peux, je dois installer un site qui me demande l'utilisation d'un virtual host et un alias (url rewriting), du coup j'ai activé les module url rewriting et vhost, alias etc...

J'ai mis dans /private/etc/apache2/extra/httpd-vhosts.conf

ceci:

Code
<VirtualHost *:80>
        DocumentRoot    "/Users/username/Sites/mynewsite/monsite/"
        ServerName      www.monsite.loc
        ServerAlias     monsite.loc

<directory "/Users/username/Sites/mynewsite/monsite/">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </directory>

</VirtualHost>


Du coup, cela fonctionne bien (url rewriting y compris) mais seulement sur la machine serveur, j'ai bien monsite.loc qui s'affiche.

Maintenant, comment faire pour accéder à monsite.loc sur mes autre machine connecté au réseaux local ?? j'ai entendu dire qu'il falais modifié le hosts de la machine client, ce que j'ai fait mais çà ne donne rien, le soucis, c'est que les machine clients possèdent toute leurs propre hosts et du coup, elle se connecte sur celui ci. Et même si j'indique le port comme ceci (monsite.loc:80), çà ne change rien ...

Quelqu'un à un idée ?

Merci pour votre aide... biggrin.gif

Écrit par : Philippe64 13 Jul 2017, 10:02

Bonjour MacMame,

Tu peux effectivement le faire comme ceci dans ton fichier host sur les machine externes à ton xserve :

Code
192.168.1.3 www.monsite.loc

Écrit par : MacMame 13 Jul 2017, 10:04

Merci Philippe64 !

Mais malheureusement çà ne fonctionne pas. sad.gif de mémoire je dois avoir un forbidden... je suis pas chez moi la ...

Écrit par : Philippe64 13 Jul 2017, 10:18

Voici comment je configure mes fichiers vhost / host sur ma machine d'hébergement en local :

/private/etc/apache2/extra/httpd-vhosts.conf

Code
# designlaps
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/Users/username/Sites/mynewsite/monsite/"
ServerName monsite.local
ServerAlias www.monsite.local
ErrorLog "/private/var/log/apache2/monsite-error_log"
CustomLog "/private/var/log/apache2/monsite-access_log" common
</VirtualHost>


/private/etc/hosts

Code
127.0.0.1       monsite.local


et sur les machines externe, comme je t'ai mis plus haut. (mais sans www)

Code
192.168.1.3       monsite.local


Et ça marche chez moi

Écrit par : MacMame 13 Jul 2017, 11:54

Ok je pense avoir fait comme toi mais je vais vérifier dans le détails quand je serais chez moi.

Merci pour tes précisions, je reviens aux nouvelles. biggrin.gif

Écrit par : MacMame 13 Jul 2017, 12:24

Au fait je pense à un truc .

Est-ce que je peux stopper le serveur apache du mac client ? y'a peut être collusion ?

euh bon c'est sans doute une question stupide...

Écrit par : Philippe64 13 Jul 2017, 12:45

pas besoin, ça n'interfère pas avec le serveur apache.

Écrit par : MacMame 13 Jul 2017, 23:17

Alors je récapitule, j'ai mis ceci dans mon httpd-vhosts.conf:

Code
<VirtualHost *:80>
DocumentRoot "/Users/username/sites/monsite.com"
ServerName monsite.loc
ServerAlias www.monsite.loc
<Directory  "/Users/username/sites/monsite.com">
   Options Indexes FollowSymLinks MultiViews
   AllowOverride All
   Require local
</Directory>




Dans hosts, j'ai mis ceci

Code
192.168.1.3 monsite.loc


Dans httpd.conf, j'ai mis ceci je ne sais pas si c'est bon...):

Code
<Directory />
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from  192.168.1.55
Allow from ::1
Allow from localhost
</Directory>



Ensuite, j'ai mis ceci sur le hosts du mac client:

Code
192.168.1.3 monsite.loc


Et voici le résultat, un forbidden, j'imagine que l'ip (192.168.1.55) du client est bloqué, non ?

Code
Forbidden

You don't have permission to access / on this server.


Écrit par : Jaypee 14 Jul 2017, 06:46

Les clients externes doivent appartenir au même réseau privé (192.168.x.y). Même le x doit matcher celui de ton serveur.
Dans le cas contraire, il faut une configuration dite de "reverse proxy" une machine sur le réseau privé avec une seconde interface réseau visible à l'extérieur et des règles de proxy qui dirigeront à l'intérieur toutes les requêtes sous un certain chemin arrivant sur le serveur de proxy (si le serveur proxy est dédié à cet usage, toutes les requêtes seront acceptées, mais il faut se méfier des cyberattaques si on ouvre inutilement large, donc restreindre aux URL qu'on veut. Pour peu qu'un hacker puisse écrire dans un répertoire du serveur, il aura vite fait de monter un serveur fantôme).

J-P

Écrit par : MacMame 14 Jul 2017, 08:36

Bonjour Jaypee,


Mon serveur et mes mac sont bien sur sur le même réseau, 192.168.1.2 (serveur) et 192.168.1.55...26..25 etc... pour les mac sur le réseau local.


Écrit par : Jaypee 14 Jul 2017, 12:46

Il faut regarder la configuration de ton routeur, si ce n'est pas une Box.

En effet, ces routeurs ont la possibilité de régler les différents connexions en mode "cyber-café": Chacun voit l'internet, mais personne ne peut "espionner" son voisin.
http://lemeilleurantivirus.fr/verrouiller-votre-rseau-wi-fi-avec-loption-disolation-sans-fil-de-votre-routeur/

J-P


Écrit par : Philippe64 14 Jul 2017, 13:34

Citation (MacMame @ 14 Jul 2017, 00:17) *
Dans hosts, j'ai mis ceci

Code
192.168.1.3 monsite.loc


Moi je mets sur dans le host du serveur :
Code
127.0.0.1       monsite.loc


et bien ceci dans le host des clients

Code
192.168.1.3 monsite.loc

Écrit par : MacMame 14 Jul 2017, 15:24

Alors moi j'ai mis çà dans le host (serveur):


Code
127.0.0.1 monsite.loc www.monsite.loc


et dans le hosts client


Code
192.168.1.3 monsite.loc


et j'ai toujours:

Code
Forbidden

You don't have permission to access / on this server.


Sinon, dans httpd.conf, j'ai mis ceci, c'est bon ?

Code
#ServerName www.example.com:80

#
# Deny access to the entirety of your server's filesystem. You must
# explicitly permit access to web content directories in other
# <Directory> blocks below.
#
<Directory />
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from  192.168.1.55
Allow from ::1
Allow from localhost
</Directory>

Écrit par : Jaypee 15 Jul 2017, 07:42

Je mettrais des apostrophes:

<Directory '/'>, car sinon je ne vois que un directory vide, des propriétés globales et une balise de fermeture orpheline...

J-P

Écrit par : MacMame 17 Jul 2017, 08:16

Bonjour JP,


Merci mais çà n'a rien avoir, j'ai enfin trouvé , c'était juste mon vhost qui bloquait l'ip du mac client, j'ai donc rajouté ces 2 lignes dans mon vhost:

Code
   AllowOverride All
   Allow from  192.168.1.26


Et ç marche niquel !!

Merci à vous 2. smile.gif

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)