Apache básico
Esse artigo tem o intuito de explicar as seguintes funções básicas do servidor web Apache: instalação, inicialização, principais arquivos de configuração, checagem do arquivo de configuração, virtualhosts, ServerAlias e ModProxy.
Parte 3: httpd.conf (parte 2) - checkconf, módulos carregados, listagem de diretórios
Módulos no Apache
O Apache é um servidor modular, podemos verificar quais módulos estão carregados utilizando o seguinte comando:# apachectl -l
Permitir ou negar listagem de diretório
Se carregados os módulos mod_dir.so e mod_autoindex.so, o Apache pode listar os diretórios através do browser, similar a saída do comando "ls" do UNIX. É possível carregar essa opção ou negar para vhosts ou diretórios específicos.Por exemplo, no arquivo de configuração abaixo:
# Permite que os módulos de listagem de diretório sejam carregados:
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule dir_module modules/mod_dir.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
NameVirtualHost *:80
#Esse virtual host permite listagem de diretório:
<VirtualHost *:80>
DocumentRoot /var/www/veruska
ServerName www.veruska.com.br
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/veronica
ServerName www.veronica.com.br
#Esse virtual host não permite a listagem de diretório graças a opção -Indexes
<Directory /var/www/veronica>
Options -Indexes
</Directory>
</VirtualHost>
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule dir_module modules/mod_dir.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
NameVirtualHost *:80
#Esse virtual host permite listagem de diretório:
<VirtualHost *:80>
DocumentRoot /var/www/veruska
ServerName www.veruska.com.br
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/veronica
ServerName www.veronica.com.br
#Esse virtual host não permite a listagem de diretório graças a opção -Indexes
<Directory /var/www/veronica>
Options -Indexes
</Directory>
</VirtualHost>
Lembramos que a listagem de diretório é definida por diretório e não por virtualhost, sendo assim é possível ter a seguinte configuração por VirtualHost:
<VirtualHost *:80>
DocumentRoot /var/www/veronica
ServerName www.veronica.com.br
#Diretório dentro do VirtualHost sem listagem de diretório
<Directory /var/www/logs>
Options -Indexes
</Directory>
#Diretório dentro do VirtualHost com listagem de diretório
<Directory /var/www/download>
Options Indexes
</Directory>
</VirtualHost>
DocumentRoot /var/www/veronica
ServerName www.veronica.com.br
#Diretório dentro do VirtualHost sem listagem de diretório
<Directory /var/www/logs>
Options -Indexes
</Directory>
#Diretório dentro do VirtualHost com listagem de diretório
<Directory /var/www/download>
Options Indexes
</Directory>
</VirtualHost>