Apache2 - Como configurar as permissões do diretório da pasta do site?

1

Estou usando um CentOS para veicular páginas PHP.

Eu tenho vários sites dentro de "/ svr / www" ... Meu problema é que eu criei pastas como:

/svr/www/website1.com
/svr/www/website2.com

E essas pastas têm como usuário "root" usuário, e notei que o apache não pode criar novos arquivos dentro dessas pastas.

Eu tenho este erro no apache error.log:

[Sat Oct 22 17:50:44 2011] [error] [client xx.xxx.xxx.xxx] PHP Warning:  fopen(../index.htm): failed to open stream: Permission denied in /srv/www/site1.com/public/gne/gnerate.php on line 228
[Sat Oct 22 17:50:44 2011] [error] [client xx.xxx.xxx.xxx] PHP Warning:  fputs() expects parameter 1 to be resource, boolean given in /srv/www/site1.com/public/gne/gnerate.php on line 229
[Sat Oct 22 17:50:44 2011] [error] [client xx.xxx.xxx.xxx] PHP Warning:  fclose() expects parameter 1 to be resource, boolean given in /srv/www/site1.com/public/gne/gnerate.php on line 230

Minha pergunta é ... Qual é a maneira correta de configurar permissões em pastas que o apache precisa ler, escrever e executar?

Alguma pista sobre isso?

Atenciosamente,

    
por André 22.10.2011 / 18:21

3 respostas

3

Geralmente, seu servidor Apache deve ter acesso para ler qualquer coisa que eu deva ser atendida e as permissões de gravação devem ser estritamente limitadas a arquivos e pastas, que o aplicativo da Web precisa funcionar. Você nunca deve ter arquivos graváveis do mundo (por exemplo, 777).

Você pode configurá-lo para que seu próprio usuário possua os arquivos, mas o grupo apache tem a propriedade do grupo.

E, em seguida, atribua a si mesmo as permissões necessárias por meio do usuário e limite estritamente o servidor da web definindo permissões de grupo.

    
por 22.10.2011 / 19:02
0

1) Verifique sob qual usuário o Apache está rodando digitando

 ps -ef | grep httpd

2) Altere as permissões na pasta em que você deseja que o apache possa gravar (apenas essas pastas apenas para serem mais "seguras") 3) Todo o resto pode ter qualquer usuário / permissão que você goste, o importante é que o usuário do apache possa ler nesses diretórios (então eles devem ter pelo menos 755 para as pastas e 644 para os arquivos).

    
por 22.10.2011 / 19:37
-1

Apache e php são executados como o usuário apache . Para conceder permissões de leitura e gravação do Apache (e PHP), você deve primeiro alterar o proprietário dos arquivos com chown -R apache: /srv/www/* .

Você também deve garantir sua instalação do PHP. Aqui está um guia rápido e abrangente aqui: link . Você também pode dar uma olhada no link (arquivo PDF) - um pouco antigo, mas bom o suficiente para você começar assegurando o PHP.

    
por 22.10.2011 / 19:05