E aí galera, quanto tempo que eu não posto nada aqui no meu blog, quase 1 ano.

Bom, firulas a parte, hoje queria deixar uma coisa que me quebrou muito a cabeça em um servidor compartilhado e, talvez, por burrice minha, ou falta de atenção, acabou passando despercebido e isso me custou bastante tempo para resolver o problema.

Fui subir uma aplicação desenvolvida em php a um servidor linux, e pra minha surpresa, toda vez dava um raio de um erro 500, e o projeto lá no meu pc, lindo e funcionando.

Depois de muito pesquisar, descobri que o “problema” era um tal de suPHP, que já ouvira falar mas nunca instalei/utilizei.

O mod_suphp, substitui o mod_php e assim, dizem, que aumenta a segurança, etc, etc, etc. Só que pra rodar esse mod tem um “porém”:

  • Suas pastas devem estar com permissão 755
  • Seus arquivos devem estar com permissão 644

“Tá”, mas e aí? E aí que eu subi geral com 755 e com esse módulo ativo, ele simplesmente te retorna um internal server error, “daí” você fica sem saber o que ocorreu, visto que eu não tinha acesso aos logs de erro.

Bom, mudei as permissões, e resolveu, simples assim.
Existe um comando que te auxilia no processo de alteração de permissão:
find /home/*/public_html -type d -exec chmod 755 {} \;
find /home/*/public_html -type f -exec chmod 644 {} \;
Basta trocar pelo caminho dos seus arquivos e resolver.
Outro problema que também pode gerar muito erro 500 em servidores apache é o tal do .htaccess com algum php_value ou php_flag, então fiquem sempre bem atentos a isso, e não deixem, assim como eu, passar um erro bobo tão despercebido e posteriormente ter tanta dor de cabeça!