Configurer un serveur local multi-sites sous mac OS X

Vous souhaitez utiliser votre mac comme serveur web local (ou même serveur web normal), tout est déjà inclus dans votre système pour y parvenir (Apache / PHP…). Mais lorsque vous développez (comme moi) des sites pour plusieurs clients à la fois il peut être intéressant de configurer son serveur web comme… un vrai serveur web !

En effet, plutôt que de découper le répertoire qui sert de serveur web en plusieurs sous-répertoires (par exemple : http://localhost/site1/ ou http://localhost/site2/), il est possible de le découper en serveurs virtuels, dont la configuration peut même être différente de l’un à l’autre. On accède alors à chaque site par le nom que l’on aura choisi : http://site1/ ou http://site2/

Voici comment procéder :
ouvrir le terminal
taper : su
puis valider indiquer votre mot de passe _root puis valider à nouveau

1 – éditer le fichier httpd.conf

taper : pico /etc/httpd/httpd.conf
puis valider
presque à la fin du fichier (utiliser CTRL+V / CTRL+Y pour descendre et monter)
pour ajouter par exemple : dev.monsitelocal.com

Ajouter ceci :

NameVirtualHost *
<VirtualHost *>
ServerAdmin mon_adresse@mail.com
DocumentRoot /Users/moncompte/Sites/monsitelocal
ServerName dev.monsitelocal.com
ErrorLog /Users/moncompte/Sites/dev.monsitelocal_error_log CustomLog
/Users/moncompte/Sites/dev.monsitelocal_log common
</VirtualHost>

Terminal Mac OS X

Terminal Mac OS X

Attention : les répertoires choisis pour les logs doivent exister sinon le serveur ne voudra pas redémarrer Si un chemin contient des espaces, le mettre entre guillemets (« /Users/chemin avec espaces/ »)

exemple :

<VirtualHost *>
ServerAdmin mon_adresse@mail.com
DocumentRoot "/Users/chemin avec espaces/mon site"
ServerName dev.monsitelocal.com
ErrorLog "/Users/chemin avec espaces/"
CustomLog "/Users/chemin avec espaces/" common
</VirtualHost>

Enregistrez (CTRL+X puis Y puis Enter)

2 – modifier le paramétrage du Gestionnaire NetInfo

ouvrir Gestionnaire NetInfo (/Applications/Utilitaires/Gestionnaire NetInfo)
aller dans Machines>
Sélectionner localhost et en faire une copie (dupliquer)
sélectionner la copie créée et modifier le paramètre ‘name’ du nom de votre serveur (dev.monsitelocal.com dans notre exemple)
Enregistrez les modifications (domaine>enregistrer les modifications)

Gestionnaire NetInfo Mac OS X

Gestionnaire NetInfo Mac OS X

3 – redémarrer le serveur Apache

taper : apachectl graceful
Vous pouver tester dans votre navigateur : http://dev.monsitelocal.com Vous pouvez ajouter ainsi autant de sites que vous voulez.

Petite astuce… Vous constaterez sûrement comme moi que vous n’avez plus accès à votre « locahost » habituel (celui que vous aviez avant de faire toutes ces manipulations.)
j’ai trouvé une parade simple : comme vous l’avez fait pour dev.votresitelocal.com, créer un nouveau site local que vous nommerez comme vous voulez (par exemple ‘local’ tout simplement) et placez le en premier dans la liste des serveurs virtuels de votre fichier ‘httpd.conf’. (et noubliez pas de l’ajouter aussi dans le gestionnaire NetInfo)

Exemple :

NameVirtualHost *
<VirtualHost *>
ServerAdmin mon_adresse@mail.com
DocumentRoot /Users/moncompte/Sites
ServerName local
ErrorLog /Users/moncompte/Sites/local_error_log Custom
Log /Users/moncompte/Sites/local_log common
</VirtualHost>

<VirtualHost *>
ServerAdmin mon_adresse@mail.com DocumentRoot /Users/moncompte/Sites/monsitelocal
ServerName dev.monsitelocal.com ErrorLog
/Users/moncompte/Sites/dev.monsitelocal_error_log
CustomLog /Users/moncompte/Sites/dev.monsitelocal_log common
</VirtualHost>

Si vous rencontrez un problème de configuration de votre fichier httpd.conf, vous pouvez taper ceci (toujours dans le terminal) : apachectl configtest

En espérant que cela en aura aidé certains

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.