Pour installer symfony, il faut commencer par vérifier la configuration du serveur.
Pour cela nous avons besoin d'un serveur web, d'une base de données (MySQL - dans notre cas - , PostGreSQL, SQLite, ..) et de PHP en version 5.2.4 au minimum.
Sur ubuntu, l'installation se fait via APT
apt-get install <paquet>
Les paquets à installer sont:
- php5
- php5-cli
- php5-mysql
- php-pear
- phpmyadmin
- mysql-client
cd /var/www/Il faut alors corriger les lignes indiquées en erreur, si elles existent.
mkdir -p sfProjects/project1/
cd sfProjects/project1/
mkdir -p lib/vendor
cd lib/vendor
wget http://www.symfony-project.org/get/symfony-1.2.1.tgz
tar -xzpf symfony-1.2.1.tgz
mv symfony-1.2.1 symfony
rm symfony-1.2.1.tgz
cd ../..
php lib/vendor/symfony/data/bin/check-configuration.php
Vérifier la version installée de symfony
php lib/vendor/symfony/data/bin/symfony -VPour voir toutes les commandes et possibilités:
php lib/vendor/symfony/data/bin/symfonyCréons désormais notre projet. La commande suivante va générer la structure par défaut:
php lib/vendor/symfony/data/bin/symfony generate:project project1Générons maintenant notre application FrontEnd au sein de notre projet
php symfony generate:app --escaping-strategy=on --csrf-secret=Unique$ecret frontend
Pour une meilleure portabilité il faut modifier l'inclusion du fichier sfCoreAutoload.class.php dans le fichier de configuration du projet:
vi config/ProjectConfiguration.class.php
L'include doit ressembler à:
require_once(dirname(__FILE__)."/../lib/vendor/symfony/lib/autoload/sfCoreAutoload.class.php");
Il faut maintenant configurer Apache pour que notre site fonctionne:
vi /etc/apache2/sites-available/project1
<VirtualHost *>
ServerAdmin toto@titi.com
ServerName project1.domain.com
DocumentRoot /var/www/sfProjects/project1/web
DirectoryIndex index.php
ErrorLog /var/log/apache2/project1.error.log
CustomLog /var/log/apache2/project1.access.log combined
<Directory "/var/www/sfProjects/project1" >
Allow Override All
Allow from All
</Directory>
Alias /sf /var/www/sfProjects/project1/lib/vendor/symfony/data/web/sf
<Directory "/var/www/sfProjects/project1/lib/vendor/symfony/data/web/sf" >
Allow Override All
Allow from All
</Directory>
</VirtualHost>
a2ensite project1
/etc/init.d/apache2 reload
Derniers commentaires