Kako provjeriti koji su Apache moduli omogućeni/učitani u Linuxu


U ovom ćemo vodiču ukratko razgovarati o prednjem dijelu web-poslužitelja Apache i kako navesti ili provjeriti koji su Apache-ovi moduli omogućeni na vašem poslužitelju.

Apache je izgrađen, zasnovan na principu modularnosti, na ovaj način omogućava administratorima web poslužitelja da dodaju različite module kako bi proširili svoje primarne funkcionalnosti i poboljšali performanse apachea.

Neki od uobičajenih Apache modula uključuju:

  1. mod_ssl - koji nudi HTTPS za Apache.
  2. mod_rewrite - koji omogućuje podudaranje url obrazaca s regularnim izrazima i izvođenje transparentnog preusmjeravanja pomoću trikova .htaccess ili primjenu odgovora HTTP statusnog koda.
  3. mod_security - koji vam nudi zaštitu Apachea od Brute Forcea ili DDoS napada.
  4. mod_status - koji vam omogućuje praćenje opterećenja web stranica Apache i statike stranica.

U Linuxu se naredba apachectl ili apache2ctl koristi za upravljanje sučeljem Apache HTTP poslužitelja, ona je prednji kraj Apachea.

Informacije o upotrebi apache2ctl možete prikazati na sljedeći način:

$ 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 može funkcionirati u dva moguća načina, inicijalnom načinu rada Sys V i prolaznom načinu rada. U načinu pokretanja SysV, apache2ctl uzima jednostavne naredbe od jedne riječi u donjem obliku:

$ apachectl command
OR
$ apache2ctl command

Na primjer, da biste pokrenuli Apache i provjerili njegov status, pokrenite ove dvije naredbe s privilegijama korijenskog korisnika korištenjem sudo naredbe, u slučaju da ste normalan korisnik:

$ 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

A kada radi u prolaznom načinu, apache2ctl može uzeti sve Apache argumente u sljedećoj sintaksi:

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

Svi Apache-argumenti mogu se navesti na sljedeći način:

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

Stoga, da biste provjerili koji su moduli omogućeni na vašem web poslužitelju Apache, pokrenite primjenjivu naredbu dolje za svoju distribuciju, gdje je -t -D DUMP_MODULES Apache-argument za prikaz svih omogućenih/učitanih modula :

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

To je sve! u ovom jednostavnom vodiču objasnili smo kako koristiti Apache front-end alate za popis omogućenih/učitanih apache modula. Imajte na umu da nas možete kontaktirati pomoću obrasca za povratne informacije u nastavku da biste nam poslali svoja pitanja ili komentare u vezi s ovim vodičem.