Os módulos do Apache servem para diversas utilizadades, tais como efetuar controle de banda, aumentar a segurança, gravar logs em bancos de dados, dentre muitas outras funcionalidades. Porém não basta apenas saber para que podemos utilizar os módulos, é preciso efetuar o gerenciamento dos mesmos, abaixo é exibida uma linha de comandos utilizando o utilizando o utilitário apachectl, que é um front-end para o Apache utilizado para facilitar seu gerenciamento:
host:~# apachectl -t -D DUMP_MODULES
Loaded Modules:
core_module (static)
log_config_module (static)
logio_module (static)
mpm_prefork_module (static)
http_module (static)
so_module (static)
alias_module (shared)
auth_basic_module (shared)
authn_file_module (shared)
authz_default_module (shared)
authz_groupfile_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
cgi_module (shared)
deflate_module (shared)
dir_module (shared)
env_module (shared)
log_sql_module (shared)
log_sql_ssl_module (shared)
mime_module (shared)
negotiation_module (shared)
perl_module (shared)
php5_module (shared)
reqtimeout_module (shared)
setenvif_module (shared)
status_module (shared)
unique_id_module (shared)
vhost_alias_module (shared)
Syntax OK
Como visto acima, o apachectl listou todos os módulos carregados no servidor utilizado neste teste e no final exibiu uma linha informando que a sintaxe está ok. Um dos mandamentos em segurança e desempenho de sistemas, é desabilitar qualquer funcionalidade que não esteja sendo executada, isso para que esta funcionalidade não consuma recursos de sistema e nao deixe brechas de segurança desconhecidas pelo administrador. Por exemplo, para desabilitarmos o módulo vhost_alias, podemos utilizar o comando a2dismod:
host:~# a2dismod vhost_alias_module
ERROR: Module vhost_alias_module does not exist!
yoda:~# a2dismod vhost_alias
Module vhost_alias disabled.
Run '/etc/init.d/apache2 restart' to activate new configuration!
Após desabilitar o módulo, é necessário reiniciar o Apache:
host:~# /etc/init.d/apache2 restart
Restarting web server: apache2 ... waiting .
O comando a2dismod é uma facilidade presente na distribuição Debian, da mesma que forma que podemos desabilitar um módulo com facilidades, podemos também habilitar com o comando a2enmod utilizando o mesmo procedimento realizado para desabilitar um módulo. Repare que os módulos são listados através do apachectl com uma palara “_module” ao final, para executar o procedimento de habilitar ou desabilitar módulos, deve ser digitado somente o nome do módulo como no exemplo anterior.