IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Apache2.2-ITK + PHP5-FPM multi pools


Sujet :

Apache

  1. #1
    Membre confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Octobre 2010
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2010
    Messages : 178
    Points : 618
    Points
    618
    Par défaut Apache2.2-ITK + PHP5-FPM multi pools
    Bonjour,

    Je cherche à monter le système suivant:
    [Apache-ITK] -> [Php5-FPM multipools]

    J'ai un problème au niveau des utilisateurs: si j'utilise tout en www-data, c'est fonctionnel. Par contre si je commence à utiliser les fonctions itk/multipool(pfm), cela se complique.
    En effet, je ne souhaite pas faire un seul pool php-fpm avec l'utilisateur www-data. Car cela permet aux autres sites d'écrire/lire/exécuter dans le dossier du site voisin.

    J'ouvre donc un port pour chaque pool fpm avec son couple user/groupe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    [site1]
    user = site1
    group = site1
    listen = 10.0.150.130:9001
    ....
     
    [site2]
    user = site2
    group = site2
    listen = 10.0.150.130:9002
    ....
    -----------------

    Au niveau apache, j'utilise du fast_cgi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    #site 1 VHOST / EXTRAIT     
    <IfModule mpm_itk_module>
                    AssignUserId site1 site1
    </IfModule>
     
    <IfModule mod_fastcgi.c>
                    AddType application/x-httpd-fastphp5 .php
                    Action application/x-httpd-fastphp5 /php5-fcgi
                    Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
                    FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 10.0.150.130:9001  -pass-header Authorization
    </IfModule>
     
     
    #site 2 VHOST / EXTRAIT     
    <IfModule mpm_itk_module>
                    AssignUserId site2 site2
    </IfModule>
     
    <IfModule mod_fastcgi.c>
                    AddType application/x-httpd-fastphp5 .php
                    Action application/x-httpd-fastphp5 /php5-fcgi
                    Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
                    FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 10.0.150.130:9002  -pass-header Authorization
    </IfModule>
    Cette configuration apache ne fonctionne que avec un seul site.
    En effet, avec plusieurs sites, j'obtiens l'erreur suivante:
    Syntax error on line 13 of /etc/apache2/sites-enabled/site1.conf:
    FastCgiExternalServer: redefinition of previously defined class "/usr/lib/cgi-bin/php5-fcgi"
    Action 'configtest' failed.
    Erreur, logique vu que la configuration est déjà définie dans le premier vhost.

    La question: Comment corriger ce problème ? Faire une configuration unique pour chaque site ?

    J'ai essayé d'implémenter le module proxy_fcgi, mais celui-ci ne semble pas disponible pour Apache2.2.

    Merci.

  2. #2
    Membre confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Octobre 2010
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2010
    Messages : 178
    Points : 618
    Points
    618
    Par défaut
    Après quelques heures de recherches supplémentaire, je suis arrivé à une solution pour de l'apache 2.2 :


    Voilà des exemples de configuration qui fonctionnent:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
     
    <VirtualHost *:81>
        DocumentRoot "/var/www/site2"
        ServerName site2.exemple.fr
     
            <IfModule mpm_itk_module>
                    AssignUserId site2 site2
            </IfModule>
     
            <IfModule mod_fastcgi.c>
                    <FilesMatch \.php$>
                            SetHandler php-script
                    </FilesMatch>
     
                    AddType application/x-httpd-fastphp5 .php
     
                    Action php-script /php5-site2.fcgi virtual
                    Alias /php5-site2.fcgi /var/www/site2/php5-site2.fcgi
                    FastCgiExternalServer /var/www/site2/php5-site2.fcgi -host 10.0.150.130:9002  -pass-header Authorization
     
            </IfModule>
     
    </VirtualHost>

    Pour l'exploiter, il suffit de changer les répertoires de destination (/var/www/site2/) et le nom du fcgi.
    Ne pas oublier de configurer les ports aussi.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. SAPI PHP pour Apache : ITK ou FPM
    Par Invité dans le forum Apache
    Réponses: 1
    Dernier message: 12/05/2013, 19h01
  2. [MySQL] [php5] recherche multi-critère
    Par bailamos dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 07/01/2009, 00h13
  3. problème apache2.2.2 php5.1.4
    Par moabomotal dans le forum Apache
    Réponses: 3
    Dernier message: 27/04/2007, 16h08
  4. [Debian + Apache2] PHP4 vers PHP5
    Par Jean_Benoit dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 01/05/2006, 17h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo