Installation de symfony sur Ubuntu Edgy

jan 12, 2007   //   by Nicolas Borboën   //   Programmation, Technologie  //  3 commentaires

J’ai récemment réinstallé mon portable, occasion pour moi de faire ce petit aide-mémoire au cas ou cela ré-arriverait…

TDM:

1) Installation d’apache/mysql/php (lamp)
2) Installation de Symfony
3) Création d’un projet
4) Configuration du serveur web
5) Rappel
6) Sources


1) Installation d’apache/mysql/php (lamp)
Edition du fichier sources.list
$ sudo gedit /etc/apt/sources.list
et décommenter les lignes
deb http://ch.archive.ubuntu.com/ubuntu/ edgy universe
deb-src http://ch.archive.ubuntu.com/ubuntu/ edgy universe

mettre à jour la liste des sources
$ sudo apt-get update
puis installer apache2
$ sudo apt-get install apache2 apache2-doc apache2-mpm-prefork
et mysql-server
$ sudo apt-get install mysql-server-5.0
on active quelques modules utiles
$ sudo apt-get install php5 libapache2-mod-php5 php5-mysql php-pear php5-cli php5-gd php5-sqlite php5-xsl php5-mcrypt
Il faut maintenant sécuriser et configurer mysql:
$ sudo mysql_secure_installation
On peut alors installer phpmyadmin
$ sudo apt-get install phpmyadmin
Dernières choses: php est radin avec les ressources alors que symfony est plutôt gourmand:
$ sudo gedit /etc/php5/cli/php.ini
et changer la ligne 256
memory_limit = 20M
et dans
/etc/php5/apache2/php.ini
changer la ligne 425
magic_quotes_gpc = Off

2) Installation de symfony
Plusieurs possibilités, on utilise ici le package PEAR. Premièrement ajouter le canal symfony:
$ sudo pear channel-discover pear.symfony-project.com
puis on install symfony (ici la beta)
$ pear install symfony/symfony-beta
Note: pour la version stable
$ sudo pear install symfony/symfony
il est temps d’installer phing
$ sudo pear install http://phing.info/pear/phing-current.tgz
symfony est installé la preuve avec sa version
$ symfony -V
Toutes les commandes symfony sont accessibles avec
$ symfony -T

3) Création d’un projet:
La base est en place, il ne reste plus qu’a créer un projet (askeet)
$ mkdir ~/askeet
$ cd ~/askeet
$ symfony init-project askeet

On peut également créer le frontend:
$ symfony init-app frontend
Voilà, notre premier projet est prêt à l’emploi…

4) Configuration du serveur web:
Il est décrit ici comment créer un « Virtual Host » pour accéder à notre projet symfony depuis un navigateur:
$ sudo gedit /etc/apache2/sites-available/askeet
et insérer les données suivantes:

<Directory "/usr/share/php/data/symfony/web/sf"> AllowOverride All Allow from All</Directory><VirtualHost *>  ServerName askeet  DocumentRoot /home/user/askeet/web  DirectoryIndex index.php

  Alias /sf /usr/share/php/data/symfony/web/sf  Alias /phpmyadmin /var/www/phpmyadmin/

  <Directory />    Options FollowSymLinks    AllowOverride None  </Directory>

  <Directory "/home/user/askeet/web">    Options Indexes FollowSymLinks MultiViews    AllowOverride None    Order allow,deny    allow from all  </Directory>

  <Directory "/var/www/phpmyadmin/">    Options Indexes MultiViews FollowSymLinks    AllowOverride None    Order deny,allow    Deny from all    Allow from all  </Directory>

  # Si on veut des logs propre à askeet  LogLevel warn  ErrorLog /var/log/apache2/error_askeet.log  CustomLog /var/log/apache2/access_askeet.log combined  ServerSignature On</VirtualHost>

Note: le mot-clé user doit bien sûr être remplacé par votre nom d’utilisateur
Pour que tout fonctionne correctement il faut encore activer ces modules
$ sudo a2enmod rewrite php5
et activer le nouveau site:
$ sudo a2ensite askeet
Pour qu’apache trouve le nom de l’hôte, éditer le fichier hosts
$ sudo gedit /etc/hosts
et ajouter « askeet »:
127.0.0.1    localhost askeet
Pour finir on redémarre apache:
$ sudo /etc/init.d/apache2 reload
Note: en cas de l’erreur

apache2: Could not determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName

éditer
$ sudo gedit /etc/apache2/apache2.conf
et ajouter l’option
ServerName localhost
Egalement vérifier que le hostname en tapant dasn un terminal
hostname = localhost

5) Rappel:
- Apache:
$ sudo /etc/init.d/apache2 start|stop|restart|reload|force-reload
ou
$ sudo apache2ctl start|stop|fullstatus|status|graceful|configtest
- Mysql:
$ sudo /etc/init.d/mysql start|stop|restart|reload|force-reload|status

6) Sources:
http://doc.ubuntu-fr.org/serveur/lamp_bis
http://www.symfony-project.com/content/download.html
http://www.symfony-project.com/book/trunk/installation
http://www.prendreuncafe.com/blog/post/2006/06/20/473-installer-le-framework-php-symfony-sur-ubuntu-dapper-drake

3 commentaires

  • Bonsoir,
    Merci beaucoup pour ce tuto très clair.
    Petit pb : sous Edgy, à l’exe de la commande :
    sudo pear install –alldeps http://phing.info/pear/phing-curren…

    tu n’as pas eu une erreur du type :
    65 source files, building
    running: phpize
    sh: phpize: command not found
    ERROR: `phpize’ failed

    Merci, fbab.

  • Bonjour,
    non pas eu de soucis si ce n’est que des fois il faut un peu insister…

    Pour le virtual host, le code suivant suffit:

    <VirtualHost *:80>  ServerName askeet  DocumentRoot "/home/nbo/askeet/web"  DirectoryIndex index.php  Alias /sf /usr/share/php/data/symfony/web/sf
    
      <Directory "/home/nbo/askeet/web">   AllowOverride All  </Directory></VirtualHost>

    Il faut aussi dire que la release candidate de symfony est sortie tout comme le symfony-book!

  • ERROR: `phpize’ failed

    instalar estos dos paquetes php5.cli php5-dev:

    sudo apt-get install php5-cli php5-dev

    e instalamos phping-current.tgz:

    sudo pear install alldeps http://phing.info/pear/phing-curren…

    y listo:
    Saludos

Votre commentaire

*