Catégories
Développement

Installation d’eclipse et de symfony2

Après la configuration de notre poste de travail sous linux, rien de tel que d’installer un IDE.

Ici j’ai choisi eclipse que je trouve très complet et simple à prendre en main. Je vous expliquer également comment installer le framework Symfony2

Installation d’eclipse

Le package existe mais nous allons tout de même essayer de l’installer à la main

Télécharger l’archive sur le site officiel d’eclipse.

Extraire le fichier. Il doit normalement s’y trouver un installer qui va vous aider à configurer l’installation.

On choisit ici « eclipse IDE for php developers »

Installation folder :
La plupart du temps le chemin sera votre home/eclipse/php-versiondeclipse

S’il n y avait pas l’installer, il suffisait d’extraire le dossier dans le chemin d’installation.

Pendant l’installation il est possible qu’il y ait des licences à accepter.

Après lancement du logiciel « go to workbench ».

Installation de symfony2

Ici, j’ai choisis d’installer une Symfony2 sur lequel j’ai pu travaillé.

Symfony3 est disponible mais pour l’instant je préfère réinstaller la 2 et si besoin upgrader la version.

En ligne de commande, vérifier la version de php

[pastacode lang= »bash » manual= »php%20-v » message= » » highlight= » » provider= »manual »/]

Pour télécharger symfony2, il est recommandé de télécharger le .phar (petit fichier php executable) qui se trouve à l’adresse symfony.com/installer

Il faut ensuite le déplacer dans son répertoire web (en l’occurence ici dans /var/www/)

Si on le souhaite on peut également le mettre dans son répertoire home et ensuite créer un lien symbolique vers /var/www car le dossier /var/ est en général limité en taille.

La documentation de Symfony est également très complète et donne la démarche à suivre pour l’installer, ainsi que les droits sur les dossiers/fichiers.

Vous pouvez aussi le télécharger via la ligne de commande avec curl qu’on installera donc avec

[pastacode lang= »bash » manual= »apt%20install%20curl » message= » » highlight= » » provider= »manual »/]

Puis :

[pastacode lang= »bash » manual= »sudo%20mkdir%20-p%20%2Fusr%2Flocal%2Fbin » message= » » highlight= » » provider= »manual »/]

[pastacode lang= »bash » manual= »sudo%20curl%20-LsS%20https%3A%2F%2Fsymfony.com%2Finstaller%20-o%20%2Fusr%2Flocal%2Fbin%2Fsymfony » message= » » highlight= » » provider= »manual »/]

[pastacode lang= »bash » manual= »sudo%20chmod%20a%2Bx%20%2Fusr%2Flocal%2Fbin%2Fsymfony » message= » » highlight= » » provider= »manual »/]

Symfony devient alors une commande.

Possibilité également d’utiliser composer.

Ensuite pour créer un nouveau projet symfony il suffit alors de faire la commande suivante, dans le répertoire où vous souhaitez créer le projet :

[pastacode lang= »bash » manual= »symfony%20new%20nomDuProjet » message= » » highlight= » » provider= »manual »/]

On peut également préciser le numéro de version si besoin (en l’occurence ici la version current est la 3 et j’aimerai travailler sur la 2)

[pastacode lang= »bash » manual= »symfony%20new%20nomDuProjet%202.8″ message= » » highlight= » » provider= »manual »/]

Ensuite sur Eclipse, allez sur l’onglet de gauche, clic droit => new project

Choisissez le dossier créé par symfony.

Il est possible qu’une erreur apparaisse :  « Invalid project contents directory » , vérifier alors les droits des dossiers du projet. Si eclipse ne peut pas modifier dans ce dossier il ne peut donc pas apparaître dans eclipse. (ici on fera donc un chown -R votreUser:votreUser /home/repertoiredeSymfony/NomDuProjet)

On crée un virtualhost pour pouvoir accéder au projet sur navigateur

– fichier /etc/hosts

→ on rajoute une entrée : 127.0.0.1 projet.local

– fichier /etc/apache2/sites-available/000-default.conf

→ on rajoute un virtual host

[pastacode lang= »markup » manual= »%3CVirtualHost%20*%3A80%3E%0A%0A%09ServerAdmin%20webmaster%40localhost%0A%09ServerName%20projet.local%20(adresse%20a%20remttre%20dans%20le%20fichiers%20hosts)%0A%0A%09%3CDirectory%20%2Fhome%2FrepertoiredeSymfony%2FnomDuProjet%3E%0A%0A%09Options%20Indexes%20FollowSymLinks%0A%09AllowOverride%20all%0A%09Require%20all%20granted%0A%09%3C%2FDirectory%3E%0A%0A%09DocumentRoot%20%2Fhome%2FrepertoiredeSymfony%2FnomDuProjet%0A%0A%09ErrorLog%20%E2%80%A6.%0A%09CustomLog%20…%0A%0A%3C%2FVirtualHost%3E » message= » » highlight= » » provider= »manual »/]

 

Si on tombe sur une page forbidden, il faut alors ajuster les droits des dossiers app et cache

[pastacode lang= »bash » manual= »rm%20-rf%20app%2Fcache%2F*%0Arm%20-rf%20app%2Flogs%2F*%0A%0AHTTPDUSER%3D%60ps%20axo%20user%2Ccomm%20%7C%20grep%20-E%20’%5Ba%5Dpache%7C%5Bh%5Dttpd%7C%5B_%5Dwww%7C%5Bw%5Dww-data%7C%5Bn%5Dginx’%20%7C%20grep%20-v%20root%20%7C%20head%20-1%20%7C%20cut%20-d%5C%20-f1%60%0A%0Asudo%20setfacl%20-R%20-m%20u%3A%22%24HTTPDUSER%22%3ArwX%20-m%20u%3A%60whoami%60%3ArwX%20app%0A%0Asudo%20setfacl%20-dR%20-m%20u%3A%22%24HTTPDUSER%22%3ArwX%20-m%20u%3A%60whoami%60%3ArwX%20var » message= » » highlight= » » provider= »manual »/]

 

sur Ubuntu le user http est www-data

Attention, sur symfony2 les fichiers caches et logs se trouvent dans app et dans la version 3, dans le dossier var

Redémarrer votre serveur apache

Il est aussi possible d’avoir une page symfony mais de tomber sur l’erreur « no route found for « get /app.php/ « 

Dans ce cas-là il faudra activer le module de rewriting utilisé dans symfony

On utilise alors la commande a2enmod pour activer un module.

Ceux qui sont disponibles sont dans /etc/apache2/mods-available

On tape donc la commande

[pastacode lang= »bash » manual= »sudo%20a2enmod%20rewrite » message= » » highlight= » » provider= »manual »/]

Cela créera un lien symbolique dans /etc/apache2/mods-enabled

On redémarre apache.

Si tout va bien une page de bienvenue s’affiche avec la version de Symfony.

Sur eclipse, ne pas hésitez à télécharger des packages supplémentaires, notamment un éditeur de twig.

Dans Help → Eclipse Marketplace.

Logiquement Eclipse devrait le proposer si vous ouvrez un fichier twig avec un éditeur de texte classique.

Idem pour les fichiers .yml

Voilà, il ne vous restera alors plus qu’à gérer la base de données avec un ORM. Les plus courant sous Symfony sont Propel ou doctrine.

Laisser un commentaire

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