OVH Community, votre nouvel espace communautaire.

patch apache suexec


Rodol
10/11/2004, 19h14
Bon...
finalement je me suis inspiré des patch pour faire ça:

#!/bin/sh
cd /home/ovh/src/apache_1.3.31
./configure \
--prefix=/usr/local/apache \
--activate-module=src/modules/php4/libphp4.a \
--enable-suexec \
--suexec-caller=nobody \
--suexec-userdir=www \
--suexec-docroot=/home \
--suexec-logfile=/usr/local/apache/logs/cgi.log \
--suexec-uidmin=99 \
--suexec-gidmin=99 \
--suexec-safepath=/usr/local/bin:/usr/bin:/bin \
--enable-module=so \
--enable-module=rewrite \
--add-module=src/modules/extra/mod_gzip.c \
--enable-module=ssl
make
make install
Est ce que celà va me permètre d'éxecuter php en user au lieu de nobody?...
et si ce n'est pas le cas et que je doi me pencher pour un php en cgi (je suis pas trop pour en ce moment...j'aprend encore...vite, mais je ne me le sent pas encore) est ce que ceci serait ce que je cherche à faire?:

#!/bin/sh

# install PHP for cgi use
cd /home/ovh/src/php-4.3.9
perl -pi -e "s/cgi = 1;/cgi = 0;/" sapi/cgi/cgi_main.c
./configure \
--with-dbase \
--with-filepro \
--with-xml \
--enable-ftp \
--with-db \
--enable-bcmath \
--enable-calendar \
--with-jpeg-dir \
--with-png-dir \
--with-gd \
--enable-gd-native-ttf \
--with-freetype-dir \
--with-gettext \
--with-pgsql=/usr \
--with-mysql=/usr \
--with-zlib-dir \
--enable-trans-sid \
--with-imap \
--with-kerberos \
--with-imap-ssl \
--with-openssl \
--enable-sysvsem \
--enable-sysvshm
make
make install

# compile APACHE
cd /home/ovh/src/apache_1.3.31
./configure \
--prefix=/usr/local/apache \
--activate-module=src/modules/php4/libphp4.a \
--enable-suexec \
--suexec-caller=nobody \
--suexec-userdir=www \
--suexec-docroot=/home \
--suexec-logfile=/usr/local/apache/logs/cgi.log \
--suexec-uidmin=99 \
--suexec-gidmin=99 \
--suexec-safepath=/usr/local/bin:/usr/bin:/bin \
--enable-module=so \
--enable-module=rewrite \
--add-module=src/modules/extra/mod_gzip.c \
--enable-module=ssl
make
make install
Voilà... ouff!!... c'est tout...

Rodol
10/11/2004, 16h57
OVH écrivait :
sur ftp://ftp.ovh.net/made-in-ovh vous pouvez trouver les bouts des patchs pour modifier suexec.c

euhh.... où? ... comment ? ... je ne vois pas quel patch doit-on utiliser pour pouvoir utiliser les options citées au premier post...
quelqu'un saurait me dire de quel patch on parle là?

J'ai moi aussi des sérieux problème lié au faite que php passe en nobody et non user... et si je peux apliquer un patch pour résoudre celà... ça m'arrangerai, plutot que de passer en mode cgi
voilà


merci
@+

calexo
03/11/2004, 13h58
Malheureusement, cette solution ne me convient pas réellement...

shdck
03/11/2004, 12h04
J'avais essayé d'installer suexec au tout debut. Mais je n'avais pas réussi.

L'astuce de sioux que j'ai mis en place :
- dans la conf apache, j'ai mis l'utilisateur webuser/webuser à la place de nobody/nobody (webuser étant créé pour l'occasion)
- j'ai fait un chown -R sur les différents répertoires des virtualhosts.

Les scripts php tourneront désormais avec cet utilisateur.

A noter :
- Il faut modifier les virtualhosts pour qu'ils fonctionne sur celui-ci, sinon tu auras des erreurs 500 sur les cgi
- J'ai mis /home comme repertoire personnel de webuser, ca permet de n'avoir qu'un seule connection au ftp pour tous les sites.


Ceci dit c'est plus une ruse qu'une solution.

Mathieu

calexo
03/11/2004, 10h32
Salut,

J'ai appliqué le patch, recompilé apache et php, mis des droits u+x sur mes fichiers PHP, mais apparemment, PHP est toujours interprété par mod_php... (un top ne me montre pas de jobs avec l'utilisateur comme proprio....)
Que me manque t il ?

Merci !!

CalexO

OVH
13/02/2004, 19h14
sur ftp://ftp.ovh.net/made-in-ovh vous pouvez trouver les bouts des patchs pour modifier suexec.c

vilain_mamuth
13/02/2004, 14h54
salut,

par defaut, seul les cgi peuvent avoir les droit du user declaré dans le virtualhost

apparemment il existe un patch qui permet de faire de meme pour les fichiers php (ou autre)

est ce que qqun l'a installé, ca fonctionne bien?

le but etant d'eviter les fichiers créés par apache qui ont comme owner nobody car ca devient vite penible a gerer