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.
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.