Installer Symfony sur Centos

janvier 4, 2015 12:44 Publié par Laissez vos commentaires

L’installation du célèbre Framework Symfony peut s’avérer fastidieuse. C’est pourquoi je vous propose ce petit tutoriel afin de solutionner les éventuelles erreurs liées au processus d’installation.

Prérequis :

Un serveur Centos configuré avec apache et Mysql.
PHP installé avec les modules optionnels suivants

yum install php-xml
yum install php-posix
yum install git
yum install php-cli
yum install php-pecl-apc
yum install php-mbstring

Installation d’un accélérateur PHP (Recommandé) :

yum install php-pear php-devel httpd-devel pcre-devel gcc make

Installation :

Installez le composer (bibliothèque de gestion de dépendance PHP) 1

curl -s https://getcomposer.org/installer | php
php composer.phar create-project symfony/framework-standard-edition /var/www/symfony

Placez vous dans le dossier /var/www/symfony, vous devriez obtenir une liste de fichiers et dossiers ressemblant à cela :

drwxr-xr-x  7 root root  4096  2 janv. 12:13 app
drwxr-xr-x  2 root root  4096  2 janv. 12:13 bin
-rw-r--r--  1 root root  2462  2 déc.  13:33 composer.json
-rw-r--r--  1 root root 60510  2 janv. 12:13 composer.lock
-rw-r--r--  1 root root  1065  2 déc.  13:33 LICENSE
-rw-r--r--  1 root root  5732  2 déc.  13:33 README.md
drwxr-xr-x  4 root root  4096  2 janv. 12:13 src
-rw-r--r--  1 root root  1308  2 déc.  13:33 UPGRADE-2.2.md
-rw-r--r--  1 root root  1962  2 déc.  13:33 UPGRADE-2.3.md
-rw-r--r--  1 root root   356  2 déc.  13:33 UPGRADE-2.4.md
-rw-r--r--  1 root root  8499  2 déc.  13:33 UPGRADE.md
drwxr-xr-x 14 root root  4096  2 janv. 12:13 vendor
drwxr-xr-x  2 root root  4096  2 déc.  13:33 web

Modifiez les autorisations :

[root@dev www]# chown -R apache:apache symfony/
cd symfony
chmod 777 app/cache/
chmod 777 app/logs/

Vérifiez que la configuration de votre système est prête à accueillir Symfony:
Dans le répertoire Symfony, lancez simplement :

php app/check.php

Réglez ensuite les éventuels problèmes explicités, comme par exemple le timezone du fichier php.ini :

nano /etc/php.ini

Ajoutez la ligne :
date.timezone = Europe/Paris
ou encore la mise à jour des vendors ({Vendor libraries must be installed}). Ajouter la ligne dans le fichier composer.json ou créer le s’il n’existe pas :

{
"require": {
"symfony/finder": "2.3.*"
}
}

Relancez le check :

 [OK]
 Your system is ready to run Symfony2 projects

On vide les caches :

rm -rf app/cache/*
rm -rf app/logs/*

Dans le cas d’une configuration de type virtual hosts, il suffit d’ajouter le vhost suivant à la fin de votre fichier {/etc/httpd/conf/httpd.conf}


     ServerAdmin webmaster@local
     DocumentRoot /var/www/symfony/web
     ServerName http://urldusite
     ServerAlias urldusite
     ErrorLog /var/www/symfony/internal-error.log
     CustomLog /var/www/symfony/internal-requests.log common

    
        DirectoryIndex app.php
        Options -Indexes FollowSymLinks SymLinksifOwnerMatch
        AllowOverride All
        Allow from All
    


N’oubliez pas de redémarrer apache :

service httpd restart

Il est temps de tester l’url http://urldusite/config.php
Il est possible d’obtenir l’erreur {This script is only accessible from localhost.}
Pour corriger cette erreur, modifiez le fichier script.php dans le répertoire /web de symfony en y ajoutant l’IP publique de l’ordinateur à partir duquel vous essayez de vous connecter :


if (!in_array(@$_SERVER['REMOTE_ADDR'], array(
'127.0.0.1',
'::1',
'Mon adresse IP'
))) {
header('HTTP/1.0 403 Forbidden');
exit('This script is only accessible from localhost.');
}

Ajoutez également votre IP dans le fichier de configuration http://urldusite/app_dev.php
if (isset($_SERVER['HTTP_CLIENT_IP'])
|| isset($_SERVER['HTTP_X_FORWARDED_FOR'])
|| !(in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', 'fe80::1', '::1', 'MON_IP')) || php_sapi_name() === 'cli-server')
) {
header('HTTP/1.0 403 Forbidden');

Réessayer l’url…Miracle ça fonctionne!

tutodidacte symfony.png

Poursuivez la configuration en cliquant sur {Configure your Symfony Application online} sur l’url http://urldusite/config.php. Pour la base de donnée, il peut être nécessaire de la créer avant de lancer cet assistant.

tutodidacte symfony2.png

Notes:

  1. la commande php composer.phar install fonctionne également

Classés dans :

Cet article a été écrit par admin

Laisser un commentaire