# Guia do Linux/Avançado/Apache/Módulos DSO
## Módulos DSO

Os 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:
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)