Blogdevphp

Symfony2 : installation sous Linux Ubuntu

2013-12-08 symfony

Cet article fait l'objet, d'un environnement de base pour le framework. L'installation et la configuration s'inscrivent, dans le cadre, d'une distribution Ubuntu. Vous pourrez néanmoins, pouvoir effectuer, le même processus sur d'autres distributions Linux. Je pars du principe que vous n'avez pas encore d'environnement d'installé et configuré. Avant d'installer le framework, il nous faut créer, un environnement propre à l'accueillir.

Installation PHP, Apache et MySql

Nous allons effectuer, l'installation de paquets, par l'intermédiaire d'un terminal. Une série de commandes va être effectuée afin de les installer sur votre machine.

sudo apt-get install apache2
sudo apt-get install php5
sudo apt-get install libapache2-mod-php5
sudo apt-get install mysql-server
sudo apt-get install php5-mysql
sudo apt-get install php-apc
sudo apt-get install php5-intl

Pourquoi sudo ?

Sudo permet d'avoir les droits nécessaires afin d'éxécuter ces commandes. On installe les paquets nécessaires pour notre environnement.

Vous aurez besoin, de gérer vos bases de données, à travers une interface graphique :

sudo apt-get install phpmyadmin

Par la suite, redémarrer le serveur apache, avec cette commande : 

sudo /etc/init.d/apache2 restart

Dans la barre d'adresse de votre navigateur web habituel, saisissez l'url 127.0.01. Vous tombez normalement, sur une page blanche, pas très sexy, avec marqué en gros IT WORKS...

Si ce n'est pas le cas, ouvrez le fichier error.log, pour en connaître la raison, situé dans le répertoire /var/log/apache2/.

Quelques recommandations pour Symfony2

La documentation nous demande certaines vérifications, par rapport, au fichier de configuration du serveur. Ce fichier est php.ini situé dans le répertoire /etc/php5/apache2/php.ini

Pour cela, nous allons l'ouvrir par l'intermédiare d'une commande :

gksudo gedit /etc/php5/apache2/php.ini

Une fenêtre s'ouvrira demandant votre mot de passe. Après cela, le php.ini s'ouvrira avec gedit. Gedit est un éditeur de texte qui permettra d'enregister vos modifications.

Il est recommandé, que ces directives soient à off :

  • magic_quotes_gpc

  • register_globals

  • session.auto_start

  • short_open_tag

De plus, vérifiez que la directive date.timezone soit avec cette valeur : 

date.timezone = Europe/Paris

Si ce n'est pas le cas, rajoutez la.

Si vous avez effectué des modifications dans le php.ini, relancez apache2 :

sudo /etc/init.d/apache2 restart

Installation de Composer

Composer permet d'installer nos bibliothèques en ligne de commande. Mais avant, de l'installer, on va vérifier si curl est déjà installé sur votre machine :

dpkg -l | grep -i curl

Si rien ne s'affiche, le paquet n'est pas installé. Voilà un exemple des lignes affichées lorsque le paquet est présent :

Installons le paquet avec cette ligne de commande :

sudo apt-get install curl

Maintenant, nous allons pouvoir installer le composer :

curl -sS https://getcomposer.org/installer | php

On va créer un dossier projetsymfony par exemple, en y mettant composer.phar à l'intérieur. Pour déplacer un dossier, sous linux, en ligne de commandes, utiisez la commande mv. Par la suite, dans le terminal, allez à la racine de votre répertoire projetsymfony afin d'éxécuter cette commande pour installer Symfony2. La version, en cours est la 2.4.0, vous pouvez voir la dernière version de Symfony ici.

Pour cela, tapez :

php composer.phar create-project symfony/framework-standard-edition Symfony 2.4.0

Un dossier Symfony sera créé dans votre dossier projetsymfony. On va mettre à jour les dépendances, mais avant, déplaçons notre fichier composer.phar dans le dossier Symfony.

Dans le terminal, nous étions, à la racine, de notre répertoire projetsymfony, maintenant, mettez-vous au niveau du dossier Symfony. Afin de mettre à jour, les dépendances, nous allons éxécuter cette commande:

sudo php composer.phar update

Pour finir, les droits sur les répertoires cache et logs du répertoire app, doivent être étendus, pour éviter les erreurs d'écriture, avec la commande chmod 777.

 Voyons si notre environnement est bien configuré, avec la commande check.php:

php app/check.php

J'ai volontairement pas modifier la valeur,  de la directive date.timezone, pour vous montrer de quelle manière il affiche les erreurs :

Conclusion

On a créé un environnement de base pour le framework Symfony2. Cela nous permettra de commencer à travailler sous les meiileurs auspices pour commencer un projet.

comments powered by Disqus
Copyright © 2018 blogdevphp.fr - Tous droits réservés