Créer un environnement de développement PHP local sous Mac OS X [MAJ]

La mise à jour de Mac OS X 10.8 Mountain Lion a changé la configuration d’apache. Pour plus d’informations, lisez l’article MAJ Max OS X Mountain Lion : Impact de votre serveur de développement local.

Il existe plusieurs solutions de développement en local sous windows pour bien préparer vos projet (EasyPHP ou encore WampServer) mais les solutions sous Mac OS X sont assez limitées (Mamp est très limité dans sa version gratuite et Xamp est instable et très hasardeux). Pourtant, c’est très facile de développer son environnement manuellement sous MaxOS X sachant qu’apache est déjà installé et intégré au système d’exploitation. Nous allons ainsi voir comment configurer apache pour qu’il puisse faire tourner un site en local sur un nom de domaine de développement personnalisé et comment faire tourner MySQL et se passer de PHPMyAdmin.

I/ Configurer Apache 2

Apache a le mérite d’être déjà installé sur Mac OS X. Il suffit alors de le lancer, de le configurer et d’apprendre à le manier. Tout cela est extrêmement simple !

Commencez par ouvrir les préférences systèmes de votre machine, pour rappel, vous pouvez y accéder depuis la pomme en haut à gauche de votre ordinateur. Sélectionnez l’icone « partage » puis activer l’option « Partage Web » (il se peut que le démarrage soit un peu récalcitrant, c’est comme une vieille Renault, n’hésitez pas à insister un peu en décochant puis recochant la checkbox). Ensuite … En fait non, c’est tout. Votre apache est maintenant allumé et prêt à fonctionner. Il faut tout de même le configurer maintenant.

Si vous n’avez pas activé la gestion des fichiers cachés, le dossier apache sera invisible et il vous faudra y accéder depuis « Menu Finder / Aller / Aller directement à » rendez-vous donc ici : « /etc/apache2″ et vous voici dans l’arborescence de la configuration d’apache 2. Celle-ci est légèrement modifié par rapport à l’officielle qui tourne sous Linux, mais on y retrouve les principaux composant dont vous aurez besoins :

  • httpd.conf qui vous permettre de gérer les extensions et activer les virtual hosts.
  • extra/httpd-vhosts.conf qui vous permettra de gérer vos différents sites locaux.

Commençons avec le fichier httpd.conf. Il se peut que celui-ci soit bloqué au niveau des accès en écriture. Pour remédier à ce problème, clic droit sur le fichier, lire les informations et tout en bas, sélectionnez votre utilisateur pour lui donner les droits de lecture et d’écriture. Vers le début du fichier, vous pouvez apercevoir un certain nombre de ligne commençant par « LoadModule ». Il suffit de commenter cette ligne pour désactiver un module apache. Ainsi, si vous souhaitez utiliser de l’URL Rewriting, je vous conseil de dé-commenter la ligne « LoadModule rewrite_module libexec/apache2/mod_rewrite.so ». De même, assurez-vous que le module php5_module soit activé. Vers la fin du fichier, vous trouverez la ligne suivante : « Include /private/etc/apache2/extra/httpd-vhosts.conf » si celle-ci est commentée, activez-la en retirant le # ce qui vous permettra alors de gérer vous même les répertoires de vos sites locaux.

Ouvrez le fichier extra/httpd-vhosts.conf et créez votre propre virtual host. Petit exemple :

<VirtualHost *:80>
    ServerAdmin thibaulthenry@tilotiti.com
    DocumentRoot "/Users/thibaulthenry/Sites/EdenPHP/www/"
    ServerName edenphp.dev
    ServerAlias www.edenphp.dev
    ErrorLog "/Users/thibaulthenry/Sites/EdenPHP/www/log/apache-error_log"
    CustomLog "/Users/thibaulthenry/Sites/EdenPHP/www/log/apache-access_log" common

    <Directory "/Users/thibaulthenry/Sites/EdenPHP/www/">
        AllowOverride All
        Options MultiViews FollowSymlinks
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

Ici, j’ai donc créé le site EdenPHP qui répondra au nom de domaine edenphp.dev (ainsi qu’à son alias www.edenphp.dev). J’y autorise la lecture web depuis mon ordinateur ainsi que l’interprétation de la réécriture d’URL. Je précise que la racine du site web se trouve à cette adresse « /Users/thibaulthenry/Sites/EdenPHP/www/ » et je donne mon adresse e-mail en cas de problème, ce qui ne sert ici strictement à rien !

Votre apache est maintenant correctement configuré, il est lancé mais il vous manque deux choses : Premièrement, il faut relancer apache pour que les modifications soient prises en compte et il faudrait faire rediriger le nom de domaine vers votre ordinateur.

L’équivalent de « /etc/init.d/apache2 restart » sous mac, c’est « je décoche la case partage web de mes préférence de partage, puis je la recoche ». Jusque là, rien de bien complexe. Soyez insistant mais en cas de soucis, les logs sont présents dans le répertoire d’apache pour vous indiquer l’erreur que vous avez comise.

Vous devez ensuite rediriger manuellement le nom de domaine choisi (ici edenphp.dev) vers votre mac. Pour se faire, il vous suffit d’aller dans /etc/ et d’éditer le fichier hosts (comme pour le fichier httpd.conf, si vous n’avez pas les autorisations nécessaires pour modifier le fichier, allez régler ce problème dans « lire les informations » du menu contextuel). Rajoutez simplement la ligne suivante à la fin de votre fichier :

127.0.0.1 edenphp.dev www.edenphp.dev

Enregistrez et tada ! Vous aurez accès à votre site local depuis votre site préféré. Il se peut cependant que vous ayez à utiliser du mysql en localhost, pour ça, mysql a tout prévu !

II/ Installation de MySQL

Quand je dis que c’est simple, c’est simple. Allez télécharger MySQL Workbench pour mac directement sur le site officiel. Installez l’application et lancez là (depuis votre répertoire d’application, pas depuis le volume temporairement monté). L’application est plutôt bien faite, tout à droite, dans la partie « Server Administration » sélectionnez « New Server Instance ». Sachez que votre login sera root et le mot de passe sera vide (vous êtes en local, on s’en fiche un peu). Puis dans la partie « SQL Development », sélectionnez « New Connection » et vous voici avec un serveur MySQL monté en local et un formidable outil, bien plus efficace que PHPMyAdmin. Vous pouvez maintenant connecter votre application PHP à MySQL en utilisant le serveur localhost avec l’utilisateur root et sans mot de passe.

 

Vous voilà donc avec un super environnement « MAMP » (Mac, Apache, Mysql, PHP) qui vous permettra de développer votre propre projet en local directement sans avoir à dépendre de programmes tierces qui ne correspondent pas forcément à vos besoins.

Si vous avez le moindre problème, n’hésitez pas à me poser des questions en commentaire. J’y répondrais quoi qu’il arrive.

A propos de Thibault HENRY

Passionné de web depuis toujours, j’ai développé mon premier site internet à l’âge de 12 ans, avec le feu Microsoft FrontPage. Depuis cette passion ne m’a pas quitté. Autodidacte, je dirige maintenant le service technique de Digital Dealer, agence de communication.

1 comment

  1. Bonjour, merci pour votre article qui ma bien aidé je suis débutant sur mac et j’ai du mal à trouver mes repère ! Je voudrais savoir comment faire pour pouvoir utiliser la réécriture d’url sur un virtualhost ? J’ai essayé de faire comme sur linux mais j’ai toujours une erreur 403 Forbidden :(

Laisser un commentaire