Você pode determinar quais módulos do Apache foram usados e podem ser removidos?

18

Eu, como muitas pessoas, tenho uma instalação Apache relativamente simples com muitas linhas padrão "LoadModule".

Desde o início, eu instalei muitos softwares e, para ser honesto, não sei o que é software usar quais módulos.

Eu gostaria de reduzir o consumo de memória das minhas instâncias do Apache e, para fazer isso, gostaria de remover os módulos de serem usados. A única maneira que conheço para determinar se um módulo está em uso é removê-lo da configuração e ver se alguma coisa quebra. Isso é ruim em mais maneiras do que tenho tempo para descrever.

Gostaria de saber se alguém está ciente de uma maneira de obter o Apache para relatar quais módulos foram usados ou se há outra maneira de determinar programaticamente se um módulo é seguro para desconfigurar .

    
por Matt Simmons 28.10.2011 / 19:16

4 respostas

7

A maneira que fiz foi criar um servidor de teste, ler a documentação e começar de uma página em branco .

Os seguintes módulos são obrigatórios:

  • core
  • mod_authz_host
  • mod_auth_basic
  • mod_authn_file
  • mod_dir
  • mod_log_config
  • mod_mime

Depois, comentei todos os módulos restantes e reiniciei o Apache. Vai soar se algo quebrar, por exemplo:

Starting httpd: Syntax error on line 10 of /etc/httpd/conf.d/squid.conf:
Invalid command 'order', perhaps misspelled or defined by a module not included in the server configuration

Faça o mesmo com os outros módulos. Ao usar este método, aqui estão alguns módulos frequentemente não necessários:

  • mod_authn_alias
  • mod_authn_anon
  • mod_authn_dbm
  • mod_authn_default
  • mod_authz_user
  • mod_authz_owner
  • mod_authz_groupfile
  • mod_authz_dbm
  • mod_authz_default
  • mod_include
  • mod_logio
  • mod_ext_filter
  • mod_usertrack
  • mod_dav
  • mod_info
  • mod_dav_fs
  • mod_speling
  • mod_suexec
  • mod_cgi

Se você não estiver usando o LDAP para autenticação, isso pode ser desativado:

  • mod_ldap
  • mod_authnz_ldap

Os módulos abaixo devem ser considerados ao ativar:

  • mod_proxy
  • mod_proxy_balancer
  • mod_proxy_ftp
  • mod_proxy_http
  • mod_proxy_connect
  • mod_cache
  • mod_disk_cache
  • mod_file_cache
  • mod_mem_cache
por 29.10.2011 / 05:31
4

Um post anterior sugere desabilitar os módulos até que algo quebre. Embora isso seja definitivamente imprudente em um sistema de produção, a pessoa está no caminho certo, já que você precisará fazer testes de regressão de qualquer maneira.

Então, neste caso:

  1. Crie um servidor de teste idêntico ao que você está executando, certo até a configuração de sites
  2. Desativar um módulo.
  3. Realize o teste de regressão nos sites.
  4. Repita os passos 2 e 3 até que algo quebre ou termine com todos os módulos.
  5. Reabilite o módulo.
  6. Repita os passos 2 e 3.
  7. Com o apache recém-atualizado, execute um corte de configuração na configuração e reinicie o serviço do apache.
  8. Se falhar, reverta o banho de configuração, puxe os logs, analise e inicie a partir do passo 2 (ou passo 1, se necessário).

Essa é provavelmente a maneira mais fácil de simplificar a configuração do Apache. Caso contrário, você terá que procurar cada módulo, determinar sua funcionalidade e pesquisar nos sites para ver qual deles usa essa funcionalidade. Isso levaria muito mais tempo.

Alternativamente, isso pode lhe dar uma boa oportunidade de mudar para algo mais leve :

    
por 29.10.2011 / 04:39
0

Eu não tenho uma resposta direta à sua pergunta, mas há muitos pacotes 'pequenos' de AMP na Internet que, até onde eu sei, não incluem a maioria dos módulos pré-instalados. Então, eu começaria olhando para eles como referência de exemplo.

Esses dois links podem ajudar você a começar:

  1. link
  2. link
por 28.10.2011 / 23:36
0

Eu sei que você está perguntando sobre o Apache, mas devido às restrições de memória em seu sistema, você pode estar muito mais bem servido trocando o Apache por Nginx, Lighthttpd ou outros servidores da web de baixo footprint. O Apache é ótimo para suporte a módulos, mas muito com muita memória, comparado a servidores web mais jovens como Nginx, Lighthttpd, Cherokee, G-WAN, etc.

    
por 28.03.2015 / 11:16