Установка, настройка и использование модулей Apache

Что такое Apache?

Apache – самый популярный веб-сервер, который обслуживает более половины активных сайтов в Интернете и отвечает потребностям больших и малых проектов.

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

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

Модуль PageSpeed

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

Бинарные файлы можно найти на веб-странице проекта для Ubuntu. Чтобы скачать файлы и установить их на 64-битную систему Ubuntu, введите следующую команду:

cd
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_amd64.deb
sudo dpkg -i mod-pagespeed-*.deb
sudo apt-get -f install
sudo service apache2 reload

Для 32-битной Ubuntu используйте:

cd
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.deb
sudo dpkg -i mod-pagespeed-*.deb
sudo apt-get -f install
sudo service apache2 reload

Конфигурационный файл находится в /etc/apache2/mods-available/pagespeed.conf.

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

Подробные инструкции по работе с этим модулем ищите в статьях:

Модуль Security

Модуль mod_security представляет собой настраиваемый уровень безопасности (security layer), который может принимать или отклонять трафик на основе правил, установленных администратором. Этот брандмауэр может скрыть уязвимости сервера от сети.

Данный модуль можно найти в репозитории Ubuntu по умолчанию; для его установки просто используйте:

sudo apt-get install libapache2-modsecurity

Для активации модуля используйте команду:

sudo a2enmod mod-security

Конфигурационный файл находится в каталоге /etc/apache2/mods-available и называется mod-security.conf, но он просто ссылается на файлы в /etct/modsecurity.

С помощью следующих команд можно толкнуть образец файла по умолчанию в производство:

cd /etc/modsecurity
sudo cp modsecurity.conf-recommended modsecurity.conf

Откройте конфигурационный файл с привилегиями root:

sudo nano modsecurity.conf

Прочитайте конфигурационный файл и отрегулируйте значения согласно потребностям сайта. Как правило, большинство настроек конфигурации по умолчанию в редактировании не нуждаются. Возможно, нужно установить большее значение для  SecRequestBodyLimit (значение по умолчанию – 128 KB).

Когда настройки будут готовы, измените значение SecRuleEngine (замените DetectionOnly на On):

#SecRuleEngine DetectionOnly
SecRuleEngine On

После этого все установленные правила будут применены на сайтах. В завершение нужно перезагрузить Apache, чтобы эти правила были активированы:

sudo service apache2 reload

Примечание: более подробную информацию о работе mod_security можно найти в этой статье.

Модуль Status

Это один из самых полезных и простых в настройке модулей, который предварительно устанавливается и настраивается во время установки Apache на Ubuntu. Модуль mod_status – это, по сути, обзор нагрузки на сервер и поступающих запросов.

Отредактировать конфигурационный файл (в каталоге mods-available) можно с помощью следующей команды:

sudo nano /etc/apache2/mods-available/status.conf

В этом файле нужно найти директиву Location /server-status, раскомментировать (убрать символ #) строку 192.0.2.0/24 и внести свой IP-адрес компьютера, который используется для входа на сервер (не IP сервера).

<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from 127.0.0.1 ::1
Allow from IP.Адрес
</Location>

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

sudo service apache2 reload

Перейдите на страницу server-status, введя в веб-браузер следующее:

IP.адрес.или.домен.сервера/server-status
Apache Server Status for 192.241.167.189
Server Version: Apache/2.2.22 (Ubuntu)
Server Built: Jul 12 2013 13:37:15
Current Time: Thursday, 08-Aug-2013 16:36:48 UTC
Restart Time: Thursday, 08-Aug-2013 16:04:59 UTC
Parent Server Generation: 2
Server uptime: 31 minutes 49 seconds
Total accesses: 3 - Total Traffic: 0 kB
CPU Usage: u0 s0 cu0 cs0
. . .

Браузер откроет страницу статистики, которая предоставит данные о производительности и нагрузке сервера в текстовом интерфейсе. Чтобы увидеть, как работает сервер, быстро обновите страницу.

Модуль Spamhaus

Модуль Spamhaus позволяет блокировать злоумышленников, сбрасывая запросы от заведомо опасных IP-адресов, внесенных в черный список.

Этот модуль также можно найти в репозитории Ubuntu по умолчанию. Установите его с помощью следующей команды:

sudo apt-get install libapache2-mod-spamhaus

Чтобы настроить модуль, откройте файл mod-spamhaus.conf в каталоге mods-available:

sudo nano /etc/apache2/mods-available/mod_spamhaus.conf

Данный модуль может фильтровать запросы на основе целого ряда различных критериев. Например, MS_METHODS проверяет IP, если клиент использует любой из методов HTTP. Это позволяет предотвратить возможные flood-атаки с таких IP-адресов.

Модуль также позволяет настроить белый список адресов, поддерживать локальную версию черного списка DNS и редактировать параметры кэша.

Модуль должен быть включен в установку; чтобы это проверить, перезагрузите Apache и включите фильтрацию при помощи команды:

sudo a2enmod mod-spamhaus
sudo service apache2 reload

Модуль Rewrite

mod_rewrite – один из самых полезных модулей Apache. Он позволяет создавать уникальные и легко читаемые URL-адреса для запрашиваемого контента.

Модуль устанавливается на Ubuntu по умолчанию при установке Apache, но он не включается автоматически. Чтобы исправить это, выполните следующую команду:

sudo a2enmod rewrite
sudo service apache2 reload

Конфигурирование mod_rewrite не выполняется в каталоге mods-available. Для этого модуль использует файлы .htaccess или же обычные конфигурационные файлы.

Полные детали конфигурации не входят в данную статью. Чтобы получить инструкции по работе с mod_rewrite, читайте эту статью.

Итоги

Конечно, это руководство не способно охватить полный список модулей Apache. Это всего лишь вводная статья, описывающая только некоторые основные модулей, доступные для изменения стандартного поведения Apache.

Имейте в виду: каждый внесенный на сервер блок кода может открыть уязвимости и повлечь за собой весьма плачевные последствия. Потому старайтесь устанавливать только хорошо проверенные и широко реализованные модули. Активируйте только необходимые сайту модули.

Tags: , , , , , , , , ,

Добавить комментарий