Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
logiciel:internet:wamp:start [2021/04/03 15:40] – [Fichier config.inc.php] adminlogiciel:internet:wamp:start [2022/02/26 14:24] admin
Ligne 1: Ligne 1:
 {{tag>Logiciel}} {{tag>Logiciel}}
  
-====== Wamp : un serveur HTTP sous Windows ======+====== Wamp : un serveur Apache MySQL PHP sous Windows ======
  
 ===== Pré-requis ===== ===== Pré-requis =====
Ligne 73: Ligne 73:
 === Fichier httpd.conf === === Fichier httpd.conf ===
  
-<subnumberlist>+<WRAP list-deep>
   - **Ouvrez** le fichier **** :   - **Ouvrez** le fichier **** :
   - **Cliquez sur l'icône wamp** et sélectionnez **Apache -> httpd.conf**   - **Cliquez sur l'icône wamp** et sélectionnez **Apache -> httpd.conf**
Ligne 82: Ligne 82:
 </WRAP> </WRAP>
   - **Redémarrez WAMP**.   - **Redémarrez WAMP**.
-</subnumberlist>+</WRAP>
  
 === Fichier config.inc.php === === Fichier config.inc.php ===
Ligne 95: Ligne 95:
  
   * Voir [[http://forum.wampserver.com/read.php?1,124502]]   * Voir [[http://forum.wampserver.com/read.php?1,124502]]
 +
 +=== Page d'accueil, menu Vos Projets et le besoin de VirtualHost ===
 +
 +<WRAP center round info 60%>
 +L'utilisation des VirtualHost est demandée avec Wampserver 2.5, mais cette demande est valable quelles que soient les versions et même quel que soit le serveur local utilisé, à partir du moment où il utilise Apache.
 +</WRAP>
 +
 +<WRAP center round important 60%>
 +Il est impératif de créer un hôte virtuel pour chacun de vos projets (même si vous les mettez dans la structure \wamp\www\sous-dossier).
 +
 +Sinon, la page d'accueil de WampServer (\wamp\www\index.php) ne fonctionnera pas correctement.
 +
 +Lancer ses sites locaux par **%%http://localhost/projet1/%%** ou **%%http://localhost/projet2/%%** est à bannir totalement.
 +
 +En effet, cela introduit un niveau supplémentaire **localhost/** dans les url d'accès à vos sites locaux. Beaucoup de variables prédéfinies par le serveur HTTP n'auront pas les bonnes valeurs.
 +
 +Par exemple, soit un projet wamp/www/mon-projet/
 +
 +Avec l'appel tel qu'il devrait être : (http://mon-projet/) voici les valeurs de quelques éléments prédéfinis
 +
 +<code>
 +$_SERVER['HTTP_HOST'] = mon-projet
 +$_SERVER['SERVER_NAME'] = mon-projet
 +$_SERVER['DOCUMENT_ROOT'] =C:/wamp/www/mon-projet
 +</code>
 +
 +Et voilà quels sont les mêmes éléments prédéfinis avec (http://localhost/mon-projet/)
 +
 +<code>$_SERVER['HTTP_HOST'] = localhost
 +$_SERVER['SERVER_NAME'] = localhost
 +$_SERVER['DOCUMENT_ROOT'] =C:/wamp/www</code>
 +
 +Vous pouvez voir, entre autres, que le chemin d'accès au dossier racine du projet ($_SERVER['DOCUMENT_ROOT']) n'est pas le bon chemin. et, en plus, ce sera TOUJOURS C:/wamp/www quel que soit le projet lancé de cette manière.
 +
 +Ces valeurs erronées vont - à coup sûr - induire des erreurs incompréhensibles avec des Frameworks, des CMS ou des applications web que vous ajouterez à vos projets, par exemple Wordpress ou Joomla ; mais ce ne sont pas les seules.
 +Vos « projets » sont hébergés chez "localhost" tout comme les sites « réels » sont hébergés chez "ovh", "free", "1and1", "gandi" ou autres et, pour accéder à ces sites réels , vous ne tapez pas (http://gandi/wampserver.com) mais bien (http://wampserver.com)
 +
 +Il faut donc définir quelles sont les caractéristiques et la localisation de vos projets par rapport à leurs hébergement chez "localhost".
 +
 +Sans définition de VirtualHost, (http://localhost/mon-projet/) fonctionne parce que ce nom "localhost" est défini en tant nom de site par défaut et qu'une adresse d'accès lui est donnée et que le dossier /mon-projet/ est considéré comme un « niveau » secondaire du site localhost. Ceci est effectué par le fichier "C:\Windows\System32\drivers\etc\hosts" (sans extension) qui donne les correspondances entre les adresses IP et les noms de site. Après installation du serveur, ce fichier doit contenir, comme ligne active (C'est-à-dire sans # au début de ligne), au moins :
 +
 +<code>127.0.0.1 localhost</code>
 +
 +(La séparation entre l'adresse IP et le nom peut être un ou plusieurs espaces ou tabulations)
 +
 +Si votre système supporte IPv6 (En principe, par défaut depuis Windows 7), il faut y ajouter l'adresse IPv6, donc :
 +
 +127.0.0.1 localhost
 +::1 localhost
 +</WRAP>
 +
 +=== Comment créer des VirtualHost avec Wampserver ===
 +
 +Il y a trois étapes pour créer votre premier VirtualHost Apache, et seulement deux si vous en avez déjà défini un (ou plusieurs).
 +
 +  - Créez la définition du VirtualHost
 +  - Ajoutez votre nouveau nom de domaine dans le fichier HOSTS.
 +  - Valider la ligne dans le fichier httpd.conf qui inclut le fichier de définition des hôtes virtuels.
 +
 +== Étape 1 : Créer la définition du VirtualHost ==
 +
 +Editez le fichier appelé `httpd-vhosts.conf` qui pour WampServer a pour chemin complet **\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf** (Les numéros de version Apache peuvent différer, faites travailler vos petites cellules grises{©Hercule Poirot} avant de continuer)
 +
 +<WRAP center round important 60%>
 +Si c'est la première fois que vous modifiez le fichier httpd-vhosts.conf, supprimez totalement l'exemple de code par défaut, non seulement il n'est d'aucune utilité, mais, si vous le laissez, il va créer des problèmes
 +</WRAP>
 +
 +Supposons que nous voulons créer une définition pour un site appelé projet1 qui est dans **\wamp\www\projet1**
 +
 +Très important, il faut d'abord s'assurer que localhost fonctionne toujours - Il n'est pas défini comme VirtualHost par défaut -, donc, si c'est la première définition de VirtualHost nous allons mettre dans ce fichier et en premier :
 +
 +<code - bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf>
 +<VirtualHost *:80>
 +  ServerName localhost
 +  ServerAlias localhost
 +  DocumentRoot C:/wamp/www
 +  <Directory "C:/wamp/www/">
 +    Options Indexes FollowSymLinks MultiViews
 +    AllowOverride all
 +    Require local
 +  </Directory>
 +</VirtualHost>
 +</code>
 +
 +==== Déclarer vos noms de sites à l'aide de VirtualHost ====
 +
 +Voir [[http://forum.wampserver.com/read.php?1,124502]]
 +
 +Il est vivement conseillé de déclarer vos sites en utilisant la directive **VirtualHost** d'Apache.
 +
 +Ces déclaratives se placent dans le fichier **Repertoire_Wamp\bin\Apache\Apache2.4.10\conf\extra\httpd-vhosts.conf**.
 +
 +Editer le fichier **httpd.conf** et décommenter la ligne include :
 +<code># Virtual hosts
 +#Include conf/extra/httpd-vhosts.conf</code>
 +pour obtenir :
 +<code># Virtual hosts
 +Include conf/extra/httpd-vhosts.conf</code>
 +
 +Voici des exemples de déclaratives concernant les sites 'localhost', 'phpmyadmin', du site local 'mon-site-un' et du site visible depuis internet 'mon-site-trois'.
 +
 +<code># ------------------- #
 +#     mon-site-un     #
 +# ------------------- #
 +
 +<VirtualHost 127.0.0.1:80>
 + ServerName mon-site-un
 + ServerAdmin artemus@jcz.fr
 + DocumentRoot "f:/Site-01/"
 +#
 + ErrorLog  "f:/Site-01/Logs/error.log"
 + CustomLog "f:/Site-01/Logs/custom.log" common
 +#
 + <Directory />
 + Options -Indexes +FollowSymLinks +MultiViews
 + AllowOverride all
 + <RequireAny>
 + Require local
 + </RequireAny>
 + </Directory>
 +</VirtualHost>
 +
 +# ----------------- #
 +#     Localhost     #
 +# ----------------- #
 +
 +<VirtualHost 127.0.0.51:80>
 + ServerName localhost
 + ServerAdmin artemus@jcz.fr
 + DocumentRoot "f:/Wamp/www/"
 +#
 + ErrorLog  "f:/Wamp/www/Logs/error.log"
 + CustomLog "f:/Wamp/www/Logs/custom.log" common
 +#
 + <Directory />
 + Options -Indexes +FollowSymLinks +MultiViews
 + AllowOverride none
 + <RequireAny>
 + Require local
 + </RequireAny>
 + </Directory>
 +</VirtualHost>
 +
 +# ------------------ #
 +#     PhpMyAdmin     #
 +# ------------------ #
 +
 +<VirtualHost 127.0.0.52:80>
 + ServerName phpmyadmin
 + ServerAdmin artemus@jcz.fr
 + DocumentRoot "${Version_PhpMyAdmin}/"
 +#
 + ErrorLog  "f:/Wamp/Logs/phpmyadmin_error.log"
 + CustomLog "f:/Wamp/Logs/phpmyadmin_custom.log" common
 +#
 + <Directory />
 + Options -Indexes +FollowSymLinks +MultiViews
 + AllowOverride none
 + <RequireAny>
 + Require local
 + </RequireAny>
 + </Directory>
 +</VirtualHost>
 +
 +# ---------------------- #
 +#     mon-site-trois     #
 +# ---------------------- #
 +
 +<VirtualHost 192.168.1.33:80>
 + ServerName mon-site-trois
 + ServerAdmin artemus@jcz.fr
 + DocumentRoot "f:/Site-03/"
 +#
 + ErrorLog  "f:/Site-03/Logs/error.log"
 + CustomLog "f:/Site-03/Logs/custom.log" common
 + LogLevel warn rewrite:trace3
 +#
 + <Directory />
 + Options -Indexes +FollowSymLinks +MultiViews
 + AllowOverride all
 + <RequireAny>
 + Require local
 + Require ip 192.168.1.33
 + </RequireAny>
 + </Directory>
 +</VirtualHost></code>
 +
 +Ne confondez pas les adesses IP d'identification de vos sites qui sont mis dans la directive 'VirtualHost' (ce qui est en rouge), et que vous devez déclarer dans le fichier 'hosts' (voir le paragraphe suivant), avec les adresses IP d'autorisation (ceux mis dans la partie 'RequireAny').
 +
 +Les adresses IP d'autorisations sont ceux identifiant les ordinateurs qui accèdent à vos sites. Mettre 'Require local' pour toutes les adresses 'loopback', c'est-à-dire les adresses locales commençant par '127.', c'est-à-dire sur l'ordinateur où est hébergé WampServer. Si vous avez besoin de déclarer une adresse particulière, vous devez le faire en mettant 'require ip 192.168.1.33' par exemple.
 +
 +Pour de plus amples explications, je vous conseille de lire mon didacticiel consacré au paramétrage d'Apache.
 +
 +Lisez la documention d'Apache sur la directive VirtualHost. Voici quelques explications :
 +  * **ServerName** : nom de votre site (obligatoire).
 +  * **serverAdmin** : adresse email pour vous joindre en cas de problème (facultatif en mode local).
 +  * **DocumentRoot** : nom du répertoire racine où se trouve votre site (obligatoire).
 +  * **ErrorLog** : fichier compte-rendu des erreurs d'Apache (obligatoire). Ne pas oublier de créer le fichier 'text' à vide.
 +  * **CustomLog** : fichier complémentaire des erreurs d'Apache (obligatoire). Ne pas oublier de créer le fichier 'text' à vide.
 +  * **Options** : déclarative pour démarrer sans problème (obligatoire). Lisez la documentation d'Apache sur la directive Options.
 +  * **AllowOverride** : pour accéder au fichier '.htaccess'. lisez la documentation d'Apache sur la directive AllowOverride.
 +
 +le serveur Apache est à l'écoute du port '80'. Après l'adresse IP, il faut mettre un ':80'. Si vous voulez généraliser l'écoute, vous pouvez mettre ':*'.
 +
 ===== Utilisation ===== ===== Utilisation =====
  
Ligne 101: Ligne 305:
 ===== Voir aussi ===== ===== Voir aussi =====
  
-  * **(fr)** site officiel : [[http://www.wampserver.com/]] +  * **(fr)** [[http://www.wampserver.com/]] 
-  * **(fr)** (forum) Le besoin de virtualhost [[http://forum.wampserver.com/read.php?1,124502]] +  * **(fr)** [[http://forum.wampserver.com/read.php?1,124502]] 
-  * **(fr)** (forum) installer une (nouvelle) version de Wampserver : [[http://forum.wampserver.com/read.php?1,119444]] +  * **(fr)** [[http://forum.wampserver.com/read.php?1,119444]] 
-  * **(fr)** (forum) conseils de dépannage : [[http://forum.wampserver.com/read.php?1,88043]]+  * **(fr)** [[http://forum.wampserver.com/read.php?1,88043]]
   * **(fr)** [[http://www.jcz.fr/wampserver/]]   * **(fr)** [[http://www.jcz.fr/wampserver/]]
   * **(fr)** [[http://www.cndp.fr/crdp-dijon/Installer-et-configurer-Wampserver.html]]   * **(fr)** [[http://www.cndp.fr/crdp-dijon/Installer-et-configurer-Wampserver.html]]
 +  * **(fr)** [[http://framasoft.net/article2315.html]]
 +  * **(fr)** [[http://forum.wampserver.com/read.php?2,42224]]
 +  * **(fr)** [[http://blog.nicolashachet.com/niveaux/debutant/apache-wamp-deplacer-la-racine-www-de-votre-serveur-web/]]
 +  * **(fr)** [[http://www.waebo.com/wamp-modifier-le-repertoire-racine-www.html]]
 +  * **(fr)** [[http://blog.idleman.fr/wamp-changer-le-chemin-du-repertoire-www-proprement/]]
  
 ---- ----
 //Basé sur << [[http://Article|Article]] >> par Auteur.// //Basé sur << [[http://Article|Article]] >> par Auteur.//