Installation de symfony
Cela fait maintenant quelques jours que j'ai commencé à utiliser le framework symfony et sur les forums, je me suis rendu compte que beaucoup d'utilisateurs francophones bloquaient sur l'installation et sur les premiers chapitres du tutoriel Pratical Symfony. J'ai donc décidé d'écrire un tutoriel d'installation bref et concis en espérant qu'il puisse aider des personnes en difficulté.
(Ce tuto est basé sur Pratical Symfony de la documentation officielle de Symfony)
INSTALLATION DE SYMFONY 1.4
Il faut tout d'abord vérifier que les composants suivants sont présents sur la machine :
Créez le répertoire sfprojects
En général il n'y a pas vraiment d'erreurs rencontrées à ce niveau. Si toutefois vous bloquez ici, la sortie de cette commande devrait pouvoir vous fournir les informations pour résoudre le problème.
Si vous ne disposez pas d'un serveur web, la commande locate ne renverra aucun résultat. Nous allons donc installer un serveur apache.
# sudo apt-get install apache2
# sudo apt-get install libapache2-mod-php5
On met à jour la base de donnée des fichiers.
# sudo updatedb
Ensuite on localise le fichier httpd.conf (il se trouve normalement dans /etc/apache2/httpd.conf)
$ locate httpd.conf
par exemple
# sudo gedit /etc/apache2/httpd.conf
# C'est la configuration pour votre projet
Redémarrez le serveur apache.
# sudo /etc/init.d/apache2 restart
Pour le prochain tuto, Je passerai directement au Jour 3 du Pratical Symfony car c'est surtout à ce niveau que les utilisateurs novices rencontrent le plus de problèmes. Pour plus de détails sur ce tutoriel voir la documentation officielle (très complète).
(Ce tuto est basé sur Pratical Symfony de la documentation officielle de Symfony)
INSTALLATION DE SYMFONY 1.4
Il faut tout d'abord vérifier que les composants suivants sont présents sur la machine :
- Un serveur web (apache par exemple)
- Un moteur de base de données ( MySQL, PostgreSQL, SQLite, ou tout autre moteur de base de données PDO-compatible)
- PHP >=5.2.4
Configuration de PHP
Assurez vous que PHP 5.2.4 au minimum est installé grâce à la commande php -v.
$ php -v
Si vous disposez plutôt de lampp, rendez vous dans le répertoire lampp puis tapez les commandes suivantes :
Assurez vous d'être bien dans le répertoire de lampp avant d'effectuer la manip' suivante!
$ alias php='bin/php'
Ensuite
$ php -v
Ensuite
$ php -v
Sinon si vous ne disposez pas non plus de lampp installez php5-cli. Sous Ubuntu faire :
# sudo apt-get install php5-cli
Ensuite
$ php -v
Créez le répertoire sfprojects
$ mkdir -p ~/sfprojects
Téléchargez le fichier de configuration php
$ wget -P ~/sfprojects http://sf-to.org/1.4/check.php
Lancez le script
$ php ~/sfprojects/check_configuration.php
En général il n'y a pas vraiment d'erreurs rencontrées à ce niveau. Si toutefois vous bloquez ici, la sortie de cette commande devrait pouvoir vous fournir les informations pour résoudre le problème.
Installation de symfony
- Création du répertoire qui abritera tous les fichiers du projet
$ mkdir -p ~/sfprojects/jobeet
- Choix du lieu d'installation
On choisira de rendre nos projets indépendants les uns des autres, on intègrera donc symfony dans chacun de nos projets (méthode conseillée par le tutoriel officiel).
$ mkdir -p ~/sfprojects/jobeet/lib/vendor
- Téléchargement de symfony
$ wget -P ~/sfprojects/jobeet/lib/vendor/ http://www.symfony-project.org/get/symfony-1.4.1.tgz
$ cd ~/sfprojects/jobeet/lib/vendor/
$ tar zxpf symfony-1.4.1.tgz
$ mv symfony-1.4.1 symfony
$ rm symfony-1.4.1.tgz
- Vérification de l'installation
On vérifie la version de Symfony pour s'assurer que tout fonctionne (Notez la majuscule V).
$ php symfony/data/bin/symfony -V
Création du Jobeet (Exemple de projet tiré du tutoriel pratical symfony)
Génère la structure des répertoires et fichiers nécessaires pour un projet symfony.
$ cd ~/sfprojects/jobeet/
$ php ~/sfprojects/jobeet/lib/vendor/symfony/data/bin/symfony generate:project jobeet
- Création de l'application front-end
$ php symfony generate:app frontend
- Attribution des droits d'écriture et de lecture sur les répertoires cache/ et log/ au serveur web
$ chmod 777 cache/ log/
- Configuration du serveur web
Localisez le fichier httpd.conf
$ locate httpd.conf
Si vous ne disposez pas d'un serveur web, la commande locate ne renverra aucun résultat. Nous allons donc installer un serveur apache.
# sudo apt-get install apache2
# sudo apt-get install libapache2-mod-php5
On met à jour la base de donnée des fichiers.
# sudo updatedb
Ensuite on localise le fichier httpd.conf (il se trouve normalement dans /etc/apache2/httpd.conf)
$ locate httpd.conf
Éditez le. (Changez chemin par le résultat que vous avez obtenu grâce à la commande locate)
# sudo gedit /chemin/httpd.conf
par exemple
# sudo gedit /etc/apache2/httpd.conf
Copiez ces lignes à la fin du fichier en prenant soin de changer utilisateur par votre nom d'utilisateur.
# Soyez sûr d'avoir seulement cette ligne une fois dans votre configuration
NameVirtualHost 127.0.0.1:8080
# C'est la configuration pour votre projet
Listen 127.0.0.1:8080
<VirtualHost 127.0.0.1:8080>
DocumentRoot "/home/utilisateur/sfprojects/jobeet/web"
DirectoryIndex index.php
<Directory "/home/utilisateur/sfprojects/jobeet/web">
AllowOverride All
Allow from All
</Directory>
Alias /sf /home/utilisateur/sfprojects/jobeet/lib/vendor/symfony/data/web/sf
<Directory "/home/utilisateur/sfprojects/jobeet/lib/vendor/symfony/data/web/sf">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
Redémarrez le serveur apache.
# sudo /etc/init.d/apache2 restart
Votre projet sera donc accessible à l'adresse http://localhost:8080/
Pour le prochain tuto, Je passerai directement au Jour 3 du Pratical Symfony car c'est surtout à ce niveau que les utilisateurs novices rencontrent le plus de problèmes. Pour plus de détails sur ce tutoriel voir la documentation officielle (très complète).