Symfony dans ces version stables actuelles requiert PHP5.2+, or yum nous a gracieusement offert la version 5.1.6 :(.

On se reconnecte donc en root sur notre serveur (profitez en, demain ce ne sera plus possible ;)).

Nous choisirons de s'abonner au dépôt de Jason Litka pour profiter de ses RPM et donc de PHP5.2.11 :

rpm --import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
nano -w /etc/yum.repos.d/utterramblings.repo

On y colle :

[utterramblings]
name=Jason's Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

ensuite un petit :

yum update

On notera au passage que nous avons également récupéré une version plus fraîche de mysql.

Il faut créer les dossiers et récupérer les différentes versions de symfony dont on a besoin (ici 1.2 et 1.4) :

mkdir /usr/share/php
mkdir /usr/share/php/symfony
cd /usr/share/php/symfony/
svn co http://svn.symfony-project.com/branches/1.2 && svn co http://svn.symfony-project.com/branches/1.4
chmod 755 ./ -R

Voilà! Symfony est installé, reste à faire des liens symbolique dans sbin pour pouvoir avoir des commandes propres à chaque version.

cd /usr/sbin/
ln -s /usr/share/php/symfony/1.2/data/bin/symfony symfony1.2
ln -s /usr/share/php/symfony/1.4/data/bin/symfony symfony1.4

Maintenant nous avons accès aux commandes permettant de manipuler / créer des projets symfony.

Création d'un projet de test :

Nous ouvrirons une session avec notre utilisateur wwwrun et instancirons un nouveau projet de test :

su wwwrun
cd ~
mkdir www.test.sf
cd www.test.sf
symfony1.4 generate:project test
symfony1.4 generate:app front

A ce stade nous avons créé une application front dans le projet test.

Nous allons maintenant configurer le host virtuel dans notre serveur lighttpd :

exit
nano /etc/lighttpd/lighttpd.conf

on rajoute la ligne suivante pour inclure le fichier qui contiendra nos host virtuels :

include "/etc/lighttpd/hosts.conf"

et on décommente les lignes :

"mod_access",
"mod_rewrite",

on crée le fichier concerné :

nano /etc/lighttpd/hosts.conf

on y colle :

$HTTP["host"] =~ "^www\.test\.sf$" {
 
  server.document-root = "/home/wwwrun/www.test.sf/web/"
 
  alias.url = (
 
    "/sf" => "/usr/share/php/symfony/1.4/data/web/sf",
 
  )
 
  url.rewrite-once = (
 
    "^/(.*)\.(.*)" => "$0",
 
    "^/([^.]+)$" => "/index.php/$1",
 
    "^/$" => "/index.php"
 
  )
 
}

on redémarre le serveur :

service lighttpd restart

Maintenant sur notre machine local, nous allons ajouter la ligne dans la fichier /etc/hosts :

ip.du.seveur  www.test.sf

Vous devriez voir fonctionner votre application test sous symfony1.4 et lighttpd sur l'url http://www.test.sf !