Estou usando corretamente a diretiva Options no Apache?

3

Estou tentando não listar nenhum arquivo quando tento acessar o diretório raiz pelo navegador e não há nenhuma página principal associada.

O que eu faço é ir ao arquivo apache2.conf no diretório /etc/apache2 e modificar esta linha:

Options Indexes FollowSymLinks 

para isso:

Options -Indexes

Então eu vou para o diretório /etc/apache2/mods-enabled e vou para o arquivo dir.conf no qual eu comento a seguinte linha:

#DirectoryIndex mainpage.html index.html ...

Depois disso, eu reinicio o Apache:

/etc/init.d/apache2 restart

e quando tento ir no meu navegador para o url localhost:81 (estou escutando na porta 81) aparece uma página com a seguinte mensagem:

Forbidden
You don't have permission to access / on this server.

Então, aqui tenho algumas perguntas :

  • Por que preciso remover FollowSymLinks quando uso -Indexes ? Se eu não fizer isso, um erro será exibido quando eu tentar reiniciar o Apache.

  • É normal que uma mensagem Forbidden apareça? Eu acho que deveria mostrar um diretório raiz vazio ao invés de uma mensagem Proibida.

Obrigado antecipadamente!

    
por Error404 14.01.2016 / 00:54

1 resposta

3
  

Por que preciso remover FollowSymLinks quando uso -Indexes ? Se eu não fizer isso, um erro será exibido quando eu tentar reiniciar o Apache.

Veja o erro que recebo quando faço isso:

* The apache2 configtest failed.
Output of config test was:
AH00526: Syntax error on line 165 of /etc/apache2/apache2.conf:
Either all Options must start with + or -, or no Option may.
Action 'configtest' failed.
The Apache error log may have more information.

O Apache está simplesmente reclamando que cada linha Opções pode ter apenas + opções ou - opções, não ambas .

Se você quiser usar os dois, divida-os em duas linhas, como esta:

Options FollowSymLinks
Options -Indexes

Quanto ao porquê, é provavelmente mais fácil analisar cada linha por si só. É assim que é projetado.

  

É normal que uma mensagem Forbidden apareça? Eu acho que deveria mostrar um diretório raiz vazio ao invés de uma mensagem Proibida.

É importante observar que +Indexes só entra em vigor se não houver uma declaração DirectoryIndex . Durante esse tempo, ele exibirá uma lista de arquivos (como this ), em oposição ao seu index.html ou o que for. Usando -Indexes , você está dizendo ao Apache para exibir um erro Proibido se nenhum DirectoryIndex for encontrado (ou, não está definido e nenhum index.html é encontrado).

    
por Kaz Wolfe 22.02.2016 / 05:39