Préparer un serveur Centos 6/7 & Plesk à accueillir un projet Symfony 2

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 :

  1. Connectez vous à votre plesk en tant qu’administrateur
  2. Rendez-vous sur la page « Clients »
  3. Ouvrez le paneau de contrôle de l’abonnement à configurer
  4. Cliquez sur l’onglet « Sites web & Domaines »
  5. Cliquez sur le domaine correspondant à votre projet
  6. Vérifiez la ligne « Prise en charge de PHP (exécuté en tant que Module FastCGI) »
  7. Si PHP s’exécute autrement qu’en module Apache, changez la liste déroulante pour choisir « Module Apache »
  8. 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 !

configuration-parfaite-pour-symfony2

Tagués avec :
Publié dans : Configuration de serveurs linux Développement web Symfony 2
3 commentaires pour “Préparer un serveur Centos 6/7 & Plesk à accueillir un projet Symfony 2
  1. aymen dit :

    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 ?

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*