Wyszukiwanie w witrynie

Jak sprawdzić, które moduły Apache są włączone/załadowane w systemie Linux


W tym przewodniku omówimy pokrótce interfejs serwera WWW Apache oraz sposób wyświetlania i sprawdzania, które moduły Apache zostały włączone na Twoim serwerze.

Apache jest zbudowany w oparciu o zasadę modułowości, dzięki czemu umożliwia administratorom serwerów internetowych dodawanie różnych modułów w celu rozszerzenia jego podstawowych funkcjonalności i zwiększenia wydajności Apache.

Sugerowana lektura: 5 wskazówek pozwalających zwiększyć wydajność serwera internetowego Apache

Niektóre z popularnych modułów Apache obejmują:

  1. mod_ssl – który oferuje HTTPS dla Apache.
  2. mod_rewrite – który umożliwia dopasowanie wzorców adresów URL do wyrażeń regularnych i wykonanie przejrzystego przekierowania przy użyciu trików .htaccess lub zastosowanie odpowiedzi z kodem stanu HTTP.
  3. mod_security – który oferuje ochronę Apache przed atakami Brute Force lub DDoS.
  4. mod_status – pozwala monitorować obciążenie serwera WWW Apache i statykę strony.

W systemie Linux polecenie apachectl lub apache2ctl służy do kontrolowania interfejsu serwera Apache HTTP i stanowi nakładkę na Apache.

Możesz wyświetlić informacje o użytkowaniu apache2ctl jak poniżej:

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 działać w dwóch możliwych trybach: trybie Sys V init i trybie przekazywania. W trybie Init SysV Apache2ctl wykonuje proste, jednowyrazowe polecenia w poniższej formie:

apachectl command
OR
apache2ctl command

Na przykład, aby uruchomić Apache i sprawdzić jego status, uruchom te dwie komendy z uprawnieniami użytkownika root, używając komendy sudo, jeśli jesteś zwykłym użytkownikiem:

sudo apache2ctl start
sudo apache2ctl 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

A podczas działania w trybie przekazywania apache2ctl może przyjąć wszystkie argumenty Apache w następującej składni:

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

Wszystkie argumenty Apache można wymienić w następujący sposób:

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

Sprawdź włączone moduły Apache

Dlatego, aby sprawdzić, które moduły są włączone na Twoim serwerze WWW Apache, uruchom poniższe polecenie odpowiednie dla Twojej dystrybucji, gdzie -t -D DUMP_MODULES to argument Apache pokazujący wszystkie włączone/załadowane moduły :

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

To wszystko! w tym prostym samouczku wyjaśniliśmy, jak używać narzędzi frontonu Apache do wyświetlania listy włączonych/załadowanych modułów Apache. Pamiętaj, że możesz skontaktować się z nami za pomocą poniższego formularza opinii, aby przesłać nam swoje pytania lub komentarze dotyczące tego przewodnika.