Vous venez tout juste d'installer la dernière version d'Ubuntu (13.04 à l'heure où j'écris), et souhaitez installer tout l'environnement nécessaire pour faire fonctionner Symfony 2 (version 2.2.1 à ce jour) et commencer votre première application ?
Voici la marche à suivre !
Mais tout d'abord, quelques petites précisions avant de commencer :
- Ce tutoriel est un guide concis qui récapitule l'ensemble des étapes à suivre pour préparer votre serveur de développement et faire fonctionner l'installation de Symfony 2. Je n'explique pas en détail tout ce qu'on va faire..
- Je pars du principe que vous voulez créer un site qui sera accessible à l'URL http://symfony et que le contenu du site sera placé dans le répertoire /home/nom_user/www/symfony/. A vous d'adapter si vous voulez modifier ceci.
Allons-y maintenant !
1. Installer Apache
sudo apt-get install apache2
2. Installer MySQL
sudo apt-get install mysql-server mysql-client
3. Installer PHP 5
sudo apt-get install php5
4. Installer PHPMyAdmin
sudo apt-get install phpmyadmin
Lors de l'installation, vous aurez droit à 2 questions :
1°) Quel serveur web reconfigurer pour exécuter phpMyAdmin ? Choissiez
apache2
2°) Faut-il configurer la base de données de phpmyadmin avec dbconfig-common ? Choisissez
Non
5. Installer les modules Apache nécessaires/utiles pour Symfony 2
D'abord le mod_rewrite qui permettra l'utilisation de la réécriture d'URL :
sudo a2enmod rewrite
6. Installer les modules PHP nécessaires/utiles pour Symfony 2
sudo apt-get install php5-intl
sudo apt-get install php-apc
sudo apt-get install php-pear
sudo apt-get install php5-dev
sudo pecl install xdebug
7. Configurer PHP
Modifier les paramètres de PHP en éditant les lignes suivantes du fichier
/etc/php5/apache2/php.ini :
short_open_tag = Off
date.timezone = Europe/Paris
Il faut ensuite configurer les modules nouvellement installés :
APC
Editer le fichier
/etc/php5/conf.d/20-apc.ini, et ajouter les lignes suivantes :
apc.shm_size = 128M
XDebug
Créer le fichier
/etc/php5/conf.d/20-xdebug.ini :
zend_extension = /usr/lib/php5/20100525/xdebug.so
xdebug.max_nesting_level = 250
8. Configurer votre site local
8.1 Fichier hosts
sudo nano /etc/hosts
Ajouter la ligne :
127.0.0.1 symfony
8.2 Virtual Host
On crée un nouveau VirtualHost pour notre site :
sudo nano /etc/apache2/sites-available/symfony.conf
Dans l'éditeur coller cette configuration en remplaçant
/home/mon_nom/www/symfony/web/ par le répertoire où vous voulez placer votre site :
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName symfony
DocumentRoot /home/mon_nom/www/symfony/web/
<Directory /home/mon_nom/www/symfony/web/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error-symfony.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access-symfony.log combined
</VirtualHost>
Attention ! Si vous utilisez Apache 2.4 (intégré dans les dernières versions d'Ubuntu), il faut remplacer les lignes :
AllowOverride All
Order allow,deny
allow from all
par :
Require all granted
On active le VirtualHost que nous venons de créer :
sudo a2ensite symfony
On prépare le répertoire où l'on placera notre site Symfony :
cd ~
mkdir www
Il ne reste plus qu'à redémarrer apache :
sudo service apache2 reload
9. Installer Composer
Installer d'abord le module curl pour nous permettra d'installer facilement
Composer :
sudo apt-get install curl
Puis installer
Composer :
cd ~
curl -sS https://getcomposer.org/installer | php
Pour simplifier son utilisation, nous allons le rendre exécutable n'importe où sur le système :
sudo mv composer.phar /usr/local/bin/composer
Désormais, pour utiliser composer, il suffira de saisir directement n'importe où :
composer
10. Enfin, installer et configurer Symfony2
cd ~/www
composer create-project symfony/framework-standard-edition symfony/ 2.2.1
Mettre à jour les vendors :
composer update
Définir les droits sur les répertoires
cache et
logs :
$ sudo setfacl -R -m u:www-data:rwX -m u:`whoami`:rwX app/cache app/logs
$ sudo setfacl -dR -m u:www-data:rwx -m u:`whoami`:rwx app/cache app/logs
Il ne vous reste plus qu'à vérifier que tout s'est bien passé et que Symfony 2 est prêt à fonctionner en vous rendant à l'URL suivante dans votre navigateur :
http://symfony/config.php
Vous devriez avoir un joli message sur fond vert :
Your configuration looks good to run Symfony
Il ne vous reste plus qu'à cliquer sur le lien "Configure your Symfony Application online" pour terminer votre configuration de Symfony 2.
Conclusion
Et voilà ! Si tout s'est bien passé, vous êtes en mesure de créer un site avec Symfony 2 sur le serveur de développement que vous venez juste d'installer et de configurer.