Comecei a usar o suPHP recentemente e estou gastando uma quantidade incrível de tempo depurando as configurações e diferentes opções de compilação para obter algo que realmente funciona . Eu tentei entrar em contato com a equipe de desenvolvimento através de sua lista de discussão, mas é obviamente feito de fantasmas ...
Estou tentando usar o parâmetro chroot
, mas ele aciona um erro interno 500, que não consigo resolver.
Estou usando o DBD MySQL para a definição do 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>
Uma vez que o VirtualHost tenha definido o DocumentRoot, o suPHP deve aplicar um chroot adicional. Veja a seção relevante do meu /etc/suphp.conf
abaixo:
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
Os parâmetros chroot
não poderiam ser mais simples, mas o suPHP cospe:
Caused by SystemException in API_Linux.cpp:465: chdir() failed: No such file or directory
... quando faço uma solicitação para um script PHP. O suphp
log não contém nenhuma informação, esta linha vem do log de erros do Apache.
Alguém na Terra sabe como configurar esse horrível recurso chroot? Já passei por inúmeros fóruns e e-mails da listagem, mas ninguém deu uma resposta adequada (mesmo que esse recurso tenha sido corrigido por um número inacreditável de vezes). Ou talvez eu deva mudar para o suExec, esperando que ele ofereça resultados mais satisfatórios ...?