Lighttpd chroot

From Help system
Jump to: navigation, search

Установка 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

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox