Passenger reclama sobre as permissões do Apache apesar do 777

1

Eu instalei o Redmine no Fedora 18. A instalação funciona quando testado com o webrick, como explicado no guia oficial .

Agora eu quero usar o Passenger e o Apache para hospedar o Redmine. O que eu recebo é:

Passenger error #2 An error occurred while trying to access '/var/www/redmine/config/environment.rb': Cannot stat '/var/www/redmine/config/environment.rb': Permission denied (errno=13)

Apache doesn't have read permissions to that file. Please fix the relevant file permissions.

Após várias tentativas mal-sucedidas de resolver o problema, dei a propriedade de todo o diretório /var/www/redmine incluindo o conteúdo para o usuário do apache e alterou as permissões recursivamente para o 777. Eu sued para o usuário apache e poderia abrir e stat o arquivo environment.rb sem qualquer problema. Então eu acho que não é um problema de permissão, afinal de contas, mas diante dessa mensagem de erro explícita, estou sem ideias.

Qual poderia ser o problema aqui, e alguma idéia de como corrigi-lo (de preferência uma solução que me permite alterar as permissões de volta para um valor sensato)?

notas de rodapé :

  • Isso possivelmente está relacionado a esta questão .
  • Eu não esqueci de reiniciar o apache depois de alterar as permissões.
  • Estou executando a versão 2.4.4-2.fc18 do httpd, versão 4.0.4 do Redução de Phusion Passenger 2.3.1.
por rumtscho 28.05.2013 / 20:46

1 resposta

1

Eu tinha esquecido que o Fedora tem o SELinux habilitado por padrão. Desligar o SELinux removeu o erro.

Como apontado pela dawud, desligar o SELinux não deve ser considerado uma solução - ao contrário, o SELinux deve ser configurado para permitir que o Apache use os arquivos.

A solução rápida era executar restorecon no diretório em questão. Isso define o contexto de segurança para o tipo esperado do diretório pai. Meus arquivos estavam em um subdiretório de / var / www, eles foram configurados para httpd_sys_content_t, e o Apache teve permissão para acessá-los. Se eles estivessem em outro lugar, eu teria que mudar o tipo manualmente.

Depois de resolver o problema do SELinux, as permissões de arquivo podem ser chmoded de volta ao nível usual sem mais problemas.

    
por 28.05.2013 / 21:59