Apache: Como usar módulos?

2

Como eu vejo no arquivo httpd.conf , alguns códigos precisam desses wrappers Directory , IfModule , Files , IfDefine , Location .. e alguns nada. Mas eu não entendo o que devo usar onde e por quê?

Por exemplo:

Como eu já vi alguns wrappers podem ter atributos como este, que devem se referir apenas à pasta /Applications/MAMP/htdocs :

<Directory "/Applications/MAMP/htdocs">
    Options All
    Order allow,deny
    Allow from all
</Directory>

Ao contrário disso:

<Directory />
    Options Indexes FollowSymLinks
    AllowOverride All
</Directory>

Esse wrapper sem um atributo talvez se refira a todos os diretórios.

Mas seria bom saber exatamente como eu posso gerenciar esses módulos, porque é confuso.

    
por Adam 22.05.2011 / 21:15

2 respostas

3

Realmente não há nenhum substituto para estar ciente do manual ao começar. As diretivas que você descreve acima são todas parte do Apache Core .

<Directory ...> </Directory> blocks aplica-se ao diretório do sistema de arquivos nomeado e seus subdiretórios. Sua instrução <Directory /> acima tem, de fato, um atributo - / , o que significa todo o sistema de arquivos. Observe que existem regras sobre como diferentes <Directory ...> bloqueiam a correspondência entre o mesmo diretório do sistema de arquivos ou parte do caminho que interage.

<Files ... > </Files> as diretivas aplicam-se aos arquivos correspondentes, por exemplo negar acesso a arquivos chamados config.php

<Files config.php>
     order allow,deny
     deny from all
</Files>

etc.

Diretiva de diretório Diretiva de arquivos Diretiva de localização Diretriz IfModule Diretiva IfDefine

    
por 22.05.2011 / 22:11
2

Elas são chamadas de "Diretivas" (não de wrappers) e o melhor lugar para aprender sobre elas é através da "Diretriz Rápida de Diretrizes" (que é o que todo mundo usa um pouco).

link

<Directory />
  Options Indexes FollowSymLinks
  AllowOverride All
</Directory>

This wrapper without an attribute maybe refers to all directories.

Não. Isso (/) refere-se ao diretório de nível superior da unidade em que o Apache está sendo executado.

Os efeitos disso, por outro lado, aplicam-se a todos os subdiretórios desse diretório, a menos que outro < Diretório ... > bloco sobrescreve essas configurações.

    
por 22.05.2011 / 22:45

Tags