Nikita V. Youshchenko wrote:
#include <hello.h>
Есть такая ситуация.
Один из пользователей на машине держит себе сайт; для него прописан
соответствующий VirtualHost с DocumentRoot в подкаталоге домашнего
каталоге этого пользователя, и прописаны директивы User и Group. Ну и в
апаче включён suexec.
Апач не запускает скрипты; в suexec.log пишет, что command not in docroot.
Запуск /usr/lib/apache/suexec -V выдаёт среди прочего
-D DOC_ROOT="/var/www"
Естественно, скрипты в домашнем каталоге лежат вне /var/www.
Разрешить ситуацию как-то можно элементарно - например переместив сайт в
подкаталог /var/www.
Интересно, как разрешить ситуацию идеологически правильно? Писать wishlist
баг репорт, что хочется заставить suexec понимать DocumentRoot?
Ответ тебе будет RTFM, а там есть, что "suexec такой, какой он есть, в
целях максимальной безопасности, и если вы хотите чего-то особого то
пользуйтесь особыми средствами"
На своем хостинге я грязно патчил suexec. (в него еще много чего стоит
добавить для нормального хостинга. Например, позвать pam_limit)
По итогам решено дать каждому пользователю по своему апачу, в
chroot/jial. Так легче решаются многие вопросы, связанные с
безопасностью, "справедливым" распределением ресурсов сервера, учетом
трафика... При этом пользователю дается повышенная свобода в плане
конфигурирования сайта. А то, что на FS будет 100 JDK валяться... так
все равно каждые 10 будут своей уникальной версии, а винты сейчас
действительно большие.
--
Orehov Pasha