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 :

Utilisation de Suexec !


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 145
    Par défaut Utilisation de Suexec !
    BOnjour à tous,

    J'essai d'utiliser Suexec sur mon dédié. J'ai donc installer apache, suexec est installer avec par défaut.

    Voila ma config dans le /etc/conf.d/apache2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #  SUEXEC     Enables running CGI scripts (in USERDIR) through suexec.
    #  USERDIR    Enables /~username mapping to /home/username/public_html
    #
    APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D LANGUAGE -D SSL -D SSL_DEFAULT_VHOST -D SUEXEC -D PHP5 -D USERDIR "
    Lorsque je démarre apache, j'ai correctement la ligne dans les log error_log
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [Sat Jan 26 15:33:39 2008] [notice] Apache/2.2.6 (Unix) mod_ssl/2.2.6 OpenSSL/0.9.7i PHP/5.2.5-pl0-gentoo configur$
    [Sat Jan 26 15:41:44 2008] [notice] caught SIGTERM, shutting down
    [Sat Jan 26 15:41:46 2008] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
    [Sat Jan 26 15:41:47 2008] [notice] Digest: generating secret for digest authentication ...
    [Sat Jan 26 15:41:47 2008] [notice] Digest: done
    A priori Suexec est donc activé !! (même si ça apparait dans les log d'erreur).

    Ensuite je créer un utilisateur
    /usr/sbin/useradd evolv -m -s /bin/bash

    et je met un simple fichier index.php dans son "public_html" avec "<?php echo "utilisateur : ".exec('whoami'); ?>"

    VOici les vhost de mon site :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <VirtualHost *:80>
            ServerAdmin webmaster@evolv.com
            DocumentRoot /home/evolv/public_html
            ServerName www.evolv.com
            ServerAlias evolv.com
            SuexecUserGroup evolv evolv
            CustomLog /var/log/apache2/evolv-web-access_log combined
            ErrorLog /var/log/apache2/evolv-web-error_log
            <Directory />
                    AllowOverride All
                    Options FollowSymLinks -Indexes Includes ExecCGI
            </Directory>
    </VirtualHost>
    Le SuexecUserGroup est bien pris en compte, car si je fait une faute de frappe ou que je met n'importe quoi pour l'user et le groupe, ça crache au redémarrage d'apache. Donc aucune erreur au redemarrage d'apache ... mais pas de changement d'utilisateur "utilisateur : apache" !!

    Merci à tous
    A bientot

    PS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    # suexec -V
     -D AP_DOC_ROOT="/var/www"
     -D AP_GID_MIN=100
     -D AP_HTTPD_USER="apache"
     -D AP_LOG_EXEC="/var/log/apache2/suexec_log"
     -D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
     -D AP_SUEXEC_UMASK=077
     -D AP_UID_MIN=1000
     -D AP_USERDIR_SUFFIX="public_html"

  2. #2
    Membre émérite
    Avatar de goldkey
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    802
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 802
    Par défaut
    Tiens jette un oeil a cette doc :
    How to set up suexec to work with virtual hosts and PHP

    Tu n'aurais pas oublié :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AddHandler cgi-script .php

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 145
    Par défaut
    Ouahouh, ça avance, ça fait 3 jours que je galere avec ce truc !!
    Alors en effet en rajoutant la ligne "AddHandler cgi-script .php" dans mon vhost, Apache à l'air de réagir car des log dans suexec_log apparaissent (enfin)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [2008-01-28 08:49:07]: uid: (1013/evolv) gid: (100/100) cmd: domaines.php
    [2008-01-28 08:49:07]: (8)Exec format error: exec failed (index.php)
    Coté site j'ai une erreur fatal, ça ne tourne pas, en faisant quelques recherches sur le net, j'ai trouver qu'il fallait p'être ajouter la ligne "AddType application/x-httpd-php .php" ce coup-ci ça marche ... mais plus rien ne s'affiche dans les logs suexec_log et malheureusement, le site tourne toujours sur l'user apache .... !!

    Apparament, il faudrait régler l'erreur d'avant le "exec failed" car j'ai l'impression que du coup la ligne "AddType application/x-httpd-php .php" est prioritaire et le site ne tourne plus en PHP CGI.

    POur cette histoire de patch, comment je sais si mon suexec est patché, parce que mon install viens d'un emerge tout simple, et je crois que je v galérer si je dois mettre le patch.

    Voici mon vhost :

    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
    <VirtualHost *:80>
            ServerAdmin webmaster@evolv.com
            DocumentRoot /var/www/evolv/public_html
            SuexecUserGroup evolvia-web users
     
            ServerName www.evolv.com
            ServerAlias evolv.com
            CustomLog /var/log/apache2/evolv-access_log combined
            ErrorLog /var/log/apache2/evolv-error_log
            AddHandler cgi-script .php
            ScriptAlias /cgi-bin/ /var/www/evolv-web/cgi-bin/
            AddHandler application/x-httpd-php .php
     
            <Directory /var/www/evolvia-web/public_html>
                    AllowOverride All
                    Options FollowSymLinks -Indexes Includes ExecCGI
                    Allow from All
            </Directory>
     
    </VirtualHost>
    Evidemment, je veux faire tourner des scripts php sur mon serveur.

    A + et merci encore

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 145
    Par défaut
    Je crois qu'il y'a un truc pas normal :

    AddHandler cgi-script .php

    Pourquoi ajouter cette ligne ? cela voudrait dire qu'il interprete les script php comme des cgi ??? Or moi j'aimerai que mes script php soit interpretés par php ? mon erreur vient surment de ça ? PAr contre si je met

    AddHandler cgi-script .cgi

    Dans ce cas, plus d'erreur, mais plus de suexec non plus !! Suexec ne veut apparament fonctionner qu'avec des cgi ... comment faire pour qu'il interprete aussi les scripts php ?

  5. #5
    Membre émérite
    Avatar de goldkey
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    802
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 802
    Par défaut
    AddHandler cgi-script .php
    permet de forcer l'execution des fichiers php en cgi

    Regarde ce tuto page2: Apache et SuExec, execution de php en tant que script CGI

    Vérifie les droits de tes fichiers.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 145
    Par défaut
    Wahoo ça marche enfin (merci pour le tuto, il est nickel) !! Quelle galere ce truc !! il me reste un dernier problème à résoudre, Toutes mes directives php_value (qu'elles soient dans un .htaccess ou directement dans le vhost) sont ignorées ???? comment faire pour les utiliser dans le cadre de suexec ?

    PS : il faut absolument php-cgi pour le binaire, avec php ça ne marche pas. Il faut donc compiler php avec l'option cgi pour obtenir ce binaire.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 145
    Par défaut
    Arf, je ne vois pas bien ce que tu veux dire pour le include_path,

    voici un phpinfo (volontairement supprimé) sur une page de test

    j'ai dû commenter les deux prepend et append. Je viens de me rendre compte que le include_path ne marche pas non plus (même s'il ne génére pas d'erreur). Lorsque je fait un include standard sur mon fichier test.php (sans passer par le htaccess), il ne trouve pas non plus le fichier qu'il est sensé retrouver via le include_path .... Mais que ce passe t'il ??? lol

    Ah je viens de remarquer un truc dans le include_path du phpinfo .... il y'a un signe tt bizarre à la fin, une sorte de caractère de fin le ligne foireux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    include_path	/var/www/evolv/public_html/php-include/
    Ç«,

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 145
    Par défaut
    Bon ben c'était ça !! il ne faut pas de caractère de retour à la ligne dans le fichier htaccess sinon ça plante ... il faut pas trop le titiller le petit htscanner on dirait. J'espere qu'on peut utiliser l'urlrewriting dans les htaccess avec htscanner ? parce que sinon ça va encore etre sportif ! Mais j'approche ENFIN du but !!

    Encore merci à tous

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

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  2. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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