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

Módulos DSO

editar

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:

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