Lighttpd chroot
From Help system
Установка lighttpd в chroot
Ставим lighttpd в chroot в /var/www
Предполагается, что lighttpd уже скомпилирован и установлен в /usr/local/lighttpd
Чтобы наш web сервер работал, к тому же с SSL, php и сетью (резолв адресов), нужно скопировать некоторые файлы и библиотеки.
ldd /usr/local/lighttpd/sbin/lighttpd ldd /usr/local/lighttpd/lib/*.so ldd /usr/local/php/bin/php
Это покажет библиотеки, которые нужно скопировать в chroot, т.е.в /var/www
Не забываем сначала создать все необходимые папки:
mkdir -p /var/www/{bin,dev,etc,lib,tmp,usr/bin,usr/lib,lib/tls}
Кроме этого, нужно скопировать следующие файлы:
cp /lib/libns1* /var/www/lib/
cp /lib/libnss_* /var/www/lib/
cp -p /etc/{nsswitch.conf,localtime,resolv.conf,hosts,services} /var/www/etc/
mknod /var/www/dev/urandom c 1 9
Предположим, что все в chroot у нас будет работать от пользователя www. Получем строку о данном пользователе и группе из /etc/passwd и /etc/group и копируем в соответствующие файлы в chroot. Все завершаем финальным:
chown -R www:www /var/www
и перезагружаем lighttpd.
В случае работы с 64bit OS все /lib меняем на /lib64
