Com comprovar quins mòduls Apache estan habilitats/carregats a Linux


En aquesta guia, parlarem breument del front-end del servidor web Apache i de com llistar o comprovar quins mòduls Apache s'han habilitat al vostre servidor.

Apache està construït, basat en el principi de modularitat, d'aquesta manera, permet als administradors de servidors web afegir diferents mòduls per ampliar les seves funcionalitats principals i millorar també el rendiment d'apache.

Alguns dels mòduls habituals d'Apache inclouen:

  1. mod_ssl: que ofereix HTTPS per a Apache.
  2. mod_rewrite: permet fer coincidir patrons d'URL amb expressions regulars i realitzar una redirecció transparent mitjançant trucs .htaccess o aplicar una resposta de codi d'estat HTTP.
  3. mod_security: que us ofereix protegir Apache contra atacs de força bruta o DDoS.
  4. mod_status: que us permet controlar la càrrega del servidor web Apache i l'estàtica de la pàgina.

A Linux, l'ordre apachectl o apache2ctl s'utilitza per controlar la interfície del servidor HTTP Apache, és un front-end per a Apache.

Podeu mostrar la informació d'ús d'apache2ctl de la següent manera:

$ apache2ctl help
OR
$ 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 pot funcionar en dos modes possibles, un mode d'inici Sys V i un mode de pas. En el mode d'inici de SysV, apache2ctl pren ordres senzilles d'una paraula amb la forma següent:

$ apachectl command
OR
$ apache2ctl command

Per exemple, per iniciar Apache i comprovar-ne l'estat, executeu aquestes dues ordres amb privilegis d'usuari root utilitzant l'ordre sudo, en cas que sou un usuari normal:

$ sudo apache2ctl start
$ sudo apache2ctl status
[email  ~ $ 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
[email  ~ $ 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

I quan funciona en mode pass-through, apache2ctl pot prendre tots els arguments d'Apache amb la sintaxi següent:

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

Tots els arguments d'Apache es poden llistar de la següent manera:

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

Per tant, per comprovar quins mòduls estan habilitats al vostre servidor web Apache, executeu l'ordre aplicable a continuació per a la vostra distribució, on -t -D DUMP_MODULES és un argument d'Apache per mostrar tots els mòduls habilitats/carregats. :

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

Això és tot! en aquest senzill tutorial, hem explicat com utilitzar les eines de front-end d'Apache per llistar els mòduls d'apache habilitats/carregats. Tingueu en compte que podeu posar-vos en contacte mitjançant el formulari de comentaris que trobareu a continuació per enviar-nos les vostres preguntes o comentaris sobre aquesta guia.