Interfice errorem, diligere errantem

Configurar o suPHP num CentOS

Num alojamento web típico, o servidor web corre numa conta separada dos utilizadores de sistema, no meu caso CentOS e Apache. Como tal, uploads são criados com base no utilizador apache retirando qualquer possibilidade de gestão manual dos uploads pelo administrador de domínio sendo necessário recorrer ao chmod 777 * . Como resolver isso? o módulo suPHP permite correr o interpretador PHP com base nas credenciais do administrador.

1. Fazer download do suPHP

Pode encontrar os respectivos RPM em

http://dag.wieers.com.

Para o CentOS 5:

http://dag.wieers.com/rpm/packages/mod_suphp/mod_suphp-0.6.2-1.el5.rf.x86_64.rpm

2. Verificar configuração do /etc/httpd/conf.d/suphp.conf

LoadModule suphp_module modules/mod_suphp.so
suPHP_Engine on
suPHP_ConfigPath /etc

3. Verificar configuração do ficheiro /etc/suphp.conf

umask=0022
x-httpd-php=php:/usr/bin/php-cgi

4. dar permissões 777 para /var/lib/php/session

Nota: Pode ser necessário limpar esta directoria pois alguns utilizadores podem ter alguma sessão activa e uma vez que o PHP em execução como utilizador e não como apache, este não poderá actualizar o ficheiro de sessão.

5. Activar o suPHP para um determinado domínio

<Directory /var/www/vhosts/<site>/httpdocs>
Acivação do suphp
php_admin_flag engine off
suPHP_Engine on
AddHandler x-httpd-php .php
suPHP_UserGroup <siteadmin> psacln
suPHP_AddHandler x-httpd-php
</Directory>

Nota: Gosto de ter um ficheiro de configuração por domínio, numa pasta separada. Basta adicionar no httpd.conf

Include /etc/httpd/<pasta separada>/*.conf

6. Finalmente, reiniciar o Apache

service httpd restart

APM

 

Deixe um comentário