Installer Symfony sous Mac OS X avec MAMP

Symfony est un framework RAD PHP vraiment interessant. Voici un rapide tutoriel pour l’utilisez sous OS X avec MAMP.

OS X est un système Unix complet, on peut donc installer PHP5 et Symfony de trente six manières … en voici une.

MAMP est un serveur AMP (Apache Mysql PHP) pour Macintosh. Il s’installe très facilement et se démarre de même. Il est fourni avec :

  • Apache 2.0.59
  • MySQL 5.0.19
  • PHP 4.4.4 & 5.1.6
  • eAccelerator 0.9.5 et Zend Optimizer 3.0.1
  • phpMyAdmin 2.7.0-pl2 et SQLiteManager 1.1.3
  • Freetype 2.1.9, t1lib 5.1.0, curl 7.14.0, jpeg 6b, libpng-1.2.5, gd 2.0.28, libxml 2.6.22 et libxslt 1.1.15

Pour lancer la bête il suffit de double cliquer sur Applications/MAMP/MAMP.

Attention, MAMP tourne par défaut sur des ports exotiques (cela permet de faire fonctionner les serveurs sans être administrateur). Si cela vous ennuie, changez ça dans les préférences.

1/ Configurer votre environnement pour disposer de la bonne version de PHP en ligne de commande.

MAMP est fourni avec Pear. Il vous fourni également les binaires pour PHP en ligne de commance. Ils sont nécessaire pour installer Pear et Symfony.

Le « problème » est que Mac OS X fourni déjà une version de PHP4 en standard. Ce n’est pas celle que l’on veut utiliser.

Pour, à l’ouverture d’un terminal, utiliser la bonne version de PHP (PHP 5) il faut tout d’abord créer le script suivant, par exemple, dans /Applications/MAMP/bin/setenvmamp.sh :

PATH=/Applications/MAMP/bin/php5/bin:$PATH export PATH

et l’appeler lors de la connexion en ajoutant ce script dans votre .profile à la racine de votre compte. Pour cela une ligne suffit :

test -r /Applications/MAMP/bin/setenvmamp.sh && . /Applications/MAMP/bin/setenvmamp.sh

déloguez vous (en fermant votre terminal) et reloguez vous ..
et voilà !

2/ Installer Symfony

Vous pouvez maintenant faire une installation classique via Pear.

$ pear channel-discover pear.symfony-project.com $ pear install symfony/symfony $ pear install --alldeps http://phing.info/pear/phing-current.tgz

(attention, si vous n’êtes pas administrateur de votre Mac il faudra précéder ces commandes de sudo :

$ sudo pear channel-discover pear.symfony-project.com

etc.)

Pour vérifier que tout marche bien, tapez simplement

symfony

en ligne de commande.

Puis allez, par exemple, dans le répertoire /Users/olivier/Sites/protosf et créer votre projet symfony :

$ symfony init-project

3/ configurer Apache

Pour cela, il faut modifier le fichier de configuration /Applications/MAMP/conf/apache/httpd.conf

Positionner la variable DocumentRoot vers Sites :

DocumentRoot "/Users/olivier/Sites"

Faites vous un vhost avec ces quelques lignes à la fin du fichier :

 <VirtualHost *>    <Directory "/Applications/MAMP/bin/php5/lib/php/data/symfony/web/sf">    	AllowOverride All      Allow from All   </Directory>    ServerName protosf.localhost.com    DocumentRoot "/Users/olivier/Sites/protosf/web"    DirectoryIndex index.php    Alias /sf /Applications/MAMP/bin/php5/lib/php/data/symfony/web/sf    <Directory "/Users/olivier/Sites/protosf/web">        AllowOverride All        Allow from All    </Directory> </VirtualHost>

Et, enfin, ajoutez cette ligne a votre fichier hosts :

 127.0.0.1       protosf.localhost.com

(en utilisant encore sudo pour éditer le fichier /etc/hosts avec vi)

et voici le résultat final :

A vous de jouer !

Remarque : un inconvénient important est que l’ensemble des configurations faites lors de ce tutoriel ont été faites dans le répertoire de MAMP. Vous devrez donc refaire ces manipulations à la main lors de sa prochaine mise à jour.

Publicités

13 réflexions au sujet de « Installer Symfony sous Mac OS X avec MAMP »

  1. yuccaplant

    (je ne suis pas francophone, donc je me veux excuser pour des erreurs.)

    J’ ai suivi tout de ce tutorial. Tout marche, excepte la configuration d’apache httpd.conf. Si j’aujoute le virtual host, apache ne veut plus démarrer (???).

    Je suis sûre que les directories (???) sont correct. Je les ai controlées dan le shell.

    Merci d’avance,

    Pieter

    #<VirtualHost *>
    # ServerName blah.Localhost.com
    # DocumentRoot "/Users/pieter/Sites/vrtradiospeler/web"
    # DirectoryIndex index.php
    # Alias /sf /Applications/MAMP/bin/php5/lib/php/data/symfony/web/sf
    # <Directory "/Applications/MAMP/bin/php5/lib/php/data/symfony/web/sf">
    # AllowOverride All
    # Allow from All
    # </Directory>
    # <Directory "/Users/pieter/Sites/vrtradiospeler/web">
    # AllowOverride All
    # Allow from All
    # </Directory>
    #</VirtualHost>

  2. Olivier

    @ yuccaplant

    ta configuration à l’air correcte, je ne sais pas trop quoi te dire.

    regardes si tu as une information intéressante dans /Applications/MAMP/logs/apache_error.log

    la configuration du virtual host n’est pas particulière au mac, tu devrais trouver des tutoriaux sur internet pour Linux que tu peux reprendre

  3. yuccaplant

    Nothing in the logs really.

    I just copied the with the css and javascript files. I think that’s the only use of the virtual host.

    Merci beaucoup,

    Pieter

  4. jeff

    bonjour,

    la partie "1/ Configurer votre environnement pour disposer de la bonne version de PHP en ligne de commande." ne focntione pas pour moi…suis tjs en php4 en ligne de commande !

  5. Fripouille

    Remarque : pour l’installation, j’ai été obligé de mettre memory_limit = 16M dans php.ini (/Applications/MAMP/conf/php5/php.ini)
    Par défaut, c’est 8M. Le package de symfony se téléchargeait mais ne s’installait pas.

  6. MacBerry

    Pour simpifier il suffit d’ajouter
    PATH=/Applications/MAMP/bin/php5/bin:$PATH
    export PATH
    directement dans .profile

    :+)

    (L’avantage est que ca va survivre la mise a jour de MAMP)

  7. Sven

    Je serai preneur d’une version le terminal pour les nuls 🙂 J’ai créé un .profile à la racine de mon user sans obtenir aucun résultat après mettre dé/re-loggué.

  8. Pat

    Bonjour a tous,
    j’ai suivi le processus d’installation mais la commance "symfony" est introuvable.
    J’imagine qu’il suffit de creer un alias faire la commande symfony dans un des dossiers d’installation.
    Le probleme est que je ne trouve pas le dossier d’installation de symfony.
    Quelqu’un pourrait me l’indiquer?

Les commentaires sont fermés.