È 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.

  • Come posso bloccare l'accesso al mio sito web da determinati paesi utilizzando lo stack LAMP?
  • Apache directory sotto / var / www
  • come disabilitare i bilanciatori per impostazione predefinita
  • Limitare le connessioni simultanee per IP con Apache2
  • Apache mod_deflate non compressa file javascript e css?
  • Apache / Passeggero e cpulimit
  • 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 .

  • Comando Linux top. Utilizzo della memory
  • Utilizzando il risultato dell'offerta di iptables DROP, il socket CLOSE_WAIT non completerà mai?
  • Apache: ritorna 404 invece di 403 w / mod_access
  • Buona risorsa per chroot Apache2 su Debian
  • Apache 2.2, esponendo il server su localhost: 3000 all'esterno tramite ip.ip.ip.ip / cartella
  • Perché un gestore di allarme non si incendia in un process eseguito da un process php?
  • 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.