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.