Développer en PHP sans connexion internet, c’est possible ! Une simple plateforme de développement web suffit (LAMP, WAMP, easyPHP, etc…).
Personnellement, j’utilise comme environnement de développement Eclipse et/ou NetBeans qui disposent de leur propre espace de travail (workspace). Pour développer en local, il m’est donc indispensable de modifier le répertoire de publication de la plateforme (ex: ‘c:\wamp\www’ pour WAMP) accessible par l’URL http://localhost/dossier_du_projet/ afin d’éviter une duplication des données génératrice d’erreurs.L’objectif est de pouvoir mettre le site en ligne http://www.geraudlacheny.fr et le sous-domaine http://admin.geraudlacheny.fr associé en local sous http://geraudlacheny.localhost et le sous-domaine http://admin.geraudlacheny.localhost. Il important de savoir pour la suite que les 2 sous-domaines (www et admin) doivent pointer vers le même dossier.
Pré-requis
- Système d’exploitation : Windows Vista, Windows 7
- Plateforme de développement web : WAMP installée sur C:\
Étape 1 : Éditer le fichier hosts
Le fichier se trouve dans le répertoire ‘C:\Windows\System32\drivers\etc\‘. Attention : il se peut qu’il soit bloqué en lecture seule ! Éditer le fichier avec les autorisations d’administrateur et ajouter à la suite les lignes suivantes :
127.0.0.1 geraudlacheny.localhost 127.0.0.1 admin.geraudlacheny.localhost
Étape 2 : Éditer le fichier httpd.conf
Ce fichier de configuration est localisé dans le répertoire ‘C:\wamp\bin\apache\apache2.2.8\conf\‘.
Éditer ce fichier avec un éditeur de texte comme Notepad++ par exemple. Déclarer le répertoire ou sont stockées les pages web en précisant les directives associées :
<Directory "d:/workspace/geraudlacheny.fr/dev/www/"> AllowOverride all Options Indexes FollowSymLinks Order Allow,Deny Allow from all </Directory>
Depuis WAMP 5 1.7.0, la définition des « VirtualHosts » ne se fait plus directement dans le fichier httpd.conf, mais dans le fichier httpd-vhosts.conf.
Il faut donc ne pas oublier de dé-commenter la ligne Include conf/extra/httpd-vhosts.conf (vers la fin du fichier) avant de passer à l’étape 2. Puis on sauvegarde…
Étape 3 : Éditer le fichier httpd-vhosts.conf
Ce fichier de configuration est localisé dans le répertoire ‘C:\wamp\bin\apache\Apache2.2.17\conf\extra\‘.
Éditer ce fichier et ajouter les lignes suivantes :
NameVirtualHost localhost NameVirtualHost 192.168.xx.yy DocumentRoot "C:/wamp/www/" ServerName localhost DocumentRoot "D:/workspace/geraudlacheny.fr/dev/www/" ServerName geraudlacheny.localhost DocumentRoot "d:/workspace/geraudlacheny.fr/dev/www/" ServerName admin.geraudlacheny.localhost
Il faut bien évidemment remplacer les xx et yy de l’adresse IP par vos propres valeurs. Pour connaitre l’IP locale de son poste, il faut utiliser la commande ipconfig en mode console (cmd.exe à exécuter en tant qu’administrateur).
Étape 2 (alternative 1) : Éditer uniquement le fichier httpd-vhosts.conf
Il est apparemment possible aussi de ne rien inscrire dans le httpd.conf et de tout mettre dans httpd-vhosts.conf en suivant ce modèle :
<VirtualHost *:80>
ServerName geraudlacheny.localhost
ServerAlias admin.geraudlacheny.localhost
DocumentRoot "D:/workspace/geraudlacheny.fr/dev/www"
<Directory "D:/workspace/geraudlacheny.fr/dev/www">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Étape 2 (alternative 2) : Éditer uniquement le fichier httpd-vhosts.conf et créer un lien symbolique
Windows nous offre la possibilité à partir de windows Vista de créer des liens symboliques grâce à la commande MKLINK. Pour ce faire, rien de plus simple : il suffit de faire pointer le DocumentRoot non plus sur le répertoire physique du projet (=D:/workspace/geraudlacheny.fr/dev/www), mais sur un lien symbolique qui pointera vers ce dossier.
Ainsi en exécutant la commande à partir de l’invite de commande windows (cmd.exe à exécuter en tant qu’administrateur impérativement) :
MKLINK /D chemin_et_nom_du_repertoire_fictif chemin_et_nom_du_repertoire_physique
où le paramètre /D indique qu’il s’agit d’un lien symbolique d’un répertoire (<SYMLINKD> affiché dans la console)
soit dans le cas présent :
MKLINK /D geraudlacheny.fr D:\workspace\geraudlacheny.fr\dev\www
N.B. : geraudlacheny.fr/ est bien le nom d’un répertoire :
La commande doit aboutir par un « Lien symbolique créé pour geraudlacheny.fr <<===>> D:\workspace\geraudlacheny.fr\dev\www »
Conclusion
Penser à redémarrer le serveur web et le tour est joué !
Attention : pensez bien à adapter la configuration de votre serveur web par rapport au serveur de production sur lequel est / sera placé votre site. En effet, le serveur web en local est souvent plus permissif et possède des versions plus récentes de logiciels que le serveur de production !
pour moi ça n’a pas fonctionné les lignes à rajouter pour le httpd-vhosts.conf
à la place j’ai mis ça :
NameVirtualHost geraudlacheny.localhost
DocumentRoot « d:/workspace/geraudlacheny.fr/dev/www/ »
ServerName geraudlacheny.localhost
Merci pour ce très bon tuto, qui va m’aider pour un certain musée