J'avais utilisé WampServer il y a quelques années sans avoir aucun souci, j'adore cette plateforme de dev automatisée pour Windows !!!
Depuis Samedi, je m'engage à nouveau dans ce domaine pour le projet d'un ami, sauf que je rencontre quelques soucis jamais rencontrés auparavant, et j'espère pouvoir trouver ici les réponses à mes questions
Donc : J'ai installé Wamp à la racine de mon disque H, et mon site web s'appellera ici "test", ce qui me donne comme arborescence : "H:\WEB_SERVER\www\test\*" "*" contient les fichiers et dossiers d'un CMS open source la BDD est bien installée et accessible version apache : 2.4.33 version php : 7.2.4 version mysql : 5.7.21 Vhost #1 : 127.0.0.1 "HomeTest" H:\WEB_SERVER\www\"
Tout fonctionne parfaitement bien en local, mais c'est lorsque je veux présenter le test à mon ami que ça se gâte !!! Le but étant que mon ami puisse visualiser le site en tapant dans son navigateur : http:// monadresseipWan/test/
J'ai donc effectué la redirection de port nécessaire sur le routeur du FAI, qui fait pointer les requêtes en :80 sur l'adresse ip locale de mon poste et donc sur apache... je me bats depuis deux jours. J'ai réussi (en tripotant les différents Allow,Deny), à le faire accéder à la racine "..\www\" via http:// monadresseipWan, ce qui l'amène sans bug à l'interface web de Wamp. Là où ça se gatte, c'est quand il pointe sur l'adresse http:// monadresseipWan/test/ !!! L'adresse est automatiquement changée en http:// 127.00.1/test/ !!! Ce qui ne le mène, forcément, à rien puisqu'il se retrouve sur sa propre boucle locale !!!!
Auriez-vous des solutions à m'apporter pour régler ce problème, et auriez-vous des conf précises à faire dans les différents httpd.conf, httpd-vhosts.conf, etc , afin que : Il n'aie pas accès à l'interface web de Wamp en tapant juste mon adresse IP (que ça lui mette le fameux "Forbidden" ) Il aie accès sans souci au site de test, sans que ça se transforme automatiquement en 127.0.0.1 .
Merci par avance, j'espère avoir été clair dans les explications de mon souci.
> en tripotant les différents Allow,Deny Non, non. Avec Apache 2.4, c'est Require. Voir la documentation Apache -> Require
Et pour le VirtualHost correspondant à votre site test, vous remplacez le Require local par les Require qui vont bien, comportant l'IP de celui qui veut se connecter.
Ok, en clair, je suis un peu "vieux jeu" à utiliser les "Order Deny,Allow" ?? Comme je l'ai dit, ça fait un bail que j'ai pas mit les mains la dedans ... me laissant dépasser par les maj et nouveautés !!!
Vhost, OK, ou presque ...
Mais quelle config prend le dessus ? Laquelle ou lesquelles dois-je vraiment toucher pour obtenir que mon pote aie accès à son site, depuis son domicile jusqu'à mon pc ??
Et apparemment, utiliser le Vhost primaire "localhost" n'est pas secure pour un site online ... Je dois donc me créer un autre Vhost pour les besoins de mon pote ?
Qu'en est-il des DDNS ? Je viens de m'en procurer un...
Bref, beaucoup de questions, je sais .. Je n'ai aucun mal à gérer CMS, BDD, PHP, réseaux, NAT, etc, etc, mais beaucoup plus à gérer les mises en ligne de tout ça... (Chacun ses compétences ^^)
Pardon pour la perte de temps que je vous inflige ^^
Vous ne modifiez le Require QUE pour le VirtualHost auquel vous voulez donner accès de l'extérieur. Et le nombre de VirtualHost n'est pas limité, comme chez les hébergeurs qui, sans qu'on le sache vraiment, utilisent les VirtualHost pour héberger les différents sites.
Et pas besoin (Théoriquement) de DDNS, le DNS local (fichier hosts) en tient lieu, mais avec Windows 10 1803 on n'est pas à l'abri des surprises.
Merci pour les Vhosts. Je pense avoir quasi tout compris sur leurs fonctionnements et buts (par vos liens et des tutos tout aussi instructifs de la toile). Je vais donc m'y atteler...
Pour être certain, il n'y a QUE dans le fichier httpd-vhosts.conf que je déclarerai mes autorisations d'accès externes, via des Require ?? Je n'ai donc, en quelque sorte, et pour ma simple utilisation, plus à toucher au httpd.conf de ce côté là ???
J'ai pas trop saisi lequel surpasse l'autre, et dans quelles conditions. Via httpd.conf, on bloque tout sauf pour le local, puis on fait un include du fichier httpd-vhosts.conf qui contient des autorisations spécifiques pour les dossier internes (ou externes) à "www" ???
Désolé si mes questions paraissent bêtes ou surprenantes...
C'est ça, c'est comme dans la maintenance aéronautique: Tout ce qui n'est pas explicitement autorisé est implicitement interdit. Tous les accès, sauf local,sont interdits puis on autorise certains accés LAN ou WAN, sur un ou plusieurs VirtualHost et ça peut même être dossier par dossier..
httpd.conf par défaut ou presque, en tous cas : [...] Listen 127.0.0.1:80 Listen 0.0.0.0:80 Listen [::0]:80 [...] <Directory /> AllowOverride none Require all denied </Directory> [...] <Directory "${INSTALL_DIR}/www/"> Options Indexes FollowSymLinks AllowOverride None Require local </Directory> [...] # Virtual hosts Include conf/extra/httpd-vhosts.conf
httpd-vhosts.conf : # <VirtualHost *:80> ServerName localhost ServerAlias localhost DocumentRoot "H:/wamp/www" <Directory "H:/wamp/www/"> Options +Indexes +Includes +FollowSymLinks +MultiViews AllowOverride all Require local </Directory> </VirtualHost> # <VirtualHost *:80> ServerName test ServerAlias www.test DocumentRoot "H:/wamp/www/test" <Directory "H:/wamp/www/test/"> Options +Indexes +Includes +FollowSymLinks +MultiViews AllowOverride All Require all granted </Directory> </VirtualHost>
C:\windows\system32\drivers\etc\hosts : 127.0.0.1 localhost test ::1 localhost test
[...]
L'icône wamp est bien affichée en vert dans la barre des tâches ... Le tout fonctionne toujours aussi bien en local ...
J'ai bien suivi et intégré les tutos .............
Mais j'ai toujours du "Forbidden" à l'écran lorsque je tente l'accès depuis l'extérieur (par exemple la connexion 3G de mon tél pro) ....
Donc j'ai du louper quelque chose ....
Merci par avance de m'aiguiller ....
PS : pourquoi ai-je moins de mal avec IIS7 sous 2008 R2, avec gestion double ip, php-mSsql, firewall, etc ... ???? lol
PSS : au cas ou, j'utilise wamp 3.1.3, j'utilise pour ce projet une VM tournant sous Windows 10 entreprise build1709, et j'utilise comme éditeurs NP++ et Dreamweaver
Modifie 3 fois. Derniere modification le 22/05/2018 à 00:35 par mordred8311.
Après avoir créé l'alias correspondant au 2nd Vhost :
- j'ai bien le fameux "Forbidden" à la racine "www" (autrement dit, actuellement, la page d'infos de wamp) en tapant l'adresse http:// monIPwan - je n'ai plus le "forbidden" en tapant l'adresse http:// monIPwan/test/
H:\wamp\www\alias\test.conf : Alias /test "H:/wamp/www/test/" <Directory "H:/wamp/www/test/"> Options +Indexes +FollowSymLinks +MultiViews AllowOverride all <ifDefine APACHE24> Require all granted </ifDefine> <ifDefine !APACHE24> Order Deny,Allow Deny from all Allow from localhost ::1 127.0.0.1 </ifDefine> </Directory>
Je n'ai donc pas intégré le rapport vhost <-> alias ... Et pas intégré non plus le fait de devoir donner aux deux la directive "Require all granted" (pas secure mais suffisante pour mon test)
ET, dernière question pour finir de vous embêter :
- http:// monIPwan pointe sur "../www/" - http:// monIPwan/test/ pointe sur "../www/test/"
- http:// monDDNS (donc monIPwan) pointe sur "../www/" - http:// monDDNS/test/ pointe sur "../www/test/"
Comment faire pour que http:// monDDNS pointe sur "../www/test/" ??? Vous me suivez ? mdr Je suis quelque peu fatigué à 1h du mat', et mes neurones n'arrivent pas à trouver la solution, pourtant simplissime, je n'en doute pas ... Peut-être que tout à l'heure au réveil, j'aurai une ampoule bien brillante au dessus de la tête. Comme on dit, la nuit porte conseil ...
Nenuit à tous ...
Modifie 1 fois. Derniere modification le 22/05/2018 à 01:05 par mordred8311.