objetivo

Configurar o apache2 para funcionar com o módulo suphp

cenário

Sistema operacional: Debian Lenny 5.0

Pacotes instalados: apache2, php5, libapache2-mod-php5

procedimentos

instalando pacote

aptitude install libapache2-mod-suphp

desativando o módulo php5

a2dismod php5

habilitando o módulo suphp

a2enmod suphp

reinicie o apache2

invokerc.d apache2 restart

pronto, módulo ativado e funcionando!

configurando

Ao instalar o pacote veremos que o diretório /etc/suphp foi criado, dentro dele vamos encontrar o arquivo de configuração suphp.conf

vamos editar o aquivo suphp.conf e ajustar alguns parâmetros.

[global]
;Path to logfile
logfile=/var/log/suphp/suphp.log 

;Loglevel
loglevel=info

;User Apache is running as
webserver_user=www-data

;Path all scripts have to be in
docroot=/var/www:${HOME}/public_html

;Path to chroot() to before executing script
;chroot=/mychroot

; Security options
allow_file_group_writeable=true
allow_file_others_writeable=false
allow_directory_group_writeable=true
allow_directory_others_writeable=false

;Check wheter script is within DOCUMENT_ROOT
check_vhost_docroot=true

;Send minor error messages to browser
errors_to_browser=false

;PATH environment variable
env_path=/bin:/usr/bin

;Umask to set, specify in octal notation
umask=0077

; Minimum UID
min_uid=100

; Minimum GID
min_gid=100


[handlers]
;Handler for php-scripts
application/x-httpd-suphp="php:/usr/bin/php-cgi"

;Handler for CGI-scripts
x-suphp-cgi="execute:!self"

No meu caso eu apenas alterei os valores abaixo:

allow_file_group_writeable=true
allow_directory_group_writeable=true

Isso fez com o o script entedesse que tanto diretorio quanto arquivos devem permitir que o grupo dono possam gravar, isso se deve as minhas configurações de UMASK 002 que setam as permissões 775 para diretórios e 664 para arquivos, se você usa UMASK 022 provavelmente não precisará alterar isto.

testando

Vá ao seu diretório public_html e crie um arquivo chamado teste.php com o conteúdo abaixo

<? system( "id" ); ?>

ao entrar na página http://www.seusite.com.br/teste.php voce deve receber o seguinte resultado

uid=1000(usuario) gid=1000(usuario) groups=1000(usuario)

o que demonstra que a configuração de suphp funcionou, do contrário apareceria www-data.

referencias



apache2_usando_o_modulo_suphp.txt · Last modified: 2011/03/04 21:04 by gutocarvalho
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0