Développer en local comme un chef sous MacOSx

developper-en-local-comme-un-chef-sous-macosx

On entend souvent dire que les Macs ne sont pas fait pour développer, qu’ils sont plutôt adaptés pour les créatifs, graphistes – webdesigners – vidéastes et animateurs…Oui mais c’est faux ! Certes le Mac se veut simple, pratique et adapté pour les créatifs en raison de la palette de logiciels qui leur est destinée, mais on peut tout à fait développer sous Mac et se passer de toutes les applications Windows qui composent le quotidien de nombreux développeurs web.
Concrètement, nous allons voir comment installer un serveur Apache + MySQL avec MAMP, puis comment émuler un nom de domaine (virtual host) avec VirtualHostX.

Installation d’Apache et de MySQL avec MAMP

Les plus avertis d’entre vous doivent certainement savoir que MacOSx embarque un serveur apache en natif, et qu’il suffit de quelques lignes de code dans le terminal pour l’activer. Oui mais le risque, c’est de perturber MacOs en faisant des fausses manips. De plus, le serveur Apache embarqué n’offre pas de panel de configuration ou d’interface graphique quelconque. Nous allons donc utiliser le logiciel MAMP, qui recréé un serveur Apache sans rien modifier dans l’OS.

Rendez-vous sur le site de MAMP et téléchargez la version gratuite. Elle suffira largement à émuler notre serveur web (la version PRO offre quelques petits avantages mais rien de flagrant). Lancez MAMP puis rentrez dans la configuration pour modifier les ports utilisés : port 80.

On indique donc à MAMP d’utiliser les ports par défaut d’Apache et de MySQL. On se met en « conditions réelles » en gros !

Une fois cette étape accomplie vous devriez pouvoir accéder à votre localhost : http://localhost/MAMP/ , le changement de port http nous permet de supprimer le « :8888″ dans l’url. Plus propre.

Vous pouvez donc déposer vos « dossiers de sites » dans /Applications/MAMP/htdocs/ de telle sorte :
- /Applications/MAMP/htdocs/nomdusite-1
- /Applications/MAMP/htdocs/nomdusite-2
- etc …

Maintenant que votre serveur Apache est opérationnel, vous allez être confronté à plusieurs problèmes bloquant :
- certaines applications web ou certains CMS n’acceptent pas d’ip ou de port dans l’URL (Drupal, WordPress MU, Sweetcron …)
- vous allez devoir travailler avec une racine différente de la racine réelle de vos sites

Pour résoudre ces problèmes, nous allons émuler un nom de domaine en créant un « virtual host ».

Création de domaines locaux avec VirtualHostX

Rendez-vous sur le site de VirtualHostX pour télécharger le logiciel. Quand vous le lancerez pour la première fois, le logiciel vous proposera de faire un backup de vos fichiers hosts. Faites-le.

La suite est super simple : vous indiquez le domaine que vous souhaitez donner à votre site (évitez les vraies extensions bien-sûr, sinon vous serez toujours redirigé sur le dossier local … préférez les « .loc » ou « .com ») , vous indiquez le dossier local du site en question, vous cliquez sur « apply changes » et le tour est joué ! Il vous faudra redémarrer apache pour constater que le domaine fonctionne bien ;)

Maintenant que vous avez configuré vos domaines locaux, vous constaterez que MAMP ne parvient plus à accéder à MySQL. Pour pallier à cela nous allons créer un nouveau domaine « localhost » pointant vers /Applications/MAMP/htdocs. Et le tour est joué, vous pouvez vous amuser avec vos sites en local ;)

4 commentaires

  1. Johan says:

    Très intéressant l’application de VirtualHost… Je bookmark !
    Pour Apache, je préfère vi avec la coloration syntaxique…

    Ptite remarque, on ne peut plus dire que le Mac n’est pas fait pour les développeurs, c’est un des seul OS qui est distribué avec Maven et Subversion pré-installé dans les versions grand publiques… (je sais pas si Ubuntu ou Debian fournissent ces deux outils).

  2. Redchou says:

    Sympa, rapide et précis;
    - pile ce que je recherchai !
    *parti démarré le serveur web de sa maison*

    Merci

  3. Redchou says:

    en fait php5 est déjà dans leopard
    (cf http://developer.apple.com/library/mac/#featuredarticles/EnablingPHP/ )
    Donc je me demandai s’il n’y avait pas plus simple avec juste VirtualHost ?

  4. brice says:

    Salut Redchou,
    En fait tu pourrais te contenter de Apache qui est en natif sur OSX et de bidouiller les fichiers hosts. Mais la solution Mamp+VirtualHosts reste simple et sans toucher au core.

Laisser un commentaire

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

*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>