A des fins d’organisation, il est parfois très intéressant avec un Mamp (ou wamp, xampp…) de créer des adresses virtuelles, une par projet par exemple.
Ce qui permet d’accéder plus rapidement à ce projet, ou de le placer dans un dossier spécifique.
Les virtualhost
sont là pour ça!
Par défaut, l’installation d’un Mamp vous permet d’accéder à vos oeuvres php via l’adresse
http://localhost
Parfois suivi d’un numéro de port, mais je préfère de loin rester dans les standards (voir plus bas).
Et si vous avez un dossier pour un projet (dans mon cas, mes tutos
), vous y accédez via
http://localhost/tutos
Ce qui suppose que ce dossier se trouve dans la même arborescence… Ce qui n’est pas toujours le cas.
Nous allons donc configurer la machine et Mamp pour y accéder via
http://tutos.rc
En virtualisant ce nom de domaine (c’est le terme) pour qu’il pointe vers n’importe quel dossier de la machine, y compris un disque dur externe par exemple…
Notez que j’ai choisi l’extension .rc
de façon arbitraire (en fait, car ce sont mes initiales, si, si). Habituellement, nous utilisons l’extension .dev
mais il semblerait que celle-ci pose problème avec les nouvelles moutures des navigateurs.
ATTENTION: la manipulation est assez technique, soyez vigilants…
Pour Mamp, j’ai l’habitude donc de le caler sur le port 80, norme standard. Pour ce faire, allez dans le menu MAMP, puis Préférences, puis Ports, et précisez les valeurs ci dessous:
Si vous utilisez autre chose que Mamp (xampp, wamp, …) la méthode sera comparable mais je ne pourrais guère vous l’indiquer…
Il s’agit ici de faire une correspondance entre le nom de domaine (virtuel, accessible uniquement de votre machine) tutos.rc
et l’adresse IP locale.
Depuis le terminal, lancez l’instruction:
atom /etc/hosts
Ne modifiez rien, rajoutez à la fin
127.0.0.1 tutos.rc ::1 tutos.rc fe80::1%lo0 tutos.rc
Ce qui va nous faire cette fameuse correspondance IP -> nom. A la sauvegarde, votre mot de passe vous sera demandé.
Nous avons créé le nom virtuel, il faut maintenant préciser à apache de pointer vers un dossier précis, dans mon cas:
/Users/richnou/TUTOS/
Pour ce faire, toujours depuis le terminal, saisissez:
atom /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
Si on exclu les commentaires (ligne avec # au début), votre fichier va ressembler à ceci:
NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot /Applications/MAMP/htdocs ServerName localhost </VirtualHost> <VirtualHost *:80> DocumentRoot /Users/richnou/TUTOS/ ServerName tutos.rc </VirtualHost>
J’ai mis en gras ce que j’ai ajouté, c’est à dire la correspondance entre le ServerName (tutos.rc donc) et le DocumentRoot (le dossier correspondant).
Il s’agit maintenant de configurer Apache au niveau global, et donc accepter qu’il prenne en compte nos modifications.
Pour ce faire, toujours depuis le terminal, faire:
atom /Applications/MAMP/conf/apache/httpd.conf
Vers la ligne 206 environ, associé au <Directory />
on modifie le AllowOverride qui était à None pour le mettre à All…
<Directory /> Options Indexes FollowSymLinks AllowOverride All </Directory>
Vers la ligne 575 du même fichier, retirer le # devant:
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
Ce qui permet de demander à Apache d’inclure le fichier vhost que nous avons modifier préalablement.
Ne reste plus qu’à sauvegarder tous les fichiers, et à relancer MAMP… Ne fermez pas Atom! Si jamais cela se passe mal, vous pourrez faire des cmd-Z pour revenir en arrière…
http://tutos.rc
Est désormais accessible.
J’ai ici ajouté un seul virtual host, mais il est tout à fait possible d’en créer autant que nécessaire.
Dans ce cas, répétez les phases nom de domaine et vhost, pas utile pour la configuration apache.
Merci.
Les autres que j’ai consultés font modifier les fichiers de /etc/apache2 : inopérant pour moi.
Précisez de relancer les servers MAMP, voire MAMP lui-même.
Cordialement,