Wéi kontrolléiert wéi eng Apache Moduler a Linux aktivéiert/gelueden sinn


An dësem Guide schwätze mir kuerz iwwer den Apache Webserver Front-End a wéi Dir oplëscht oder kontrolléiert wéi eng Apache Moduler op Ärem Server aktivéiert goufen.

Apache ass gebaut, baséiert op de Prinzip vun der Modularitéit, op dës Manéier erlaabt et Webserver Administrateuren verschidde Moduler derbäizesetzen fir seng primär Funktionalitéiten ze verlängeren an och d'Apache Leeschtung ze verbesseren.

E puer vun de gemeinsame Apache Moduler enthalen:

  1. mod_ssl - deen HTTPS fir Apache ubitt.
  2. mod_rewrite - wat et erlaabt URL Mustere mat reguläre Ausdréck ze passen, an eng transparent Viruleedung mat .htaccess Tricks auszeféieren, oder eng HTTP Statuscode Äntwert uwenden.
  3. mod_security - déi Iech bitt Apache géint Brute Force oder DDoS Attacken ze schützen.
  4. mod_status - dat erlaabt Iech Apache Webserver Belaaschtung a Säitstatik ze iwwerwaachen.

Am Linux gëtt den apachectl oder apache2ctl Kommando benotzt fir den Apache HTTP Server Interface ze kontrolléieren, et ass e Frontend zu Apache.

Dir kënnt d'Benotzungsinformatioun fir apache2ctl weisen wéi hei ënnen:

$ 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 kann an zwee méiglech Modi Funktioun, engem Sys V Init Modus an Duerchgäng Modus. Am SysV Init Modus hëlt apache2ctl einfach, ee-Wuert Kommandoen an der Form hei drënner:

$ apachectl command
OR
$ apache2ctl command

Zum Beispill, fir Apache ze starten a säi Status z'iwwerpréiwen, lafen dës zwee Kommandoen mat Root Benotzer Privilegien andeems Dir de sudo Kommando benotzt, am Fall wou Dir en normale Benotzer sidd:

$ 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 wann Dir am Pass-Through Modus operéiert, kann apache2ctl all Apache Argumenter an der folgender Syntax huelen:

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

All d'Apache-Argumenter kënne wéi follegt opgelëscht ginn:

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

Dofir, fir z'iwwerpréiwen, wéi eng Moduler op Ärem Apache Webserver ageschalt sinn, fuert de uwendbare Kommando hei ënnen fir Är Verdeelung, wou -t -D DUMP_MODULES en Apache-Argument ass fir all aktivéiert/gelueden Moduler ze weisen :

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

Dat ass alles! an dësem einfachen Tutorial hu mir erkläert wéi Dir d'Apache Front-End Tools benotzt fir aktivéiert/gelueden Apache Moduler ze lëschten. Denkt drun datt Dir a Kontakt kënnt mat dem Feedbackformular hei drënner fir eis Är Froen oder Kommentarer iwwer dëse Guide ze schécken.