Comment redéfinir "rapidement" la configuration "AP_DOC_ROOT=/var/www" de suexec.
Pour ceux qui ont leurs site dans un autre dossier que celui par défaut /var/www (ex: /home/<user>/www)
Et qui ont certaines erreurs de ce genre dans leurs logs:
suexec policy violation: see suexec log for more details
command not in docroot (/home/user/cgi-bin/php-cgi)
Testé sur Ubuntu Hardy LTS en mode serveur.
/usr/lib/apache2/suexec -V -D AP_DOC_ROOT="/home" -D AP_GID_MIN=100 -D AP_HTTPD_USER="www-data" -D AP_LOG_EXEC="/var/log/apache2/suexec.log" -D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin" -D AP_UID_MIN=100 -D AP_USERDIR_SUFFIX="www"
Installez les paquets suivants.
apt-get install fakeroot build-essential devscripts apt-get source apache2 apt-get build-dep apache2
cd /usr/src/apache2-2.2.8
nano debian/rules
--with-suexec-docroot=/var/www
--with-suexec-docroot=/home
Pour éviter d'avoir la version d'origine de ubuntu a chaque apt-get update && apt-get upgrade
dch -U -i
Modifier comme suis, puis enregistrez
Faite bien attention de garder la première partie de la version (ici "2.2.8-1ubuntu0.3")
apache2 (2.2.8-1ubuntu0.3perso1) hardy; urgency=low * suexec docroot: /home -- root <root@email.domain> Fri, 23 Jan 2009 19:09:09 +0100 apache2 (2.2.8-1ubuntu0.3) hardy-proposed; urgency=low * debian/config-dir/mods-available/disk_cache.conf: Don't enable caching of the root URL by default when disk_cache is enabled. (LP: #219914).
Pour compiler le tout, une simple commande:
dpkg-buildpackage
Arriver là vous pouvez aller vous faire un café, ça va prendre un certain temps.
Dans le répertoire parent, vous trouverez tous les .deb
cd /usr/src/
Pour l'installer avec le mpm worker:
dpkg -i apache2-mpm-worker_*.deb apache2_*.deb apache2.*.deb apache2-utils_*.deb
Sous root, les commandes suivantes:
chmod 4755 /usr/lib/apache2/suexec /etc/init.d/apache2 restart
Contributeurs : Alex10336,