Поиск по сайту:

Как проверить, какие модули Apache включены/загружены в Linux


В этом руководстве мы кратко поговорим о интерфейсе веб-сервера Apache и о том, как составить список или проверить, какие модули Apache включены на вашем сервере.

Apache построен на основе принципа модульности, что позволяет администраторам веб-сервера добавлять различные модули для расширения его основных функций, а также повышения производительности Apache.

Рекомендуется к прочтению: 5 советов по повышению производительности вашего веб-сервера Apache

Некоторые из распространенных модулей Apache включают в себя:

  1. mod_ssl – который предлагает HTTPS для Apache.
  2. mod_rewrite – который позволяет сопоставлять шаблоны URL-адресов с регулярными выражениями и выполнять прозрачное перенаправление с использованием трюков .htaccess или применять ответ кода состояния HTTP.
  3. mod_security – который предлагает вам защитить Apache от брутфорса или DDoS-атак.
  4. mod_status – позволяет отслеживать загрузку веб-сервера Apache и статику страниц.

В Linux команда apachectl или apache2ctl используется для управления интерфейсом HTTP-сервера Apache. Это интерфейс Apache.

Вы можете отобразить информацию об использовании apache2ctl, как показано ниже:

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 может работать в двух возможных режимах: режиме инициализации Sys V и режиме сквозного. В режиме SysV init apache2ctl принимает простые команды, состоящие из одного слова, в форме ниже:

apachectl command
OR
apache2ctl command

Например, чтобы запустить Apache и проверить его статус, запустите эти две команды с привилегиями пользователя root, используя команду sudo, если вы обычный пользователь:

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

А при работе в режиме сквозной apache2ctl может принимать все аргументы Apache в следующем синтаксисе:

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

Все аргументы Apache можно перечислить следующим образом:

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

Проверьте включенные модули Apache

Поэтому, чтобы проверить, какие модули включены на вашем веб-сервере Apache, выполните приведенную ниже команду, соответствующую вашему дистрибутиву, где -t -D DUMP_MODULES — это аргумент Apache для отображения всех включенных/загруженных модулей. :

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

Вот и все! В этом простом руководстве мы объяснили, как использовать интерфейсные инструменты Apache для получения списка включенных/загруженных модулей Apache. Имейте в виду, что вы можете связаться с нами, используя форму обратной связи ниже, чтобы отправить нам свои вопросы или комментарии относительно этого руководства.