Préparation de l'environnement de développement - Symfony 2 partie 2

Tutorial Symfony 2 : Préparation de l'environnement de développement.

Publié le 02/10/2013

Notre système sera Linux Debian 7. Assurer vous d'avoir Apache 2.x, PHP 5.3.3 ou supérieur et MySQL 5.1 sur chacune des machines (cf. Installation et mise en place d’un serveur LAMP sur Linux Debian).

1.1 - Installation des paquets nécessaires

Nous allons installer les packets suivants via apt-get :


sudo apt-get install curl php-apc

1.1.1 - Installation et configuration de Postfix pour l'envoi d'email

Voir le tutorial suivant > Mise en place d’un SMTP avec Postfix sur Linux Debian.

1.2 - Installation de Symfony 2

Nous allons commencer par faire quelques pre-requis de configuration :

- Modification des fichier /etc/php5/cli/php.ini et /etc/php5/apache2/php.ini :


sudo nano /etc/php5/cli/php.ini
short_open_tag = Off
date.timezone = Europe/Paris

Effectuer la même modification dans le fichier /etc/php5/apache2/php.ini et allouer plus de mémoire que les 32M par défaut :


sudo nano /etc/php5/apache2/php.ini
memory_limit = 64M

- Vérifier que MySQL à le charset en utf8 :

sudo nano /etc/mysql/my.cnf 

Ajouter les lignes suivantes dans la section "* Fine Tuning" :


collation-server = utf8_general_ci
character-set-server = utf8

- Modification de la configuration de xdebug (si installé) dans le fichier /etc/php5/cli/php.ini:


sudo nano /etc/php5/cli/php.ini
echo "xdebug.max_nesting_level=250" | sudo tee -a /etc/php5/mods-available/xdebug.ini

- Installation de composer.php qui est une bibliothèque de gestion de dépendances (cf le site du zéro).

Téléchargeons composer dans un repertoire quelconque : /home/"user"

cd curl -s https://getcomposer.org/installer | php 

Ensuite nous allons créer un projet symfony à l'aide de composer.phar (compter 5 min 30 sur un raspberry-pi).

php composer.phar create-project symfony/framework-standard-edition /var/www/symblog/ 

A la fin de l'execution de cette commande, nous sera demander les informations suivantes :


Some parameters are missing. Please provide them.
database_driver (pdo_mysql):
database_host (127.0.0.1):
database_port (null):
database_name (symfony):
database_user (root):
database_password (null): "votre root pwd""
mailer_transport (smtp):
mailer_host (127.0.0.1):
mailer_user (null):
mailer_password (null):
locale (en):
secret (ThisTokenIsNotSoSecretChangeIt): "votre clé"

- Réglages des permissions sur les dossiers cache et logs :


cd /var/www/symblog/
sudo chmod -R 777 app/cache/
sudo chmod -R 777 app/logs/

Vérifier que tout est ok :


cd /var/www/symblog
sudo php ./app/check.php

1.3 - Création d'un domaine et d'un vhost Apache pour le développement

Nous allons éditer le fichier /etc/hosts de notre poste de développement et y ajouter une nouvelle entrée :


sudo nano /etc/hosts
127.0.0.1 symblog.dev

Ensuite nous allons créer un vhost dans Apache :

sudo nano /etc/apache2/sites-available/symblog 

Ajouter le contenu suivant :


NameVirtualHost 127.0.0.1

<VirtualHost 127.0.0.1>
  ServerName symblog.dev
  DocumentRoot "/var/www/symblog/web"
  DirectoryIndex app.php
  <Directory "/var/www/symblog/web">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

Activer le vhost puis redémarrer Apache :


sudo a2ensite symblog
sudo service apache2 restart

Dans notre navigateur, entrer l'url suivante : http://symblog.dev/app_dev.php. Vous devriez voir la page d'accueil de notre application Symfony. La configuration de notre app est terminée, nous n'avons pas besoin de compléter le menu "configure" de la page d'accueil.