WampServer

Apache, PHP, MySQL on Windows 

 
  • Accueil forum
  • Retour à WampServer
  • presentation
  • Download
  • Addons
  • Formations
  • Alter Way

 
Voir le sujet: Précédent•Suivant
Aller à : Liste des Forums•Liste des messages•Nouvelle discussion•Recherche•Connexion•Imprimer la vue
Sites locaux avec support IPv6
Envoyé par: Otomatic (---.fbx.proxad.net)
Date: 08 October 2011 à 16:41

Bonjour,

Mise à jour pour support IPv6 de la procédure écrite en 2007.
Nota : Fonctionne sans aucun problème en IPv4. Les points concernant IPv6 sont séparés.

Fonctionne quelles que soient les version de Windows
- Windows XP Home SP3 (Sans support IPv6)
Attention : Les dernières versions Apache compilées VC11 ne sont plus compatibles avec XP.
- Windows 7 & Windows 8 ou 8.1 32 ou 64 bits (Avec ou sans support IPv6)
- Wampserver 2, 2.1, 2.2, 2.4 (quel que soit le numéro de version)
- Wampserver Offline (Serveur hors ligne)

**** Pour le support IpV6, seulement à partir de la version 2.2.19 d'Apache ****

et quel que soit le nombre de « sites » locaux.

Cette procédure permet que sous WampServer, les sites locaux soient vus de la même manière que les mêmes sites transférés chez un ou plusieurs hébergeurs (Free, 1and1 et Gandi en ce qui me concerne) - c'est-à-dire :
- Accéder au site local par h ttp://mon_site/ et non pas h ttp://localhost/mon_site/
- Pour que les différentes variables réservées de serveur et d'exécution, par exemple, $_SERVER qui est un tableau contenant des informations comme les en-têtes, dossiers et chemins du script, comme :
$_SERVER['SCRIPT_NAME']
$_SERVER['PHP_SELF']
$_SERVER['SCRIPT_FILENAME']
$_SERVER['DOCUMENT_ROOT']
$_SERVER['SERVER_NAME']
__FILE__
soient gérées exactement de la même manière en local et en réel, ce qui n'est pas totalement le cas de la configuration Wamperver par défaut, principalement pour le fichier www/index.php.

Je prends l'exemple de 3 de mes sites :
**** exemples à modifier en fonction : ****
**** - du nom de vos propres sites locaux ****
**** - des chemins des dossiers et fichiers ****
************************************************


- Sites réels
h ttp://aviatechno.net/
h ttp://le-pointu.aviatechno.net/
h ttp://phottello.free.fr/

- Sites locaux
Il faut créer, dans le dossier Wamp\www (Ou dans votre dossier www, si vous l'avez déplacé, ce qui est le cas ici) autant de répertoires que de sites locaux, par exemple, avec Wamp installé sur J:\Wamp et les sites locaux sur G:\www
G:\www\aviatechno\
G:\www\le.pointu\
G:\www\phottello\
Nota : Il est IMPÉRATIF que les noms des dossiers des sites locaux soient différents des noms des sites réels.
C'est dans ces répertoires que seront mis les fichiers html et php des sites afférents.

- 1 - Modifier le fichier %windir%\System32\Drivers\etc\Hosts
pour obtenir la ligne suivante :
127.0.0.1  localhost aviatechno phottello le-pointu.aviatechno
--- Nota : Si vous utilisez une version d'Apache (A partir de 2.2.19) et un système qui supporte IPv6 (IP version 6) vous devez ajouter :
::1 localhost aviatechno phottello le-pointu.aviatechno
Remarque : Ne pas mettre le support localhost en IPv6 si votre version Apache ou votre système ne le supporte pas.
Important : Les contenus de droite (Noms des sites virtuels) devront correspondre exactement aux noms des « ServerName » qui seront mis en 2.1
Nota : localhost doit être en premier.
Nota : Par défaut, le fichier hosts est pourvu des attributs système : caché et lecture seule. Il est donc impératif de supprimer ces attributs avant de vouloir l'éditer. (Voir Note 2)

- 2 - Ouvrir le fichier Wamp\bin\apache\apache2.x.y\conf\httpd.conf
Nota : La définition des « Virtual Hosts » ne se fait pas directement dans le fichier httpd.conf comme dans certaines version précédentes d'Apache, mais dans le fichier Wamp\bin\apache\apache2.x.y\conf\extra\httpd-vhosts.conf.

Décommenter (Supprimer le # de début de ligne) la ligne Include... :
# Virtual hosts
Include conf/extra/httpd-vhosts.conf

Si vous voulez supporter IPV6, il faut, en plus, modifier ce fichier pour obtenir (Pour Apache 2.2.x):
#   onlineoffline tag - don't remove
    Order Deny,Allow
    Deny from all
    Allow from localhost ::1 127.0.0.1
</Directory>
Pour Apache 2.4.x, le support Ipv6 est implicitement intégré par :
#   onlineoffline tag - don't remove
    Require local
</Directory>

- 2.1 - Ouvrir le fichier Wamp\bin\apache\apache2.x.y\conf\extra\httpd-vhosts.conf
Les chemins et adresses sont à remplacer par les votres
- 2.1.a Sans support IPV6 : Remplacer tout le contenu du fichier par :
#------- Début du fichier ----
#
# Virtual Hosts
#

NameVirtualHost *:80

<VirtualHost *:80>
   ServerName localhost
   DocumentRoot G:/www
   ServerAdmin webmaster@monsite.net
   ErrorLog "J:/Wamp/logs/localhost_error.log"
  <Directory "G:/www/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order Deny,Allow
    Deny from all
    Allow from localhost
    Allow from 127.0.0.1
  </Directory>
</VirtualHost>

<VirtualHost *:80>
   ServerName aviatechno
   DocumentRoot G:/www/aviatechno
   ServerAdmin webmaster@monsite.net
   ErrorLog "J:/Wamp/logs/aviatechno_error.log"
  <Directory "G:/www/aviatechno/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
    Order Deny,Allow
    Deny from all
    Allow from localhost
    Allow from 127.0.0.1
  </Directory>
</VirtualHost>

<VirtualHost *:80>
   ServerName phottello
   DocumentRoot G:/www/phottello
   ServerAdmin webmaster@monsite.net
   ErrorLog "J:/Wamp/logs/phottello_error.log"
  <Directory "G:/www/phottello/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
    Order Deny,Allow
    Deny from all
    Allow from localhost
    Allow from 127.0.0.1
  </Directory>
</VirtualHost>

<VirtualHost *:80>
   ServerName le-pointu.aviatechno
   DocumentRoot G:/www/le.pointu
   ServerAdmin webmaster@monsite.net
   ErrorLog "J:/Wamp/logs/lepointu_error.log"
  <Directory "G:/www/le.pointu/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
    Order Deny,Allow
    Deny from all
    Allow from localhost
    Allow from 127.0.0.1
  </Directory>
</VirtualHost>
#------- Fin du fichier ----
Nota : ServerName localhost doit être en premier et l'ordre correspondre à celui du fichier Hosts.

2.1.b Avec support IPV6 : Il faut ajouter le support IPv6 à chaque « Virtual Host ».
Pour chacun des <virtualHost *:80>, remplacer :
    Allow from localhost
    Allow from 127.0.0.1
par
    Allow from localhost
    Allow from ::1
    Allow from fe80::/10
    Allow from 127.0.0.1

2.1.c Pour Apache 2.4.x, il faut remplacer :
    Order Deny,Allow
    Deny from all
    Allow from localhost
    Allow from 127.0.0.1
par
    Require local

À partir de ces modifications (Ne pas oublier d'enregistrer les fichiers modifiés), si on lance Wampserver et que dans le navigateur on lance un site local dans la barre de navigation, par exemple [aviatechno] (le "/" final est obligatoire), on ouvrira bien le site local et, dans ce cas, le contenu des variables PHP sera similaire à celui des mêmes variables sur le site réel.

En revanche, si on lance Localhost depuis l'icône de Wampserver, puis dans le menu du fichier index.php de Wampserver, par exemple aviatechno, on obtiendra :
[localhost]
ce qui ajoute un niveau de plus (localhost/) par rapport au site réel et fait que les variables susmentionnées n'ont pas un contenu similaire à celui du site réel.

Donc,
- 3 - dans le fichier Wamp\www\index.php
modifier la ligne :
		$projectContents .= '<li><a href="'.$file.'">'.$file.'</a></li>';
par
		$projectContents .= '<li><a href="h ttp://'.$file.'">'.$file.'</a></li>'; //[modif oto] http:// après href="

et le site local sera bien lancé par h ttp://aviatechno/ au lieu de h ttp://localhost/aviatechno

---------------------------------------------------------------
(Note 2) Pour Modifier le fichier hosts et ses droits, non seulement il faut être dans une session administrateur, mais en plus, il faut vérifier que ledit administrateur est bien propriétaire du fichier C:\Windows\System32\drivers\etc\hosts.
Je sais, ça peut paraître idiot, mais l'administrateur n'est pas obligatoirement propriétaire dudit fichier.
(En principe, le propriétaire de base de ce fichier est "Système" )
1) Pour pouvoir modifier les permissions d'un dossier ou fichier, il faut :
- soit avoir reçu le "contrôle total" sur ce dossier ou fichier
- soit en être le propriétaire (ou être membre du groupe qui en est le propriétaire), ce qui permet ALORS de s'attribuer le contrôle total sur ce dossier ou fichier.
2) Pour être le propriétaire d'un dossier ou fichier, il faut :
- soit en être le créateur
- soit appartenir au groupe des Administrateurs, ce qui permet la modification du propriétaire, donc de se déclarer comme propriétaire.

Donc, Explorateur, clic-droit sur "C:\Windows\System32\drivers\etc\hosts" puis Propriétés Sécurité, Avancé, Propriétaire.
Si vous n'êtes pas le propriétaire actuel : Modifier et choisir le propriétaire voulu puis Appliquer et OK deux fois. Une fois le changement de propriétaire appliqué, il faut quitter (Impératif) la fenêtre des propriétés pour que ce soit mis à jour.
Revenir à propriétés du fichier "C:\Windows\System32\drivers\etc\hosts", Onglet Sécurité, sélectionner le nouveau propriétaire et vérifier que Contrôle total s'applique, sinon Modifier pour choisir le nouveau propriétaire et valider Contrôle total.
C'est seulement à partir de là que vous pourrez modifier les autorisations sur le fichier et enlever la lecture seule.
---------------------------------------------------------------

---------------------------------------------------------------
Documentation Apache - Documentation PHP - Documentation MySQL - Wampserver install files & addons



Modifie 4 fois. Derniere modification le 17/03/2014 à 11:21 par Otomatic.

Options: Répondre•Citer ce Message
Re: Sites locaux avec support IPv6
Envoyé par: Ymox (---.dynamic.hispeed.ch)
Date: 15 March 2012 à 21:01

Si vous n'arrivez plus à accéder à phpMyAdmin, à webgrind ni à sqlbuddy après ces manipulations, cela peut provenir de ce que vous avez paramétré le serveur pour IPv6.

Comme pour les virtual hosts, les aliases doivent contenir les lignes
Allow from localhost
Allow from ::1
Allow from fe80::/10
Allow from 127.0.0.1
afin que vous puissiez y accéder. Donc, il faut modifier les fichiers dans alias/ et ajouter les lignes manquantes.

Observé sous Win7 Intégrale, avec WAMP 2.2a

Options: Répondre•Citer ce Message
Re: Sites locaux avec support IPv6
Envoyé par: T3hty (---.w90-51.abo.wanadoo.fr)
Date: 04 January 2013 à 02:03

Pour les liens vers les virtuals host, si par exemples vous avez à la fois des vhosts et des dossiers sous localhost, au lieu de modifier le fichier index.php, vous pouvez rajouter un dossier "vhosts" à la racine de wamp et de créer des fichiers ".conf" pour chaque vhosts.

Dans l'exemple ci-dessus il faudra donc créer les fichiers :
aviatechno.conf
le.pointu.conf
phottello.conf

Cela pour effet de créer les entrées
h ttp://aviatechno
h ttp://le.pointu
h ttp://phottello
dans les virtuals hosts de la page d'accueil de wamp.

Si vous ne voulez pas avoir les dossiers correspondants dans la liste des projets, il suffit de rajouter le nom des dossiers à la liste des projets à ignorer (sensible à la casse) :
$projectsListIgnore = array ('.','..','aviatechno','le.pointu','phottello');

Le second avantage que cela apporte est qu'on peut avoir un nom différent entre le dossier et le nom de domaine associé.

Options: Répondre•Citer ce Message
Re: Sites locaux avec support IPv6
Envoyé par: EricP50 (---.w81-48.abo.wanadoo.fr)
Date: 08 January 2014 à 17:58

Cela concerne uniquement IPv6?
Je suis chez Orange et IPv6 n'est pas annoncé sur la Livebox avant 2015.
Ça me laisserait le temps de comprendre...

Options: Répondre•Citer ce Message
Re: Sites locaux avec support IPv6
Envoyé par: Otomatic (Modérateur)
Date: 08 January 2014 à 19:05

Bonsoir,

Concerne IPv4 et IPv6. Tout ce qui concerne IPv6 est clairement identifié comme tel et peut être soit omis, soit commenté en cas de non support d'IPv6.

Tient, je vais ajouter un script php qui permet de tester si IPv6 est activé sur le système.
//[modif oto] - Teste si IPv6 est supporté par le système
if (extension_loaded('sockets')) {
  //Create socket IPv6
  $socket = socket_create(AF_INET6, SOCK_RAW, 1) ;
  if($socket === false) {
    $errorcode = socket_last_error() ;
    $errormsg = socket_strerror($errorcode);
    echo "<p>Error socket IPv6: ".$errormsg."</p>\n" ;
  }
  else {
    echo "<p>IPv6 supported</p>\n" ;
    socket_close($socket);
  }
}
else echo "<p>Extension PHP sockets not loaded</p>\n" ;

---------------------------------------------------------------
Documentation Apache - Documentation PHP - Documentation MySQL - Wampserver install files & addons

Options: Répondre•Citer ce Message


Aller à : Liste des Forums•Liste des messages•Recherche•Connexion
Désolé, seuls les utilisateurs connectés peuvent envoyer des messages dans ce forum.
Cliquer ici pour se connecter

design by jidePowered by Alter Way get firefoxget PHP