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
Pourquoi créer VirtualHost AVANT installation CMS
Envoyé par: Otomatic (Modérateur)
Date: 15 May 2014 à 16:40

Bonjour,

Pourquoi faut-il créer un VirtualHost AVANT installation d'un CMS

Revenons un peu sur les VirtualHost ou Hôtes Virtuels.
Une déclaration d'un hôte virtuel comprend des éléments (presque) impératifs :
<VirtualHost *:80>
   ServerName nom_du_site
   DocumentRoot C:/wamp/www/monsite
  <Directory "C:/wamp/www/monsite/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
    Require local
  </Directory>
</VirtualHost>
- Ligne 00 <VirtualHost adresse IP[:port]>
Adresse IP signifie l'adresse IP du serveur virtuel et, dans le cas présent, le caractère *, qui agit comme un caractère générique, et correspond à toute adresse IP. Le numéro de port est optionnel et est 80 par défaut. Néanmoins, ici nous le précisons pour permettre de faciliter les remplacements éventuels
- Ligne 01 ServerName [protocole://]nom de domaine qualifié[:port]
Par défaut, le protocole est http. Le nom de domaine est le nom par lequel on demandera à se connecter au site virtuel. Il doit correspondre aux normes des noms de domaine. Si, comme nom on a (sans les guillemets) "ServerName nom_du_site", on se connectera par (http://nom_du_site)
- Ligne 02 DocumentRoot chemin du répertoire (Sans slash final)
Cette directive permet de définir le répertoire à partir duquel Apache va servir les fichiers. Le chemin de l'URL sera ajouté par le serveur à la racine des documents afin de construire le chemin du document recherché.
Par exemple, avec DocumentRoot C:/wamp/www/monsite, un accès à (http://nom_du_site/index.php) se réfère alors à C:/wamp/www/monsite/index.php.
Si chemin répertoire n'est pas un chemin absolu, il est considéré comme relatif au chemin défini par la directive ServerRoot.
- Ligne 03 <Directory chemin du répertoire> ... </Directory> (Avec un slash final sur le chemin)
Les balises <Directory> et </Directory> permettent de regrouper un ensemble de directives qui ne s'appliquent qu'au répertoire précisé, à ses sous-répertoires, et aux fichiers situés dans ces sous-répertoires, par exemple des autorisations ou des interdictions d'accès.
- Ligne 04 Options ....
Définit les fonctionnalités disponibles pour un répertoire particulier. Le signe + (non présent par défaut si toutes les options sont +) avant le nom de la fonctionnalité valide celleci, le signe - la dévalide. Dans le cas présent :
Indexes : Si une URL requise correspond au répertoire concerné, et si aucun fichier index.html ou index.php n'est défini pour ce répertoire, le module mod_autoindex va renvoyer un listing formaté du contenu du répertoire.
FollowSymLinks : Le serveur va suivre les liens symboliques dans le répertoire concerné.
Multiviews : Les vues multiples ("multiviews"winking smiley à contenu négocié à l'aide du module mod_negotiation sont autorisées.
- Ligne 05 AllowOverride all
Lorsque le serveur trouve un fichier .htaccess , il doit savoir lesquelles des directives placées dans ce fichier sont autorisées à modifier la configuration préexistante ; c'est le rôle de AllowOverride d'autoriser toutes ou certaines des directives des fichiers .htaccess.
- Ligne 06 Require local
La directive Require autorise ou interdit les accès au répertoire concerné. Dans le cas présent (Require local) seules les demandes d'accès provenant du PC sur lequel est installé le serveur seront autorisées (Cela correspond à Allow from 127.0.0.1 et ::1 et localhost).
-----------------------------------

Lorsque vous mettez en ligne un CMS (Joomla, Wordpress ou autre) chez un hébergeur, vous ne pouvez le faire que si vous disposez, chez cet hébergeur d'un « site » pour y installer ledit CMS ou y mettre d'autres fichiers.
Vous ne vous en rendez pas compte, mais chez l'hébergeur, votre « site » est déclaré sous forme de Virtual Host, exactement comme on vient de le décortiquer ci-dessus (Peut-être avec des options en plus ou en moins).
En y regardant d'un peu plus près, chez l'hébergeur, le chemin d'accès (DocumentRoot) est un petit peu plus complexe qu'en local, par exemple :

/srv/data/web/vhosts/nom_du_site/htdocs
ou
/mnt/109/sdb/a/d/nom_du_site

en supposant que chez l'hébergeur, votre site soit nom_du_site.net lorsque vous demanderez (http://nom_du_site.net/wordpress/index.php), c'est le fichier /srv/data/web/vhosts/nom_du_site/htdocs/wordpress/index.php qui sera servi.
Et si, dans un script PHP chez cet hébergeur vous demandez :
echo $_SERVER['DOCUMENT_ROOT'];
vous obtiendrez
/srv/data/web/vhosts/nom_du_site/htdocs
ou
/mnt/109/sdb/a/d/nom_du_site
Tout ça pour dire que un VirtualHost existait chez l'hébergeur AVANT que vous n'y installiez un CMS, Joomla ou Wordpress par exemple.

Venons-en maintenant à un serveur local, par exemple Wampserver.
Vous créez un dossier, par exemple C:/wamp/www/mon_site/ dans lequel vous installez un CMS, par exemple Joomla (dans un dossier nommé joomla) et vous lancez le script d'installation. Pour le faire, vous avez été obligé de mettre l'url (http://localhost/mon_site/joomla/proc_install.php). Et oui, il a fallu ajouter localhost dans l'url.
Que dit la documentation Apache :
- Toute requête qui ne correspond à aucune section <VirtualHost> existante est traitée avec la configuration du serveur principal.
- Si un serveur virtuel ne définit pas de directive ServerName, le nom de ce serveur virtuel sera hérité du serveur principal.
C'est bien le cas, car après installation de Wampserver, aucun VirtualHost n'est défini. Ce sont donc les définitions du fichier de configuration Apache qui sont prises en compte :
	ServerName localhost:80
  DocumentRoot "C:/wamp/www"
  <Directory "C:/wamp/www/">
localhost étant le seul VirtualHost défini, toutes les url devront être basées sur ce site virtuel, donc commencer par (http://localhost/...) pour pouvoir être traitées sans erreur. De plus, de base, c'est le seul qui est défini dans le fichier hosts. Si on omet localhost, les url ne seront pas trouvées d'où erreur 404.
Et, dans ce cas d'installation d'un CMS avec l'url (http://localhost/...), tous les paramètres (chemins, fichiers, url internes, etc.) créés lors de la procédure d'installation le seront avec la variable php $_SERVER['DOCUMENT_ROOT'] égale à C:/wamp/www et non pas C:/wamp/www/mon_site

C'est pourquoi il est beaucoup plus diffcile de créer un VirtualHost mon_site APRÈS l'installation d'un CMS, car alors, la valeur de $_SERVER['DOCUMENT_ROOT'] deviendrait C:/wamp/www/mon_site alors que les paramètres, après installation du CMS ne connaissent que C:/wamp/www d'où erreur de chemin et fichiers non trouvés.

------------------------------------------------------------------------------------------------------------
Wampserver 3.2.9 32 bit - Apache 2.4.53 - PHP 8.1.5…5.6.40 - MySQL 5.7.38 - MariaDB 10.5.13/10.6.5
Wampserver 3.2.9 64 bit - Apache 2.4.53 - PHP 8.1.5…5.6.40 - MySQL 5.7.38/8.0.29 - MariaDB 10.5.15/10.7.3
PhPMyadmin 5.1.3 - MysqlDumper 1.24.5
on W10 and W7 Pro 64 bit
Documentation Apache - Documentation PHP - Documentation MySQL - Wampserver install files & addons
« Ce n'est pas parce qu'ils sont nombreux à avoir tort, qu'ils ont forcément raison. Coluche »
« It's not because they are many to be wrong, they are necessarily right. Coluche »



Modifie 4 fois. Derniere modification le 08/12/2014 à 10:11 par Otomatic.

Options: Répondre•Citer ce Message
Re: Pourquoi créer VirtualHost AVANT installation CMS
Envoyé par: lemur23 (---.194.215.197-ip-dyn.orange.mg)
Date: 11 May 2015 à 12:13

Bonjour
Avant plantage de wamp 2.2, je n'utilisais pas de virtualhost.
Je viens d'installer walmp 2.4 (je suis sous xp sp3).
Suis-je obligé de réinstaller tous mes sites à partir de zéro en utlisant virtualhost?
Ou il y-a-t-il une méthode qui m'évite de tout refaire ?
Merci

Options: Répondre•Citer ce Message
Re: Pourquoi créer VirtualHost AVANT installation CMS
Envoyé par: Otomatic (Modérateur)
Date: 11 May 2015 à 14:51

Bonjour,

Avec Wampserver 2.4, si vous voulez éviter des problèmes, il serait nécessaire de lire et appliquer Wampserver 2.4 - À faire après installation
L'utilisation des VirtualHost, une fois qu'on en a compris le principe, est un jeu d'enfant et, là aussi, vous éviera bien des problèmes ultérieurs.

------------------------------------------------------------------------------------------------------------
Wampserver 3.2.9 32 bit - Apache 2.4.53 - PHP 8.1.5…5.6.40 - MySQL 5.7.38 - MariaDB 10.5.13/10.6.5
Wampserver 3.2.9 64 bit - Apache 2.4.53 - PHP 8.1.5…5.6.40 - MySQL 5.7.38/8.0.29 - MariaDB 10.5.15/10.7.3
PhPMyadmin 5.1.3 - MysqlDumper 1.24.5
on W10 and W7 Pro 64 bit
Documentation Apache - Documentation PHP - Documentation MySQL - Wampserver install files & addons
« Ce n'est pas parce qu'ils sont nombreux à avoir tort, qu'ils ont forcément raison. Coluche »
« It's not because they are many to be wrong, they are necessarily right. Coluche »

Options: Répondre•Citer ce Message
Re: Pourquoi créer VirtualHost AVANT installation CMS
Envoyé par: lemur23 (---.193.215.197-ip-dyn.orange.mg)
Date: 11 May 2015 à 15:57

J'ai lu et appliqué Wampserver 2.4 - À faire après installation
Et je vais me lancer dans l’installation des virtualhosts. Mais dois-je tout réinstaller ?

Options: Répondre•Citer ce Message
Re: Pourquoi créer VirtualHost AVANT installation CMS
Envoyé par: Otomatic (Modérateur)
Date: 11 May 2015 à 16:28

Bonjour,

Vous n'avez pas besoin de tout réinstaller. Il faudra peut-être modifier quelques valeurs dans des fichiers de configuration de vos sites.

------------------------------------------------------------------------------------------------------------
Wampserver 3.2.9 32 bit - Apache 2.4.53 - PHP 8.1.5…5.6.40 - MySQL 5.7.38 - MariaDB 10.5.13/10.6.5
Wampserver 3.2.9 64 bit - Apache 2.4.53 - PHP 8.1.5…5.6.40 - MySQL 5.7.38/8.0.29 - MariaDB 10.5.15/10.7.3
PhPMyadmin 5.1.3 - MysqlDumper 1.24.5
on W10 and W7 Pro 64 bit
Documentation Apache - Documentation PHP - Documentation MySQL - Wampserver install files & addons
« Ce n'est pas parce qu'ils sont nombreux à avoir tort, qu'ils ont forcément raison. Coluche »
« It's not because they are many to be wrong, they are necessarily right. Coluche »

Options: Répondre•Citer ce Message
Re: Pourquoi créer VirtualHost AVANT installation CMS
Envoyé par: lemur23 (---.221.74.41-ip-dyn.orange.mg)
Date: 11 May 2015 à 17:11

Bonjour

OK j'essaye.
Merci

windows XP SP3 - wamp 2.4 - Apache 2.4.4 - php 5.4.16 - mysql 5.6.12 - PhpMyAdmin 4.0.4.1

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