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
Virtual Host identiques aux sites réels
Envoyé par: Dominique Ottello (---.fbx.proxad.net)
Date: 04 December 2005 à 15:17

Bonjour,

Ce sujet a sans doute déjà été débattu ici, mais comme j'ai été confronté au problème, voici comment j'ai fait pour que sous Wamp5, mes différents sites soient vus de manière similaire en local et en distant - c'est-à-dire pour que les différentes variables, par exemple :

$_SERVER['REQUEST_URI']
$_SERVER['SCRIPT_NAME']
$_SERVER['PHP_SELF']
$_SERVER['SCRIPT_FILENAME']
$_SERVER['DOCUMENT_ROOT']
$_SERVER['SERVER_NAME']
__FILE__

soient gérées de la même manière en local et en réel, ce qui n'est pas le cas de la configuration Wamp5 par défaut.

Je prends l'exemple de 3 de mes sites :

- Sites réels
[aviatechno.fre.fr]
[le.pointu.free.fr]
[phottello.free.fr]

- Sites locaux
G:\Wamp\www\aviatechno\
G:\Wamp\www\le.pointu\
G:\Wamp\www\phottello\

- 1 - Modifier le fichier %windir%\System32\Drivers\etc\Hosts
pour qu'il comprenne les lignes suivantes dans l'ordre :

127.0.0.1 localhost
127.0.0.1 aviatechno
127.0.0.1 phottello
127.0.0.1 le.pointu

Les contenus de droite de chaque ligne étant les exacte copies des noms des dossiers des sites locaux situés dans G:\Wamp\www\

Nota : Il est impératif que les noms des dossiers des sites locaux soient différents des noms des sites réels.

- 2 - Ouvrir le fichier Wamp\Apache\Conf\httpd.conf
et, à partir de la ligne : # Use name-based virtual hosting.
ajouter (ou modifier) le texte suivant :

NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot G:/Wamp/www
ServerName localhost
</VirtualHost>

<VirtualHost *:80>
DocumentRoot G:/Wamp/www/aviatechno
ServerName aviatechno
</VirtualHost>

<VirtualHost *:80>
DocumentRoot G:/Wamp/www/phottello
ServerName phottello
</VirtualHost>

<VirtualHost *:80>
DocumentRoot G:/Wamp/www/le.pointu
ServerName le.pointu
</VirtualHost>

Nota : ServerName localhost doit être en premier et l'ordre correspondre à celui du fichier Hosts.

À partir de ces modifications, si on lance Wampserver et que dans le navigateur on lance un site local, par exemple [aviatechno] (le "/" final est obligatoire), on ouvrira bien le site local.

En revanche, si on lance Localhost du menu de Wampserver puis un des site qui apparaissent dans la page index.php, 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 :

echo '<a class="ditem" href="'.$file.'"><img src="dossier.gif" alt="image dossier" /> '.$file.'</a>';

par

echo '<a class="ditem" href="['.$file.'] src="dossier.gif" alt="image dossier" /> '.$file.'</a>';

et le site local sera bien lancé par [aviatechno] au lieu de localhost/aviatechno

Options: Répondre•Citer ce Message
Re: Virtual Host identiques aux sites réels
Envoyé par: dval (---.chrcitadelle.be)
Date: 05 December 2005 à 14:31

merci pour cette note d'info très claire et détaillée.

Options: Répondre•Citer ce Message
Re: Virtual Host identiques aux sites réels
Envoyé par: zoltatem (---.sympatico.ca)
Date: 03 January 2006 à 14:34

J'ai bien suivi le tuto et les sites aviatechno, phottello, le.pointu, ne veulent pas ouvrir.
Mon localhost répond bien mais si je change de non dans internet explorer: [localhost] ou [aviatechno], jai toujours le localhost en vue.
on dirais que les répertoire ne veulent pas changer pour chaque adresse.

Options: Répondre•Citer ce Message
Re: Virtual Host identiques aux sites réels
Envoyé par: Dominique Ottello (---.fbx.proxad.net)
Date: 03 January 2006 à 16:38

Les sites aviatechno, phottello, le.pointu, sont les noms de *mes* sites et ça peut ne pas fonctionner *chez toi*.

Je récapitule en prenant un nom générique : "monsite".

1 - Déjà, il faut qu'un dossier dans Wamp\www\ se nomme "monsite", avec un fichier index.html ou index.php : Wamp\www\monsite\index.php

2 - Fichier %windir%\System32\Drivers\etc\Hosts :
127.0.0.1 localhost
127.0.0.1 monsite

3 - Fichier Wamp\Apache\Conf\httpd.conf
NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot G:/Wamp/www
ServerName localhost
</VirtualHost>

<VirtualHost *:80>
DocumentRoot G:/Wamp/www/monsite
ServerName monsite
</VirtualHost>

4 - dans le fichier Wamp\www\index.php modifier la ligne :
echo '<a class="ditem" href="'.$file.'"><img src="dossier.gif" alt="image dossier" /> '.$file.'</a>';

par

echo '<a class="ditem" href="['.$file.'] src="dossier.gif" alt="image dossier" /> '.$file.'</a>';

Ne pas oublier de sauvegarder les fichiers modifiés.
Redémarer la machine.
Lancer Wampserver (Ne pas oublier, sinon ça ne fonctionne pas)
Lancer le navigateur déclaré par défaut lors de l'installation de Wamp5
taper [monsite]
Et ÇA FONCTIONNE, je viens d'essayer en rajoutant "monsite" à ceux que j'avais déjà.

Options: Répondre•Citer ce Message
Re: Virtual Host identiques aux sites réels
Envoyé par: zoltatem (67.71.115.---)
Date: 03 January 2006 à 23:25

Rebonjour,
Chez moi , WampServer est instaler dans c:wamp.
Dans le répertoire www, jai la page d'acceuil .de WampServer
Dans ce répertoire jai créer un autre dossier du nom: gtrgt, par la suite jai créer une nouvelle BDD du nom de nuke et envoyer mon site nuke dans le dossier gtrgt.

J'ai modiffier le fichier: httpd.conf , qui ce trouve dans:C:\wamp\Apache2\conf.
NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot C:/Wamp/www
ServerName localhost
</VirtualHost>

<VirtualHost *:80>
DocumentRoot C:/Wamp/www/gtrgt
ServerName gtrgt
</VirtualHost>

Par la suite, jai modiffier le fichier: hosts , C:\WINDOWS\system32\drivers\etc.
127.0.0.1 localhost
127.0.0.1 gtrgt

Par la suite jai modiffier le fichier index.php du répertoite www

Wamp\www\index.php modifier la ligne :
echo '<a class="ditem" href="'.$file.'"><img src="dossier.gif" alt="image dossier" /> '.$file.'</a>';

par

echo '<a class="ditem" href="['.$file.'] src="dossier.gif" alt="image dossier" /> '.$file.'</a>';

Et voila, maintenent [localhost] fonctionne et si je entre [gtrgt] / je me retrouve encors avec l'index.php du localhost, aucun changement, je reste clouer sur la page d'acceuil de WampServer

Options: Répondre•Citer ce Message
Re: Virtual Host identiques aux sites réels
Envoyé par: zoltatem (67.71.115.---)
Date: 04 January 2006 à 03:29

zoltatem a écrit:

> Rebonjour,
> Chez moi , WampServer est instaler dans c:wamp.
> Dans le répertoire www, jai la page d'acceuil .de WampServer
> Dans ce répertoire jai créer un autre dossier du nom: gtrgt,
> par la suite jai créer une nouvelle BDD du nom de nuke et
> envoyer mon site nuke dans le dossier gtrgt.
>
> J'ai modiffier le fichier: httpd.conf , qui ce trouve
> dans:C:\wamp\Apache2\conf.
> NameVirtualHost *:80
>
> <VirtualHost *:80>
> DocumentRoot C:/Wamp/www
> ServerName localhost
> </VirtualHost>
>
> <VirtualHost *:80>
> DocumentRoot C:/Wamp/www/gtrgt
> ServerName gtrgt
> </VirtualHost>
>
> Par la suite, jai modiffier le fichier: hosts ,
> C:\WINDOWS\system32\drivers\etc.
> 127.0.0.1 localhost
> 127.0.0.1 gtrgt
>
> Par la suite jai modiffier le fichier index.php du répertoite
> www
>
> Wamp\www\index.php modifier la ligne :
> echo '<a class="ditem" href="'.$file.'"><img src="dossier.gif"
> alt="image dossier" /> '.$file.'</a>';
>
> par
>
> echo '<a class="ditem" href="['.$file.']
> src="dossier.gif" alt="image dossier" /> '.$file.'</a>';
>
> Et voila, maintenent [localhost] fonctionne et si je
> entre [gtrgt] / je me retrouve encors avec l'index.php du
> localhost, aucun changement, je reste clouer sur la page
> d'acceuil de WampServer.

Peut etre que mon probleme vien du fichier config.php

$dbhost = "localhost";
$dbuname = "root";
$dbpass = "";
$dbname = "nuke";
$prefix = "nuke";
$user_prefix = "nuke";
$dbtype = "MySQL";
$sitekey = "S·kQSd5%W@Y62-dm29-.-39.3a8sUf+W9";
$gfx_chk = 0;
$subscription_url = "";
$admin_file = "admin";
$advanced_editor = 0;

Options: Répondre•Citer ce Message
Re: Virtual Host identiques aux sites réels
Envoyé par: Dominique Ottello (---.fbx.proxad.net)
Date: 05 January 2006 à 16:47

En procédant à une installation « normale » de Wamp5, il n'existe pas de fichier "config.php"

Avant d'essayer d'installer des trucs et des machins *en plus* de Wamp5, il convient d'abord de s'assurer que celui-ci est correctement paramétré et fonctionne bien *de base*, c'est-à-dire sans rien y ajouter.

Donc :

- 1 - Désinstaller tous les trucs et les machins ajoutés à Wamp5
- 2 - Désisntaller Wamp5
- 3 - Nettoyer la BDR (Voir la FAQ)
- 4 - Redémarrer la machine
- 5 - Dévalider les services et programmes lancés automatiquement au démarrage (Exécuter : msconfig) et non strictement indispensable au fonctionnement de Windows
- 6 - Redémarrer la machine
- 7 - Installer Wamp5
- 8 - Configurer les fichiers comme indiqué dans une précédente contribution, *sans* ajouter des trucs et des machins.
- 9 - Mettre un fichier index.php dans le répertoire souhaité, en l'occurrence gtrgt
- 10 - Lancer Wampserver
- 11 - Lancer Localhost par le menu de l'icône Wampserver
- 12 - Vérifier que "gtrgt" apparaît sous le menu Vos projets et le lancer
- 13 - Vérifier que c'est bien gtrgt/index.php qui s'exécute.

Arrivé là, cela indique que Wampserver fonctionne correctement.

Donc, si après avoir ajouté des trucs et des machins, ça ne fonctionne pas, le problème ne vient pas de Wamp5.

Options: Répondre•Citer ce Message
Re: Virtual Host identiques aux sites réels
Envoyé par: Xuxu (---.w193-251.abo.wanadoo.fr)
Date: 20 February 2006 à 11:32

Merci pour ce post tres interressant.

Encore THX

Options: Répondre•Citer ce Message
Re: Virtual Host identiques aux sites réels
Envoyé par: Kamui (---.w83-113.abo.wanadoo.fr)
Date: 21 February 2006 à 18:52

Pareil que Zoltatem, si je clique sur un site de "mes projet" je reste bloqué sur la page de WAMP. Et ce même si il y a un index.html dans le dossier. Voici ma config :

DocumentRoot Y:/www

# Use name-based virtual hosting.
#
#NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot Y:/www
ServerName localhost
</VirtualHost>

<VirtualHost *:80>
DocumentRoot Y:/www/edouard
ServerName edouard
</VirtualHost>

D'ailleurs sur la page WAMP, le lien pointe sur [edouard] et non sur [edouard]. Ca ne marche pas non plus si je rentre l'adresse complète dans le navigateur. C'est comme si le virtual host n'était pas pris en compte.

Options: Répondre•Citer ce Message
Re: Virtual Host identiques aux sites réels
Envoyé par: Dominique Ottello (---.fbx.proxad.net)
Date: 22 February 2006 à 10:50

Vérifier les lignes suivantes :
- Dans httpd.conf

UseCanonicalName Off

DocumentRoot "Y:/www"

<Directory "Y:/www">

- Dans wampserver.ini

Type: item; Caption: "www directory"; Action: shellexecute; FileName: "Y:/www"; Glyph: 2

Telles qu'elles sont écrites, c'est-à-dire *avec les guillemets* pour certaines.

D'autre part, il est *normal* que les liens pointent sur un répertoire et non pas sur un fichier.

Et puis, il faudrait aussi *décommenter" la ligne #NameVirtualHost *:80, c'est-à-dire supprimer le # de début de ligne.

Options: Répondre•Citer ce Message
Re: Virtual Host identiques aux sites réels
Envoyé par: schmitt a (---.mts.modulonet.fr)
Date: 22 February 2006 à 11:23

Avant d'essayer d'installer des trucs et des machins *en plus* de Wamp5, il convient d'abord de s'assurer que celui-ci est correctement paramétré et fonctionne bien *de base*, c'est-à-dire sans rien y ajouter.

100% d'accord car j'ai des collegues "spécialistes" enfin bof qui...
merci dominique d'insister sur ce point
andré


Options: Répondre•Citer ce Message
Re: Virtual Host identiques aux sites réels
Envoyé par: Kamui (---.w86-209.abo.wanadoo.fr)
Date: 22 February 2006 à 15:26

"Et puis, il faudrait aussi *décommenter" la ligne #NameVirtualHost *:80, c'est-à-dire supprimer le # de début de ligne."

Oui c'est ça qui gênait en fait. Merci bien.

Je voulais savoir si le virtual host servait en autre à indiquer la racine d'un site web.
Je m'explique :

Le *echo $_SERVER['DOCUMENT_ROOT']* m'indique bien Y:/www/monsite spécifé dans mon virtual host. Je pourrais me servir de cette variable pour mes "include" mais en local, car avec mon hébergeur c'est pas une méthode conseillée. Et j'ai pas envie de faire deux sites différents.
Je voudrais donc savoir comment limiter l'arborescence du site au dossier "monsite" et pas depuis "www" comme c'est le cas actuellement, lors d'un "href=../menu" par exemple.

Je ne sais pas si je suis très clair.

Options: Répondre•Citer ce Message
Re: Virtual Host identiques aux sites réels
Envoyé par: Dominique Ottello (---.fbx.proxad.net)
Date: 22 February 2006 à 16:37

Kamui a écrit:

> Le *echo $_SERVER['DOCUMENT_ROOT']* m'indique bien
> Y:/www/monsite spécifé dans mon virtual host. Je pourrais me
> servir de cette variable pour mes "include" mais en local, car
> avec mon hébergeur c'est pas une méthode conseillée.

Au contraire, c'est la méthode conseillée et même quasiment obligatoire.
Si tu codes tes chemins *en dur* par rapport à ton hébergeur actuel, tu seras bien désapointé le jour où celui-ci changera ton site de place et/ou de machine (Migration) ou le jour où tu changeras d'hébergeur.

Par exemple, mes deux sites identiques [aviatechno.free.fr] et [aviatechno.info] sont chez deux hébergeurs différents mais sont transférés depuis mon site local de la même manière par le même programme FTP.
Bien sûr, j'utilise $_SERVER['DOCUMENT_ROOT'] pour travailler en relatif et $_SERVER['SERVER_NAME'] pour quelques variantes suivant l'hébergeur ou le site local.

Si tu fais *exactement* toutes les modifications et appels comme je l'ai préconisé dans la première contribution de cette enfilade, ton site local se comportera de la même manière que le site réel.
Si, en local, tu code href='../menu', ce sera la même chose pour le site réel.


Options: Répondre•Citer ce Message
Re: Virtual Host identiques aux sites réels
Envoyé par: Dominique Ottello (---.fbx.proxad.net)
Date: 23 February 2006 à 10:12

De l'utilisation de $_SERVER['DOCUMENT_ROOT']

Voici une fonction php qui permet, de définir le niveau d'arborescence à laquelle on se trouve

//Recherche du "niveau" d'arborescence
//retourne "" ou "../" * nombre de fois nécessaires
function arbre() {
return str_repeat("../",substr_count(substr($_SERVER['SCRIPT_FILENAME'],strlen($_SERVER['DOCUMENT_ROOT'])),'/')-1);
}

Ce qui permet de n'utiliser qu'un seul dossier contenant les images qui pouvent se trouver sur toutes les pages, où qu'elles situent dans l'arborescence du site.

Voici, par exemple, comment créer un lien sur la racine du site, sans s'occuper de calculer « à la main » où on se trouve ; et ça fonctionnera toujours même si on change le script de place dans l'arborescence, même si on change d'hébergeur.

$racine=arbre();
echo "<a href='".$racine."index.php'><img src='".$racine."images/home.gif' alt='Accueil' title='Accueil' class='up'></a>";


Options: Répondre•Citer ce Message
Re: Virtual Host identiques aux sites réels
Envoyé par: Kamui (---.w86-200.abo.wanadoo.fr)
Date: 24 February 2006 à 20:04

Merci pour cette fonction très utile.

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