installation complète d'un serveur web sous centos5.4 | jour 2 - installation de symfony et configuration d'un virtual host
Par Jean-Philippe Serafin le jeudi, décembre 3 2009, 17:25 - Lien permanent
Parmi les applications à migrer sur notre serveur, certaines requièrent le framework PHP symfony. Nous allons donc installer les différentes versions de symfony nécessaires et les faire cohabiter sur notre serveur. Il va être intéressant de voir quels sont les configurations à apporter à notre lighttpd installé hier.
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 !