Introduction
Si comme moi vous avez pris l’habitude de travailler avec l’excellent framework Symfony 2, Vous vous êtes forcément déjà retrouvé confronté à un serveur dont la configuration ne permettait pas de faire fonctionner votre application. L’objectif de cet article est de vous permettre de configurer votre serveur de A à Z pour qu’il puisse accueillir votre projet Symfony 2, en partant d’un serveur vierge Plesk et Centos 6 tels que vous pourrez en trouver chez 1&1 ou OVH, .
Marche à suivre
1 – Vérifier la version de PHP
Comme vous pouvez le voir dans les exigences techniques, Symfony 2 nécessite une version minimum de PHP pour fonctionner correctement. Pour connaitre la version PHP installée sur votre système, entrez la ligne suivante :
php -v
Attention !
Si la version installée est infèrieure à la 5.3.8, il est impératif de mettre PHP à jours (c.f. Mettre à jour votre version de PHP sur Centos 6 avec Plesk )
2 – Vérifier que Plesk exécute bien PHP en tant que Module Apache
Pour que votre projet fonctionne correctement, il est impératif que PHP s’exécute sur votre serveur en tant que module Apache. Par défaut, plesk est généralement configuré pour lancer PHP en tant que module FastCGI, nous allons donc aller vérifier ça et le modifier si nécessaire :
- Connectez vous à votre plesk en tant qu’administrateur
- Rendez-vous sur la page « Clients »
- Ouvrez le paneau de contrôle de l’abonnement à configurer
- Cliquez sur l’onglet « Sites web & Domaines »
- Cliquez sur le domaine correspondant à votre projet
- Vérifiez la ligne « Prise en charge de PHP (exécuté en tant que Module FastCGI) »
- Si PHP s’exécute autrement qu’en module Apache, changez la liste déroulante pour choisir « Module Apache »
- Répétez les étapes 5 à 7 pour tous les domaines liés à votre projet Symfony 2
3 – Régler les pramètres de votre configuration PHP
Editez votre fichier de configuration PHP qui se trouve normalement dans /etc/php.ini et vérifiez les éléments suivants :
La ligne date.timezone doit ressembler à celle-ci :
date.timezone = Europe/Paris
Pensez bien, si nécessaire, à supprimer le ; (point-virgule) en début de ligne, Remplacez évidement le terme « Europe/Paris » par la zone correspondante à votre zone de résidence si ce n’est pas en France.
Les paramètres suivants sont bien à Off
short_open_tag = Off magic_quotes_gpc = Off register_globals = Off session.autostart = Off
4 – Installer l’accelérateur PHP APC
Avant d’installer le module APC, il va falloir installer plusieurs petits logiciels, je vous laisse exécuter une par une les installations suivantes :
yum install -y php-pear
yum install -y php-devel
yum install -y httpd-devel
yum install -y pcre-devel
Pour la suite nous avons besoin d’un compilateur C, nous allons vérifier si gcc est bien installé en lançant la commande suivante
which gcc
Observez bien le résultat de cette commande : Si votre serveur vous répond « no gcc in ([…] « , exécutez la ligne suivante, sinon, continuez sans cette ligne
yum install -y gcc
On fait la même chose pour make
which make
Observez bien le résultat de cette commande : Si votre serveur vous répond « no make in ([…] « , exécutez la ligne suivante, sinon, sautez à l’installation de APC
yum install -y make
Installez enfin le module APC avec la ligne suivante :
pecl install apc
Sauf si vous savez ce que vous faites, laissez les réponses par défaut aux questions que vous posera l’installateur, appuyez simplement sur Entrée
On intègre apc à notre configuration de PHP. On créer dans un premier temps le fichier de config, grâce à la ligne suivante
touch /etc/php.d/apc.ini
On édite le fichier /etc/php.d/apc.ini pour y copier coller les infos suivantes :
extension=apc.so [apc] apc.cache_by_default=0 # disable by default.
5 – Installer le module intl
intl fait également partie des modules indispensable au bon fonctionnement de Symfony 2. Ici aussi il faut tout d’abord installer quelques petits programmes avec la ligne suivante :
yum install gcc-c++ libicu libicu-devel
Répondez y (yes) à la question qui vous est posée « Is this ok ? »
Et nous pouvons installer intl de cette façon :
pecl install intl
Comme pour APC, laissez les valeur par défaut aux questions qui vous seront posées lors de l’installation en appuyant sur Entrée (Sauf si vous êtes sur de ce que vous faites)
Ajouter ensuite le module à la configuration de PHP
touch /etc/php.d/intl.ini
Editez ce fichier pour y inscrire la ligne suivante :
extension=intl.so
6 – Installer php_posix
Un dernier petit module à installer et c’est fini !
yum install php-process
Répondez y (yes) à la question qui vous est posée « Is this ok ? »
7 -Redémarrage des services
Pour que toutes ces modifications soient bien prises en compte par le système, on redémarre le serveur Apache avec cette ligne :
service httpd restart
Et voila, votre serveur est enfin prêt pour être utilisé avec un projet Symfony 2 !
Publié dans : Configuration de serveurs linux Développement web Symfony 2
Merci!
i install symfony on centos 6.3 but when i write https://localhost/symfony/web/config.php
it shows me an error message « 404 not found » The requested URL /symfony/web/config.php was not found on this server.
how can i fix it ?
Merci !!