Installer un site web en local

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 !



Un commentaire sur “Installer un site web en local

  1. 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 ;)

Laisser un commentaire