Installer Symfony sous Mac OS X en utilisant MAMP

A mes débuts sous symfony, j’ai eut un peu de mal à l’installer pour la première fois sous MAC OS. et après avoir fait un petit tour sur le net, je me suis rendu compte qu’il n y avait pas un tutorial bien expliqué pour réaliser cette tâche correctement ( Ceux que j’ai suivi ne marchait pas dans mon cas ). C’est pour cette raison je me suis dit qu’il fallait écrire un article pour permettre aux débutants sur symfony d’effectuer cette tâche assez rapidement.

Tout d’abord, il faut savoir que pour installer Symfony, il existe plusieurs méthodes. Là je vais vous montrer une d’elle, l’installation via Pear.

a) Configuration de l’environnement (MAMP) :

1- Commencer par installer MAMP.

2- Lancer Mamp (Applications/MAMP/MAMP) puis aller « dans préférences » : Configurer le dossier dans l’onglet « Apache » comme suit : /Users/Votre-Pseudo-MAC/Sites. Réinitialiser ensuite les ports Apache et MySql avec les numéros de ports par défaut respectivement 80 et 3306 (dans l’onglet « Ports »).

MAMP, Apache PHP et MySQL

3- Maintenant il faut changer la limite mémoire par défaut dans php.ini que vous trouverez dans le dossier /Applications/MAMP/conf/php5/php.ini et changer la valeur de memory_limit à 32 Mo.

Limite mémoire

4- Ensuite on doit indiquer à votre terminal que la bonne version de PHP à utiliser, comme suit :

- Ouvrez le terminal terminal (Applications/Utilitaires/Terminal).

Terminal MAC OS X

- Taper la commande suivante (Ouvrir bash_profile, pour ajouter une variable d’environnement)

$ sudo vim .bash_profile

entrer votre mot de passe root si nécéssaire.

- Insérer ensuite cette ligne à la fin du fichier (pour entre en mode insertion taper « i »

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

- sauvegarder les modifs « :wq »

b) Installation de Symfony :

1- Vous êtes donc prêts à installer Symfony, redémarer votre terminal puis taper la commande suivante pour initialiser le channel de téléchargement Pear :

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

2- Vous pouvez maintenant lancer l’installation comme suit:

$ pear install symfony/symfony
$ pear install --alldeps http://phing.info/pear/phing-current.tgz

3- Tapez « symfony » dans votre terminal pour vérifier que tout s’est bien passé, vous verrez normalement la liste de toutes les commandes de Symfony.

et naturellement pour finir, je vous faire l’équivalent du « HelloWorld » pour symfony (càd un projet vierge).

c) Création et Configuration d’un nouveau projet :

1- Aller dans le dossier /Users/Votre-Pseudo-Mac/Sites et créer un dossier pour votre projet (ça sera « MonProjet » pour le tutorial)

2-Vous devez ensuite créer un VirtualHost pour votre projet (ce n’est pas obligatoire dans une installation locale de Symfony, mais c’est conseillé pour bénéficier des modules et styles par défaut de symfony) et ceci comme suit :

- Ouvrez le fichier /Application/MAMP/conf/Apache/htpd.conf et ajouter ceci à la fin du fichier :

<VirtualHost *>
ServerName monprojet.Localhost.com
DocumentRoot "/Users/votre-pseudo-mac/Sites/MonProjet/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/votre-pseudo-mac/Sites/MonProjet/web">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>

Il reste à ajouter au fichier etc/hosts la ligne suivante :

127.0.0.1      MonProjet.localhost.com

Puisque c’est un fichier caché, vous devez le faire grâce au terminal :

$ cd /etc
$ sudo vim hosts

Ensuite insérer la ligne (commande « i » pour le mode d’insertion puis sauvegarder « :wq! »)

3- Passons maintenant à « Symfony » proprement dit. Ouvrez le terminal (ou redémarrez le s’il est ouvert) et tapez la commande suivante :

$ cd Sites/MonProjet

3- Initialiser le projet Symfony, comme suit :

$ symfony generate:project MonProjet

4- Initialiser l’application Symfony, comme suit :

$ symfony generate:app frontend

Voila vous avez terminé, vous pouvez maintenant tester votre projet en accèdant à l’adresse MonProjet.localhost.com depuis votre navigateur.

Bon courage à tous.

PS: n’oubliez pas de changer mon-pseudo-mac et MonProjet avec vos propres informations.

Similar Posts:

32 thoughts on “Installer Symfony sous Mac OS X en utilisant MAMP

  1. Pingback: rpsblog.com » A week of symfony #85 (11-&gt;17 august 2008)

  2. Pingback: Propel, la puissante couche d’abstraction de Symfony | Youknowriad, blog du caméléon de l'informatique

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

    Il me met command not found je ne comprend pas… :evil:

  4. @thomas ceci veux dire que l’extension pear n’est pas installé sur ta machine ou que la variable d’env n’est pas bien sétté

    si tu es sous mac et que tu as suivi le tuto bien comme il faut, tu ne devrais pas avoir ce pb. Sinon dis nous plus sur ta configuration.

  5. non en fait j’ai reussi …
    je mettais $pear channel-discover pear.symfony-project.com
    au lieu de pear channel-discover pear.symfony-project.com

    ca marche moins bien :cool:

    En tous cas merci pour le tuto, j’ai pu installer. Mais l’utiliser c’est une autre paire de manche…

    Je comprend pas énorme :evil:

  6. Nikel le tuto ;-)

    Juste une petit chose, un moment de l’installation de symfony avec Pear, il vaut mieux utiliser cette ligne :
    #—
    pear install symfony/symfony-1.2.8
    #—
    Cela permet d’avoir la dernière version à jour de symfony.

  7. Merci pour ton article. Néanmoins, chez moi, tous les fichiers ne sont pas générés. Par exemple, le fichier css est vide et le dossier images sont vides.

    As tu une idée?

    Merci

  8. Merci beaucoup pour ce tuto vraiment très bien fait !
    tout se fait en le suivant à la lettre.
    vraiment du très bon travail pédagogique.
    Encore bravo et merci

  9. j’oubliais 2 petites choses qu’il faudrait ajouter :
    - après l’étape PATH=/Applications/MAMP/bin/php5/bin:$PATH export PATH dans le fichier .bash_profile, pour pouvoir sauvegarder et sortir il faudrait préciser qu’il faut appuyer sur la touche «esc» et ensuite saisir « :wq » (utile pour ceux qui ne connaissent pas VI.

    - enfin, une fois que tout est fait, ça parait logique mais bon, il est utile de préciser qu’avant de se connecter à MonProjet.localhost.com il faut bien entendu… redémarrer Apach ;)

  10. je m’excuse mais en tapant  » pear channel-discover pear.symfony-project.com  »
    il me dit : « Command ‘pear.synfony-project.com’ is not valid, try ‘pear help’
    pourriez vous me dire quoi faire?

  11. @youknowriad: merci pour ta réponse mais il pareil que c’est pas ça le problème parce que j’ai vérifier à plusieurs reprises mais c’est toujours le même message d’erreur qui s’affiche

  12. @montassar je ne sais pas de quoi ça peut venir, mais ce que je peux te conseiller sinon, c’est d’installer la version sandbox de symfony.

    Il suffit juste de dézipper l’archive dans le dossier www de ton apache (MAMP)

  13. Bonjour, merci pour ce tuto, j’ai un souci au niveau de taper au terminal :

    pear channel-discover pear.symfony-project.com

    J’ai ce message d’erreur :
    Unable to create file /usr/lib/php/.lock because Permission denied in PEAR/Registry.php on line 835

    Warning: touch(): Unable to create file /usr/lib/php/.lock because Permission denied in /usr/lib/php/PEAR/Registry.php on line 835
    could not create lock file: fopen(/usr/lib/php/.lock): failed to open stream: No such file or directory

  14. J’adore Symfony mais j’avoue que sa documentation est parfois étrangement présentée… Une explication step by step comme cette dernière trouverai parfaitement sa place sur le site du projet.
    De peur de répéter ce qui à déjà été dit, « simple et parfait »!
    Un grand merci !

  15. Bonjour, j’ai le même soucis que john :

    Warning: touch(): Unable to create file /usr/lib/php/.lock because Permission denied in PEAR/Registry.php on line 835

    Warning: touch(): Unable to create file /usr/lib/php/.lock because Permission denied in /usr/lib/php/PEAR/Registry.php on line 835
    could not create lock file: fopen(/usr/lib/php/.lock): failed to open stream: No such file or directory

    Je ne sais pas d’où vient mon erreur,
    Est-ce que quelqu’un aurait une idée?
    Merci d’avance…

  16. Met toi en admin !!
    tape : sudo su
    Et tu verra que t’aura des permissions lors de l’exécution de tes future commandes.

  17. Bonsoir,
    au fait je suis débutant en symfony(Doctrine), au fait j’aimerais inserer des données d’un formulaire sur 2 tables différentes.si quelqu’un pourait m’aider ou me donner une adress qui explique le sujet.
    Merci

  18. @Elegna et pour les autres qui auraient ce pb :
    C’est la variable d’environnement qui n’a pas été enregistrée (du moins pas correctement)

  19. Bonjour,
    je me pointe un peu tard, mais si vous êtes comme moi et avec la toute dernière version de Mamp, les instructions ci dessus ne vont pas vous aider pour installer Pear, j’ai chercher partout, et ce billet (http://www.tumblr.com/tagged/mamp) rechercher le post intitulé : « PHP, Pear, and phpUnit with MAMP Pro  » et suivez les instructions, moi ça c’est déroulé sans problèmes.

    Bon maintenant, je n’ai pas encore installer Symfony, je m’y recolle
    /-)

  20. C’est re-moi,

    Ouf ! http://monprojet m’affiche la belle page par défaut de Symfony.

    Mais pas sans mal, car MAMP dans sa dernière version donc à ce jour la V2
    n’a pas les mêmes chemin que ce qui est décrit ici.

    Pour info je suis sous Mac OS Lion pour ceux qui se demanderait si ce que j’ai fait marcherait sur cette nouvelle version, donc Snow Leopard ne devrait pas poser de pb.

    1er point: installation de PEAR : http://www.tumblr.com/tagged/mamp

    2ème point : l’ajout des bons chemins PHP ET DE PEAR :
    - Donc, oui, lancer le Terminal : sudo vim .bash_profile
    - Et rentrer les 2 lignes ci-dessous :
    La 1ère c’est pour le chemin à PHP.
    La seconde c’est pour accéder de n’importe où à PEAR dans le terminal.
    PATH=/Applications/MAMP/bin/php/php5.3.6/bin:$PATH export PATH
    alias pear=/Applications/MAMP/bin/php/php5.3.6/bin/pear
    ps : fermer le terminal et le réouvrir pour que les chemins soient « compris »

    3ème point : installation de Symfony
    Comme je veux la dernière version et ne pas me tromper, je suis aller lire la procédure ici : http://www.symfony-project.org/installation/1_4
    Mais pour résumer il n’y a que deux lignes à taper :
    pear channel-discover pear.symfony-project.com
    pear install symfony/symfony-1.4.15

    4ème point :
    Et c’est là où j’ai bloqué un moment en suivant le tuto ici, car désormais le dossier de travail de Symfony est situé sous MAMP/htdocs ! Alors si vous essayez de créer un projet, comme indiqué dans votre tutot, dans /users/profilUtilisateur/sites/… Symfony va vous jetter en vous disant exactement ceci : « You must be in a symfony project directory. » donc il faut :
    - se loguer en admin :
    sudo su
    - Créer le dossier de votre futur projet et y aller :
    cd /Applications/MAMP/htdocs
    mkdir monprojet
    cd monprojet
    - Créer le projet Symfony
    symfony generate:project monprojet
    symfony generate:app frontend

    5ème point : configuration d’un virtualhost
    Si MAMP est lancé, stoppez donc les serveurs sinon vous ne pourrez par modifier le fichier httpd.conf (/Applications/MAMP/conf/apache)
    - Ajoutez ceci tout à la fin du fichier :
    NameVirtualHost *

    ServerName monprojet
    DocumentRoot « /Applications/MAMP/htdocs/monprojet/web »
    DirectoryIndex index.php
    Alias /sf /Applications/MAMP/bin/php/php5.3.6/lib/php/data/symfony/web/sf

    AllowOverride All
    Allow from All

    AllowOverride All
    Allow from All

    6ème point : ajout dans le fichier /etc/hosts
    Rajouter seulement ceci :
    127.0.0.1 monprojet

    7ème point : redémarrer les serveurs MAMP

    7ème et dernier point : accéder à http://monprojet et hop ! Voilà la belle page par défaut d’un nouveau projet.

    En espérant avoir été utile….

  21. De rien mais bon… c’est vraiment un truc de malade Symfony, j’en suis à la 3ème page du tuto « Jobeet » http://www.symfony-project.org/jobeet/1_4/Doctrine/en/03 et vraiment c’est à s’arracher les cheveux.
    Je vois toujours pas, mais vraiment pas encore, l’utilité de symfony, enfin son concept, oui, mais alors toutes ces lignes de commandes, qui changent en fonction de l’os linux/windows/mac/etc..
    Je comprends que si c’est vraiment un produit phrare pout développer un site et gagner en productivité il n’existe pas d’interface graphique d’installation/d’utilisation/paramétrage.
    Chui pourtant un « vieux à cuir » des lignes de commandes ayant commencé avec des msdos 3, mais bon…

  22. chui vert… la honnnnnnnnnnnnnnte !
    Je m’étais simplement arrêter à ma 1ère recherche Google et n’avait pas vu cette V2…
    Bon… une question alors :
    Tu as déjà mis en œuvre ou tester cette dernière ? Si, oui quel est ton retour d’expérience ?
    Merci

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>