suPHP: правильное использование функции chroot

Недавно я начал использовать suPHP, и я трачу огромное количество времени на отладку конфигураций и различных параметров компиляции, чтобы get что-то, что действительно работает . Я пробовал связаться с командой разработчиков через их list рассылки, но это, очеviewно, сделано из призраков …

Я пытаюсь использовать параметр chroot , но он вызывает 500 внутренних ошибок, которые я просто не могу решить.

Я использую DBD MySQL для определения DocumentRoot:

 <VirtualHost *:80> ServerName * DBDriver mysql DBDParams <params> DBDocRoot "SELECT document_root FROM domains WHERE name=%s" HOSTNAME suPHP_Engine on AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml suPHP_AddHandler application/x-httpd-php </VirtualHost> 

Как только VirtualHost установит DocumentRoot, suPHP должен использовать дополнительный chroot. См. Соответствующий раздел моего /etc/suphp.conf ниже:

 docroot=${HOME} chroot=${HOME} allow_file_group_writeable=false allow_file_others_writeable=false allow_directory_group_writeable=false allow_directory_others_writeable=false check_vhost_docroot=false 

Параметры chroot не могли быть проще, но suPHP плюет:

 Caused by SystemException in API_Linux.cpp:465: chdir() failed: No such file or directory 

… когда я делаю request на PHP-скрипт. Журнал suphp не содержит никакой информации, эта string исходит из журнала ошибок Apache.

Кто- нибудь на Земле на самом деле сейчас, как настроить эту ужасную функцию chroot? Я прошел через бесчисленные форумы и письма из списка, но никто не дал правильного ответа (хотя эта function была исправлена ​​невероятно много раз). Или, может быть, я должен переkeyиться на suExec, надеясь, что это принесет более удовлетворительные результаты …?

One Solution collect form web for “suPHP: правильное использование функции chroot”

Ваша проблема вызвана тем, что вы не понимаете, как работает chroot. После того, как вы chroot в / home / user, это новый корень, и пути «относительны» к нему. Итак, если у вас есть ваши fileы в / home / user / public_html и вы хотите chroot to / home / user, тогда chdir должен быть / public_html, а корневой file fastcgi будет таким же (/ public_html).

Технически невозможно, чтобы suPHP запускал chroot в более отдаленной точке на пути к запуску processа.

  • suPHP и Apache DBD: изменение только GID
  • возможно ли остановить других пользователей от просмотра fileов других домашних directoryов?
  • Apache, suexec, PHP, suPHP
  • Безопасность / Разрешения при доступе нескольких websiteов к одному directoryу: SuPHP
  • php4 и php5 вместе, то же расширение, ограничить 4 в папку
  • Запуск phpmyadmin и suphp
  • Переопределить parameters PHP с помощью .htaccess, работы DSO (suPHP не делает)
  • Установка permissions по умолчанию для вновь созданных fileов / папок
  • Защита php от общего апача
  • ChrootDirectory для пользователя SFTP в directoryе виртуального хоста с разрешениями на запись и SuPHP
  • Есть ли способ get opcache на php 5.6, работающем с CloudLinux?
  • Interesting Posts