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 :

Problème de lancement de PHP dans un dossier UserDir


Sujet :

Apache

  1. #1
    Invité
    Invité(e)
    Par défaut Problème de lancement de PHP dans un dossier UserDir
    Bonjour tout le monde
    Je tourne sur une Debian Lenny
    j'ai un serveur apache2.0 et php5 mysql5

    je bricole des pages php habituellement dans le dossier /var/www/ et tout fonctionne correctement.

    J'ai pensé, installer mon atelier de développement dans mon dossier /home/paul/

    donc j'ai utilisé la directive UserDir
    dans /etc/apache2/apache2.conf :la directive UserDir est comme suit : UserDir http

    au final, le UserDir n'est défini que par l'introduction de la directive dans apache2.conf
    et dans le module /etc/apache2/mods-available/userdir.conf avec la syntaxe classique
    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
     
    <IfModule mod_userdir.c>
            UserDir http
            <Directory /home/*/http >
                    AllowOverride none
                    Options Indexes ExecCGI
    		php_admin_value engine On
    		php_admin_value open_basedir ./
                    <Limit GET POST OPTIONS>
                            Order allow,deny
                            Allow from all
                    </Limit>
                    <LimitExcept GET POST OPTIONS>
                            Order deny,allow
                            Deny from all
                    </LimitExcept>
            </Directory>
    </IfModule>
    ben ça ne marche pas !
    quand je mets l'adresse http://localhost/~paul/index.html ça me donne bien ma page, mais sans que le code php inclue soit exécuté

    quand je mets l'adresse http://localhost/~paul/index.php ben ça m'envoie une fenêtre me demandant de choisir l'application avec laquelle exécuter le fichier !

    j'ai l'usager paul dans le groupe www-data depuis le début du montage

    j'ai aussi essayé plussieurs définitions de droits sur le dossier /home/paul/http sans que rien ne change

    j'ai défini le dossier /home/paul/http d'abord dans le groupe et propriétaire paul

    puis je l'ai mis dans le groupe www-data

    puis je lui ai donné le propriétaire www-data

    ça n'a rien changé : le php n'est pas exécuté en lisant les fichiers dans ce dossier!

    j'ai inclue dans la définition du dossier les directives php_admin_value dans l'idée de changer quelque chose : sans résultat

    il doit y avoir quelque part ailleurs la désactivation du php dans ce genre de dossier

    mais où ?

    Merci d'avance de vos lumières

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Quelles versions/branches des paquets ?

    Actuellement il pourrait être nécessaire de commenter la partie suivante de /etc/apache2/mods-available/php5.conf :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        <IfModule mod_userdir.c>
            <Directory /home/*/public_html>
                php_admin_value engine Off
            </Directory>
        </IfModule>

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par julp Voir le message
    Quelles versions/branches des paquets ?

    Actuellement il pourrait être nécessaire de commenter la partie suivante de /etc/apache2/mods-available/php5.conf :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        <IfModule mod_userdir.c>
            <Directory /home/*/public_html>
                php_admin_value engine Off
            </Directory>
        </IfModule>
    Merci Julp de votre réponse
    bon
    j'ai apache 2.2.9-10 lenny6
    php5.2.6.dfsg.1-1 lenny8

    ben dans mon php5.conf je n'ai pas ces lignes du tout
    donc y'a pas à les commenter !
    j'avais trouvé ce conseil sur une autre discussion et l'avais interprété en mettant dans le userdi.conf une ligne
    php_admin_value engine On
    ainsi que php_admin_value open_basedir ./
    mais cela n'a strictement rien changé.
    donc ça vient d'une configuration qu'il faut trouver ailleurs...

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Ces lignes ont été ajoutées aux paquets non stables, d'où ma question.

    Qu'est-ce qui a été modifié au niveau de la configuration ? Parce qu'il en faudrait une vision d'ensemble. C'est cantonné et général à l'ensemble des scripts PHP en userdir (utilisateurs différents, scripts différents, ...) ? Rien dans les logs ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par julp Voir le message
    Ces lignes ont été ajoutées aux paquets non stables, d'où ma question.

    Qu'est-ce qui a été modifié au niveau de la configuration ? Parce qu'il en faudrait une vision d'ensemble. C'est cantonné et général à l'ensemble des scripts PHP en userdir (utilisateurs différents, scripts différents, ...) ? Rien dans les logs ?
    Oui, il n'y a que dans les dossiers de type userdir que j'ai ce problème.
    je n'ai rien trouvé de spécial ou en rapport avec la lecture de scripts php dans les log !
    la seule chose que j'ai modifiée dans la configuration d'apache2 concerne l'activation du module userdir et la configuration des userdir dans userdir.conf que j'ai donc indiquée plus haut.

    ma configuration générale d'apache2 est :

    /etc/apache2/apache2.conf
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
    ServerRoot "/etc/apache2"
    LockFile /var/lock/apache2/accept.lock
    PidFile ${APACHE_PID_FILE}
    Timeout 300
    KeepAlive On
    MaxKeepAliveRequests 100
    KeepAliveTimeout 15
    <IfModule mpm_prefork_module>
        StartServers          5
        MinSpareServers       5
        MaxSpareServers      10
        MaxClients          150
        MaxRequestsPerChild   0
    </IfModule>
    <IfModule mpm_worker_module>
        StartServers          2
        MaxClients          150
        MinSpareThreads      25
        MaxSpareThreads      75 
        ThreadsPerChild      25
        MaxRequestsPerChild   0
    </IfModule>
    User ${APACHE_RUN_USER}
    Group ${APACHE_RUN_GROUP}
    Userdir http
    AccessFileName .htaccess
    <Files ~ "^\.ht">
        Order allow,deny
        Deny from all
    </Files>
    DefaultType text/plain
    <Directory />
      Order Deny,Allow
      Deny from all
      Options None
      AllowOverride None
    </Directory>
    <IfModule dir_module>
       DirectoryIndex index.php index.html index.htm
    </IfModule>
    HostnameLookups Off
    ErrorLog /var/log/apache2/error.log
    LogLevel warn
    Include /etc/apache2/mods-enabled/*.load
    Include /etc/apache2/mods-enabled/*.conf
    Include /etc/apache2/httpd.conf
    Include /etc/apache2/ports.conf
    LogFormat "%v:%p %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    LogFormat "%{Referer}i -> %U" referer
    LogFormat "%{User-agent}i" agent
    CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined
    ServerTokens Prod
    ServerSignature Off
    Include /etc/apache2/conf.d/
    Include /etc/apache2/sites-enabled/[/quote]
     
    /etc/apache2/httpd.conf
    [quote]<IfModule dir_module>
       DirectoryIndex index.php index.html index.htm
    </IfModule>
    /etc/apache2/mods-available/php5.conf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <IfModule mod_php5.c>
      AddType application/x-httpd-php .php .phtml .php3
      AddType application/x-httpd-php-source .phps
    </IfModule>
    /etc/apache2/mods-available/dir.conf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <IfModule mod_dir.c>
          DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
    </IfModule>
    Voilà donc les fichiers que j'ai personnellement configurés.
    les autres sont configurés par l'installation par défaut de l'installation puis des mises à jours automatiques.
    Dernière modification par _Mac_ ; 15/04/2010 à 20h50. Motif: Merci de mettre en forme le message avec les balises adéquates ([CODE] est plus adapté que [QUOTE] pour la configuration)

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    A vrai dire je pensais plutôt aux sites (sites-enabled/*) et modules actifs (mods-enabled/*).

    Le type du script servi est application/x-httpd-php et le code PHP n'est pas interprété donc ? (En tout cas si c'était lié aux permissions, vous auriez une erreur 403)

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par julp Voir le message
    A vrai dire je pensais plutôt aux sites (sites-enabled/*) et modules actifs (mods-enabled/*).

    Le type du script servi est application/x-httpd-php et le code PHP n'est pas interprété donc ? (En tout cas si c'était lié aux permissions, vous auriez une erreur 403)
    ben... les sites-enabled/* et mods-enabled/* sont des liens vers les fichiers des *-available/*...
    donc, c'est pour ça que quand je modifie quelque chose ou quand j'indique quelque chose, je donne le fichier présent dans available !

    voilà donc ce que j'ai dans */sites-available/default
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <VirtualHost *:80>
    	ServerAdmin webmaster@localhost
     
    	DocumentRoot /var/www/
    	<Directory />
    		Options FollowSymLinks
    		AllowOverride None
    	</Directory>
    	<Directory /var/www/>
    		Options Indexes FollowSymLinks MultiViews
    		AllowOverride None
    		Order allow,deny
    		allow from all
    	</Directory>
     
    	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    	<Directory "/usr/lib/cgi-bin">
    		AllowOverride None
    		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    		Order allow,deny
    		Allow from all
    	</Directory>
     
    	ErrorLog /var/log/apache2/error.log
     
    	# Possible values include: debug, info, notice, warn, error, crit,
    	# alert, emerg.
    	LogLevel warn
     
    	CustomLog /var/log/apache2/access.log combined
     
        Alias /doc/ "/usr/share/doc/"
        <Directory "/usr/share/doc/">
            Options Indexes MultiViews FollowSymLinks
            AllowOverride None
            Order deny,allow
            Deny from all
            Allow from 127.0.0.0/255.0.0.0 ::1/128
        </Directory>
     
    </VirtualHost>
    que rajouteriez-vous ?
    là je vous le mets dans l'état actuel.
    j'ai déjà tenté plusieurs choses sans grand succès...mais bon... y'a peut-être une astuce ?

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bon, ben j'ai fini par trouver ce qu'il fallait mettre et ce qu'il ne fallait surtout pas mettre.

    donc ce qui empêchait le php d'être lancé
    c'est la ligne
    php_admin_value engine On

    ce qui empêchait la connection c'est quand je mettais
    UserDir desabled root

    donc au final
    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
    <IfModule mod_userdir.c>
            UserDir http
      	AddType application/x-httpd-php .php .phtml .php3
      	AddType application/x-httpd-php-source .phps
            DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
    	ErrorLog /var/log/apache2/userdir_error.log
    	CustomLog /var/log/apache2/userdir_access.log combined
            <Directory /home/*/http >
                    AllowOverride none
                    Options Indexes ExecCGI
                    <Limit GET POST OPTIONS>
                            Order allow,deny
                            Allow from all
                    </Limit>
                    <LimitExcept GET POST OPTIONS>
                            Order deny,allow
                            Deny from all
                    </LimitExcept>
            </Directory>
    </IfModule>
    et là, ça marche.

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

Discussions similaires

  1. [PHP 5.2] Déposer un fichier en FTP via PHP dans un dossier
    Par jmsch dans le forum Langage
    Réponses: 3
    Dernier message: 13/07/2014, 17h26
  2. Problème d'intégration de php dans une page html
    Par piwyangel dans le forum Langage
    Réponses: 4
    Dernier message: 16/09/2011, 14h31
  3. Réponses: 1
    Dernier message: 12/03/2009, 16h37
  4. Réponses: 11
    Dernier message: 01/08/2008, 11h40
  5. [XSLT]Probléme avec une fonction php dans un fichier xsl!
    Par Mo_Poly dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 29/10/2007, 07h32

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