Documentation > Annexes

Chrooter le serveur

"Chrooter" un programme remplace le répertoire racine du processus en cours. Cette action est faite automatiquement par le serveur lorsque l'option Chroot est spécifiée dans la configuration. De plus, comme cette action nécessite les privilèges du super-utilisateur, il faut lancer le serveur en tant que root, et spécifier dans la configuration les droits de l'utilisateur que le processus possèdera après le chroot (options User et Group).

Exemple de configuration d'un server chrooté :
ListeningIP  = "0.0.0.0"
ServerName   = "domain.tld"

User         = "www-data"
Group        = "www-data"
Chroot       = "/var/www"         # le serveur est chrooté dans le répertoire /var/www

DocumentRoot = "/site"            # le répertoire est donné par rapport au répertoire du chroot
                                  # sur le système, le chemin est /var/www/site
ErrorLog     = "/log/error.log"   # pareil pour les fichiers de log
AccessLog    = "/log/access.log"


Installation de PHP en environnement chrooté

L'installation d'un programme dans un environnement chrooté nécessite quelques manipulations suplémentaires. Il faut en effet copier dans l'environnement les bibliothèques utilisées par le programme, ainsi que les fichiers nécessaires. Voici les manipulations à faire pour PHP :

Installation "normale" de php en tant que CGI sur le système (ici sous Debian GNU/Linux) :
# apt-get install php4-cgi

Copie du programme dans l'environnement chrooté (ici /var/www) :
# cd /var/www
# mkdir bin/
# mkdir lib/
# mkdir -p usr/lib/
# cp /usr/bin/php4-cgi bin/

Copie des les bibliothèques utilisées :
# for l in `ldd bin/php4-cgi | awk '{ print $3 }'`; do
cp "$l ./$l"
done

Copie du fichier de configuration :
# mkdir -p php4/cgi/
# cp /etc/php4/cgi/php.ini etc/php4/cgi/php.ini

PHP est maintenant installé sur le serveur, et l'ajout de ces lignes dans la configuration suivante permettra l'éxecution de scripts PHP :
Module = ("mod_cgi.so")
Handler = ("/bin/php4-cgi" => ".php")


Compiling, installing, starting and stopping, uninstalling

Server configuration

Modules configuration

How-to
SourceForge.net Logo