Come controllare quali moduli Apache sono abilitati/caricati in Linux

In questo guide, vi parleremo brevemente del front-end del server web Apache e come elencare o controllare quali moduli Apache sono stati abilitati sul tuo server.

Apache è costruito sulla base del principio di modularità, consentendo così agli amministratori del server web di aggiungere diversi moduli per estendere le sue funzionalità primarie e migliorare le prestazioni di Apache.

Leggi anche: 5 Consigli per Incrementare le prestazioni del tuo Server Web Apache

Alcuni moduli Apache comuni includono:

  1. mod_ssl – che offre HTTPS per Apache.
  2. mod_rewrite – che consente di corrispondere ai pattern URL con espressioni regolari e di eseguire un reindirizzamento trasparente usando .htaccess trucchi o applicare una risposta con un codice di stato HTTP.
  3. mod_security – che ti consente di proteggere Apache da attacchi di Forza Bruta o DDoS.
  4. mod_status – che ti permette di monitorare il carico del server web Apache e le statistiche delle pagine.

In Linux, il comando apachectl o apache2ctl viene utilizzato per controllare l’interfaccia del server HTTP Apache, è un front-end per Apache.

Puoi visualizzare le informazioni sull’uso di apache2ctl come segue:

$ apache2ctl help
OR
$ apachectl help
apachectl help
Usage: /usr/sbin/httpd [-D name] [-d directory] [-f file]
                       [-C "directive"] [-c "directive"]
                       [-k start|restart|graceful|graceful-stop|stop]
                       [-v] [-V] [-h] [-l] [-L] [-t] [-S]
Options:
  -D name            : define a name for use in  directives
  -d directory       : specify an alternate initial ServerRoot
  -f file            : specify an alternate ServerConfigFile
  -C "directive"     : process directive before reading config files
  -c "directive"     : process directive after reading config files
  -e level           : show startup errors of level (see LogLevel)
  -E file            : log startup errors to file
  -v                 : show version number
  -V                 : show compile settings
  -h                 : list available command line options (this page)
  -l                 : list compiled in modules
  -L                 : list available configuration directives
  -t -D DUMP_VHOSTS  : show parsed settings (currently only vhost settings)
  -S                 : a synonym for -t -D DUMP_VHOSTS
  -t -D DUMP_MODULES : show all loaded modules 
  -M                 : a synonym for -t -D DUMP_MODULES
  -t                 : run syntax check for config files

apache2ctl può funzionare in due modalità possibili, una modalità init Sys V e la modalità pass-through. Nella modalità init SysV, apache2ctl accetta comandi semplici, monosillabici nel seguente formato:

$ apachectl command
OR
$ apache2ctl command

Ad esempio, per avviare Apache e controllarne lo stato, esegui questi due comandi con privilegi di root utilizzando il comando sudo, nel caso in cui tu sia un utente normale:

$ sudo apache2ctl start
$ sudo apache2ctl status
Check Apache Status
tecmint@TecMint ~ $ sudo apache2ctl start
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
httpd (pid 1456) already running
tecmint@TecMint ~ $ sudo apache2ctl status
Apache Server Status for localhost (via 127.0.0.1)

Server Version: Apache/2.4.18 (Ubuntu)
Server MPM: prefork
Server Built: 2016-07-14T12:32:26

-------------------------------------------------------------------------------

Current Time: Tuesday, 15-Nov-2016 11:47:28 IST
Restart Time: Tuesday, 15-Nov-2016 10:21:46 IST
Parent Server Config. Generation: 2
Parent Server MPM Generation: 1
Server uptime: 1 hour 25 minutes 41 seconds
Server load: 0.97 0.94 0.77
Total accesses: 2 - Total Traffic: 3 kB
CPU Usage: u0 s0 cu0 cs0
.000389 requests/sec - 0 B/second - 1536 B/request
1 requests currently being processed, 4 idle workers

__W__...........................................................
................................................................
......................

Scoreboard Key:
"_" Waiting for Connection, "S" Starting up, "R" Reading Request,
"W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
"C" Closing connection, "L" Logging, "G" Gracefully finishing,
"I" Idle cleanup of worker, "." Open slot with no current process

E quando si opera in modalità pass-through, apache2ctl può accettare tutti gli argomenti di Apache nel seguente sintassi:

$ apachectl [apache-argument]
$ apache2ctl [apache-argument]

Tutti gli argomenti di Apache possono essere elencati come segue:

$ apache2 help    [On Debian based systems]
$ httpd help      [On RHEL based systems]

Controlla i Moduli Apache Abilitati

Pertanto, per verificare quali moduli sono abilitati sul tuo server web Apache, esegui il comando applicabile per la tua distribuzione, dove -t -D DUMP_MODULES è un argomento di Apache per mostrare tutti i moduli abilitati/scaricati:

---------------  On Debian based systems --------------- 
$ apache2ctl -t -D DUMP_MODULES   
OR 
$ apache2ctl -M
---------------  On RHEL based systems --------------- 
$ apachectl -t -D DUMP_MODULES   
OR 
$ httpd -M
$ apache2ctl -M
List Apache Enabled Loaded Modules
[root@tecmint httpd]# apachectl -M
Loaded Modules:
 core_module (static)
 mpm_prefork_module (static)
 http_module (static)
 so_module (static)
 auth_basic_module (shared)
 auth_digest_module (shared)
 authn_file_module (shared)
 authn_alias_module (shared)
 authn_anon_module (shared)
 authn_dbm_module (shared)
 authn_default_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 authz_owner_module (shared)
 authz_groupfile_module (shared)
 authz_dbm_module (shared)
 authz_default_module (shared)
 ldap_module (shared)
 authnz_ldap_module (shared)
 include_module (shared)
....

Questo è tutto! In questo semplice tutorial, abbiamo spiegato come utilizzare gli strumenti front-end di Apache per elencare i moduli Apache abilitati/caricati. Tieni presente che puoi metterti in contatto utilizzando il modulo di feedback qui sotto per inviarci le tue domande o commenti riguardo a questa guida.

Source:
https://www.tecmint.com/check-apache-modules-enabled/