Веб-сервер Apache построен по модульному принципу: управлять функциональностью Apache можно посредством добавления тех или иных модулей. Модули Apache могут быть:

  • статическими; 
  • динамическими.

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

Динамические модули существуют отдельно от основного кода веб-сервера и загружаются по необходимости.

Управление модулями Apache в Debian

Часть динамических модулей включена в официальный дистрибутив Apache. Они доступны для подключения сразу после установки веб-сервера. Для некоторых модулей требуется установить дополнительные пакеты. Это относится, например, к модулю php, для подключения которого требуется предварительная установка одноименного пакета.

Получить список статически скомпилированных модулей можно командой apache2 –l.

Полный перечень всех используемых в данный момент модулей Apache (как статических, так и динамических) можно вывести командой apache2ctl -M.

В общем случае для включения какого-либо динамического модуля Apache следует отредактировать главный конфигурационный файл apache2.conf (по умолчанию в Debian этот файл лежит в директории /etc/apache2) путем добавления строки LoadModule. Эта операция инициирует загрузку указанного модуля при старте веб-сервера. В зависимости от особенностей модуля, который требуется активировать, может понадобиться добавить и другие конфигурационные директивы. Этот способ прекрасно работает в Debian, однако существует специфический для Debian метод управления модулями Apache.

  • Утилита a2enmod служит для включения модулей. Например, команда a2enmod rewrite включает модуль rewrite.
  • a2dismod, соответственно, отключает модуль, переданный в аргументе команды. 

Команда a2enmod без параметров выводит список модулей, которые можно подключить. a2dismod без параметров показывает включенные в данный момент модули.

Чтобы применить настройки, выполненные с помощью a2enmod или a2dismod, требуется выполнить в командной строке service apache2 reload или же /etc/init.d/apache2 reload.

Если Вам нужен администратор web сервера - обращайтесь.