Guia do Linux/Avançado/Apache/Módulos DSO
Módulos DSO
editarOs módulos DSO permitem adicionar/remover características do Apache
sem necessidade de recompilar todo o servidor web, assim interrompendo o serviço para a atualização dos arquivos. Módulos de programas terceiros também podem ser compilados e adicionado sem problemas através deste recurso.
Os módulos são carregados para a memória no momento que o apache
é iniciado através da diretiva LoadModule no arquivo de configuração. Dessa forma, toda vez que um novo módulo for adicionado, removido ou alterado, será necessário reiniciar o servidor apache
. A sintaxe da linha para carregar módulos .so
é a seguinte:
LoadModule [nome_do_modulo] [caminho_do_arquivo_so]
- nome_do_modulo
- Especifica o nome do módulo, não deve conter espaços.
- caminho_do_arquivo_so
- Define a localização do arquivo que contém o módulo especificado. Por padrão os módulos estão localizados em
/usr/lib/apache/[versão]
A posição em que os módulos aparecem podem ter influência em seu funcionamento, alguns requerem que sejam especificados antes de outros módulos para funcionarem corretamente (como o módulo php3_module, que deve ser carregado antes de qualquer módulo de controle de CGI's). Leia a documentação específica sobe o módulo em caso de dúvidas, os módulos que acompanham o Apache
são documentados em detalhes no manual do Apache
.
Para usar uma característica/diretiva/opção do Apache
que dependa de um certo módulo, obviamente você deverá carregar o módulo correspondente (em caso de dúvidas, leia a documentação sobre o módulo). Veja a [#s-s-apache-exemplo-httpd httpd.conf, Seção 12.14.1] para exemplos do uso da diretiva LoadModule.
Por exemplo, se você quiser utilizar as diretivas de autorização (allow, deny, order) deverá ter o módulo mod_access carregado, para usar as diretivas de autorização (authname, authuserfile, authtype, etc) deverá ter o módulo mod_auth carregado. Mais detalhes podem ser encontrados em [#s-s-apache-acesso-restr-autor Autorização, Seção 12.7.1]. OBS1: O suporte a DSO atualmente só está disponível para plataforma UNIX
e seus derivados, como o Linux
.
Também é possível ativar certas diretivas verificando se o módulo correspondente estiver ou não carregado através da diretiva IfModule:
<IfModule mod_userdir.c> UserDir disabled root UserDir public_html </IfModule>
Nas linhas acima, as diretivas UserDir somente serão executadas se o módulo mod_userdir.c estiver carregado através da diretiva LoadModule.
Segue abaixo uma lista de módulos padrões que acompanham do Apache
, os módulos marcados com "*" são ativados por padrão:
- Criação de Ambiente
- *:* * mod_env - Ajusta variáveis de ambiente para scripts CGI/SSI
- * mod_setenvif - Ajusta variáveis de ambiente de acordo com cabeçalhos http
- mod_unique_id - Gera identificadores únicos para requisições
- Decisão de tipo de conteúdo de arquivos
- *:* * mod_mime - Determinação de tipo/encodificação do conteúdo (configurado)
- mod_mime_magic - Determinação de tipo/encodificação do conteúdo (automático)
- * mod_negotiation - Seleção de conteúdo baseado nos cabeçalhos "HTTP Accept*"
- Mapeamento de URL
- *:* * mod_alias - Tradução e redirecionamento de URL simples
- mod_rewrite - Tradução e redirecionamento de URL avançado
- * mod_userdir - Seleção de diretórios de recursos por nome de usuário
- mod_speling - Correção de URLs digitadas incorretamente
- mod_vhost_alias - Suporte para virtual hosts dinamicamente configurados em massa.
- Manipulação de Diretórios
- *:* * mod_dir - Manipulação de Diretório e arquivo padrão de diretório
- * mod_autoindex - Geração de índice automático de diretório
- Controle de Acesso
- *:* * mod_access - Controle de acesso por autorização (usuário, endereço, rede)
- * mod_auth - Autenticação HTTP básica (usuário, senha)
- mod_auth_dbm - Autenticação HTTP básica (através de arquivos NDBM do Unix)
- mod_auth_db - Autenticação HTTP básica (através de arquivos Berkeley-DB)
- mod_auth_anon - Autenticação HTTP básica para usuários no estilo anônimo
- mod_auth_digest - Autenticação MD5
- mod_digest - Autenticação HTTP Digest
- Respostas HTTP
- *:* mod_headers - Cabeçalhos de respostas HTTP (configurado)
- mod_cern_meta - Cabeçalhos de respostas HTTP (arquivos no estilo CERN)
- mod_expires - Respostas de expiração HTTP
- * mod_asis - Respostas HTTP em formato simples (raw)
- Scripts
- *:* * mod_include - Suporte a Includes no lado do servidor (SSI - Server Sides Includes)
- * mod_cgi - Suporte a CGI (Common Gateway Interface)
- * mod_actions - Mapeia scripts CGI para funcionarem como 'handlers' internos.
- Manipuladores de conteúdo Interno
- *:* * mod_status - Visualiza status do servidor em tempo de execução.
- mod_info - Visualiza sumário de configuração do servidor.
- Registros de Requisições
- *:* * mod_log_config - Registro de requisições personalizáveis
- mod_log_agent - Registro especializado do User-Agent HTTP (depreciado)
- mod_log_refer - Registro especializado do Referrer HTTP (depreciado)
- mod_usertrack - Registro de cliques de usuários através de Cookies HTTP
- Outros
- *:* * mod_imap - Suporte a Mapeamento de Imagem no lado do servidor.
- mod_proxy - Módulo de Cache do Proxy (HTTP, HTTPS, FTP).
- mod_so - Inicialização do Dynamic Shared Object (DSO)
- Experimental
- *:* mod_mmap_static - Cache de páginas frequentemente servidas via mmap()
- Desenvolvimento
- *:* mod_example - Demonstração da API do Apache (somente desenvolvedores)