Подключение модуля mpm-itk к серверу Apache под Debian 9

После установки модуля Apache libapache2-mpm-itk на сервер под ОС Debian 9, модуль находится на диске сервера, но для его работы, его нужно подключить к Апачу. Данный модуль служит для того, чтобы запускать процессы Apache с правами того пользователя, который является владельцем файлов сайта (по сути, владельцем сайта). О том, как это включить этот модуль и как проверить то, что модуль действительно подключился, рассмотрим в этой статье.



Исходная картина настроек Apache с отключенным модулем mpm-itk

Для того, чтобы судить об изменениях в системе, нужно разобраться с её изначальными настройками. Поэтому посмотрим на версию установленного Apache для того, чтобы потом сравнить её с той, которая станет после включения модуля mpm-itk. Итак, имеем:

root@server:~# apachectl -V
Server version: Apache/2.4.25 (Debian)
Server built:   2019-04-02T19:05:13
Server's Module Magic Number: 20120211:68
Server loaded:  APR 1.5.2, APR-UTIL 1.5.4
Compiled using: APR 1.5.2, APR-UTIL 1.5.4
Architecture:   64-bit
Server MPM:     event
  threaded:     yes (fixed thread count)
    forked:     yes (variable process count)
Server compiled with....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/etc/apache2"
 -D SUEXEC_BIN="/usr/lib/apache2/suexec"
 -D DEFAULT_PIDLOG="/var/run/apache2.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="mime.types"
 -D SERVER_CONFIG_FILE="apache2.conf"

Как я уже обращал внимание в статье про установку Apache, его исходной конфигурацией MPM является event. Это видно по строке Server MPM: event в листинге выше.

Подключение модуля mpm-itk к серверу Apache под Debian 9

После установки модуля mpm-itk ничего не меняется, значит включим этот модуль вручную:

root@sever:~# a2enmod mpm_itk
Considering dependency mpm_prefork for mpm_itk:
Considering conflict mpm_event for mpm_prefork:
Considering conflict mpm_worker for mpm_prefork:
Module mpm_prefork already enabled
Module mpm_itk already enabled

Как видно, при акцивации модуля mpm-itk вышел конфликт с mpm_event и mpm_worker и была подключена конфигурация MPM mpm_prefork for mpm_itk.

Перезагрузим Апач:

root@server:~# apachectl restart

Новая конфигурация Apache с включенным модулем mpm-itk

Убедимся в том, что при подключении модуля mpm-itk произошла смена конфигурация MPM с event на prefork:

root@server:~# apachectl -V
Server version: Apache/2.4.25 (Debian)
Server built:   2019-04-02T19:05:13
Server's Module Magic Number: 20120211:68
Server loaded:  APR 1.5.2, APR-UTIL 1.5.4
Compiled using: APR 1.5.2, APR-UTIL 1.5.4
Architecture:   64-bit
Server MPM:     prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/etc/apache2"
 -D SUEXEC_BIN="/usr/lib/apache2/suexec"
 -D DEFAULT_PIDLOG="/var/run/apache2.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="mime.types"
 -D SERVER_CONFIG_FILE="apache2.conf"

Резюме

Таким образом происходит подключение модуля mpm-itk к серверу Apache под Debian 9 со всеми вытекающими последствиями и автоматической сменой конфигурации MPM этого WEB-сервера.

Отследить, что Apache запускается теперь под пользователем www-data, можно посмотрев на список запущенных процессов с помощью команды top. После настройки виртуальных хостов, надо будет ещё раз проверить, соответствует ли имя пользователя, под которым запущен процесс с пользователем, прописанным в конфиге виртуального хоста.

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню