Trocando mod_php por mod_suphp no Apache

Atualmente mod_php e mod_suphp são as ferramentas mais populares para executar scripts PHP em um servidor Apache. Por padrão muitas distribuições usam como padrão em seus repositórios o mod_php e eventualmente você pode querer trocar pelo mod_suphp.

Como o suexec do Apache, suPHP é uma solução que permite que o PHP seja executado como o usuário e grupo ao qual pertence um determinado site em um servidor de hospedagem compartilhada. Isso garante uma maior segurança pois o suPHP somente executará scripts que o próprio usuário seja owner e que somente ele tenha acesso. Um caso comum são com scripts usando permissões 777 que não serão executados e retornarão erro 500 no processamento.

O suPHP consiste em dois componentes:

  1. mod_suphp, um módulo do Apache, que substitui mod_php
  2. suPHP, um binário setuid que substitui Apache suexec

A grande dica é que o suPHP somente roda se você estiver usando php-cgi no seu servidor. Isso evitará algumas mensagens de erro quando você estiver instalado o mod_suphp no seu Apache.

suPHP x modPHP

suPHP x modPHP

Erro no Apache: Client denied by server configuration

Você está lá, desenvolvendo numa boa e repentinamente decide criar um ou mais VirtualHosts para em vez de ficar acessando http://localhost/cliente_x/ poder acessar diretamente http://cliente_x/ e ter um ambiente de desenvolvimento mais organizado (e parecido com o servidor web) e o apache joga na sua cara Client denied by server configuration ou ainda um erro 403 no browser?

Simples, provavelmente na diretiva Directory você está bloqueando a si mesmo (sim, isto mesmo hehehe!)
Simplesmente insira algo parecido com o código abaixo no seu httpd.conf e reinicie o processo do Apache

<Directory c:\cliente_x\>
Allow from all
<Directory>