Pour informer apache2/php des droits qui vont bien il faut renseigner la
variable un peu comme cela : exemple de config d'un vhost apache2 :
<VirtualHost 192.168.0.23:80>
RLimitCPU 60
RLimitMEM 67108864
RLimitNPROC 16
ServerAdmin webmaster@client4.caen
DocumentRoot /web/clients/client4/www
ServerName pmenier.selfip.net
ServerAlias www.client4.caen
suPHP_ConfigPath "/web/clients/client4"
suPHP_UserGroup client4 client4
CustomLog /web/clients/client4/www/logs/access_log combined
Errorlog /web/clients/client4/www/logs/error_log
ScriptAlias /cgi-bin/ /web/clients/client4/cgi-bin/
<Directory /web/clients/client4/cgi-bin/>
AllowOverride Authconfig
Options ExecCGI FollowSymLinks
</Directory>
</VirtualHost>
Cela dans la mesure ou tu as compile suphp de la facon suivante :
$ ./configure
--prefix=/usr/local/sbin
--with-apxs=/usr/local/apache2/bin/apxs
--with-min-uid=99
--with-gid-min=99
--with-apache-user=nobody
--with-php=/usr/local/bin/php
--with-logfile=/usr/local/apache2/logs/suphp.log
--with-setid-mode=paranoidContenu de suphp.conf : [global];Path to
logfilelogfile=/var/log/apache/suphp.log;Loglevelloglevel=warn;User Apache
is running aswebserver_user=nobody;Path all scripts have to be
indocroot=/web/clients; Security
optionsallow_file_group_writeable=falseallow_file_others_writeable=falseallo
w_directory_group_writeable=falseallow_directory_others_writeable=false;Chec
k wheter script is within DOCUMENT_ROOTcheck_vhost_docroot=true;Send minor
error messages to browsererrors_to_browser=false;PATH environment
variableenv_path=/bin:/usr/bin;Umask to set, specify in octal
notationumask=0033; Minimum UIDmin_uid=100; Minimum
GIDmin_gid=100[handlers];Handler for
php-scriptsx-httpd-php=php:/usr/local/bin/php;Handler for
CGI-scriptsx-suphp-cgi=execute:!selfPatrick----- Original Message -----
From: "Pierre Hourdebaigt" <phdb2@laposte.net>
To: <debian-user-french@lists.debian.org>
Sent: Wednesday, May 24, 2006 3:03 PM
Subject: Re: Gros problème avec PHP
Les choses avancent....
Mais cela me surprend un peu... beaucoup!!
J'ai modifié les droits sur le répertoire /var/www (777) - Oui je sais,
beurk!! Et je suis bien d'accord...
Ensuite, dans ce répertoire, j'ai fait un chown toto:toto index.php. Et
là, cela fonctionne (même si c'est l'utilisateur titi qui lance
http://LeServeur/index.php dans son navigateur - because 777 sur le
répertoire je présume).
Par contre, si je lance localhost/phpmyadmin (cela ne marche pas - root
ou pas root) - j'ai pourtant également chmodé le lien phymyadmin ("pour
voir"). idem avec spip.
C'est une piste intéressante, qui semble bien indiqué un problème de
droit, mais je ne comprends toujours pas l'origine du dysfonctionnement;
et puis cette dégradation n'est pas la solution.
Quels devraient être les droits de /var/www ?
Quels devraient être les suid/guid des fichiers contenus dans ce
répertoire, et avec quels droits ?
Comment et où informer PHP et Apache2 de ces droits ?
Merci encore pour votre aide.
phdb a écrit :
Bonjour à tous,
Je ne parviens plus à faire exécuter un script .php dans un
navigateur. Si j'exécute un script à la main, qui contient par exemple
"<? echo "Salut!\n"; ?>, tout va bien. Avec un navigateur, soit il est
affiché en édition, soit le navigateur me demande ce qu'il doit en
faire.
J'ai pensé à un problème apache, mais /etc/apache2/apache.conf n'a pas
été modifié (il date de Janvier) - mais bizarrement DocumentRoot n'est
pas renseigné. Néanmoins les scripts html placés dans
/var/www/apache2-default, eux, sont bien exécutés par les navigateurs.
Enfin je ne parviens plus à lancer phpmyadmin - je récupère une
"Internal server error or misconfiguration".
Quant à la cause du problème, j'ai pensé à une install malheureuse de
phpbb2 - que j'ai viré depuis. Je présume qu'il s'agit d'un "simple"
problème de configuration, mais je ne sais pas quelle piste suivre
pour comprendre et corriger le problème.
Votre aide serait plus que la bienvenue...
Merci d'avance.