È ansible determinare quali moduli Apache sono stati utilizzati e che possono essere rimossi?

Io, come molte persone, ho un'applicazione Apache relativamente fuori dal box con molte linee di default "LoadModule".

Fin dall'inizio ho installato un sacco di software e, per essere onesti, non so che software stia utilizzando i moduli.

  • Impostazione di Apache per l'utilizzo di più core
  • Qual è la logica dietro VirtualHost / NameVirtualHost
  • Compilare PHP5.4 per Apache (PHP5.3 già apt-get installato)
  • Certificato SSL che non mostra valori corretti? "SomeCity", "SomeState"
  • Utilizzando Squid come repository Maven
  • Vernice, Nginx, Apache, APC, Meteor, Cpanel e WordPress su un singolo server, qualsiasi bene?
  • Vorrei ridurre l'impronta di memory delle mie installazioni Apache e, per farlo, vorrei rimuovere i moduli da utilizzare. L'unico modo che conosco per determinare se un module è in uso è quello di rimuoverlo dalla configuration e vedere se si rompe qualcosa. Questo è male in più modi di quanto ho tempo per descrivere.

    Vorrei sapere se qualcuno è a conoscenza di un modo per get Apache per segnalare quali moduli sono stati usati o se esiste un altro modo per determinare in modo programmato se un module è sicuro da configurare .

  • spiegare lo stato apache
  • Qual è lo scopo di più utenti?
  • come aggiungere sito web in modo programmato in Linux VPS?
  • Errore di Apache SSL dopo il riavvio: errore 107 (net :: ERR_SSL_PROTOCOL_ERROR)
  • Nomi di dominio multipli sullo stesso server Apache
  • Quale configuration server di Apache devo mappare il nome della directory al dominio?
  • 4 Solutions collect form web for “È ansible determinare quali moduli Apache sono stati utilizzati e che possono essere rimossi?”

    Il modo in cui ho fatto è build un server di test, leggere la documentazione e iniziare da una pagina vuota.

    I seguenti moduli sono obbligatori:

    • nucleo
    • mod_authz_host
    • mod_auth_basic
    • mod_authn_file
    • mod_dir
    • mod_log_config
    • mod_mime

    Poi ho commentato tutti i moduli rimanenti e riavviato Apache. Suonerà se qualcosa rompe, per esempio:

    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 

    Fai lo stesso con gli altri moduli. Utilizzando questo metodo, qui sono alcuni moduli spesso non necessari:

    • 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 non si utilizza LDAP per l'authentication, questo può essere distriggersto:

    • mod_ldap
    • mod_authnz_ldap

    Quando si abilita, è necessario considerare i seguenti moduli:

    • 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

    Un precedente suggerisce di disabilitare i moduli finché non si rompe qualcosa. Mentre è decisamente sciocco in un sistema di produzione, la persona è la strada giusta, in quanto dovrai fare comunque test di regressione.

    Quindi in questo caso:

    1. Crea un server di test identico a quello in esecuzione, fino alla configuration dei siti
    2. Disabilita un module.
    3. Eseguire test di regressione sui siti.
    4. Ripetere i passaggi 2 e 3 finché qualcosa non viene interrotto o sei finito con tutti i moduli.
    5. Ritriggers il module.
    6. Ripetere i passaggi 2 e 3.
    7. Con il nuovo apache aggiornato, eseguire una configuration di flash-cut sulla configuration e riavviare il servizio apache.
    8. Se non riesce, riavviare il bagno di configuration, tirare i registri, analizzare e iniziare dal punto 2 (o passaggio 1 se necessario).

    Questo è probabilmente il modo più semplice per semplificare la configuration Apache. Altrimenti, dovrai guardare each module, determinare la funzionalità e cercare nei siti per vedere quale utilizzi questa funzionalità. Ci vorrebbe molto più a lungo.

    In alternativa, questo può darti una buona opportunità per passare a qualcosa di più leggero :

    Non ho una risposta diretta alla tua domanda, ma ci sono molti "piccoli" pacchetti AMP su Internet che, per quanto ne so, non includono la maggior parte dei moduli preinstallati. Quindi, vorrei iniziare a guardarli come esempio di riferimento.

    Questi due link potrebbero avere iniziato:

    1. http://en.wikipedia.org/wiki/List_of_Apache%E2%80%93MySQL%E2%80%93PHP_packages
    2. http://en.wikipedia.org/wiki/Comparison_of_WAMPs

    So che stai chiedendo di Apache, ma tenendo conto dei vincoli di memory sul tuo sistema, potrebbe essere molto meglio servirti di scambiare Apache per Nginx, Lighthttpd o altri server Web a basso costo. Apache è ottimo per il supporto dei moduli, ma è molto affamato rispetto ai server web più piccoli come Nginx, Lighthttpd, Cherokee, G-WAN, ecc.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.