Установка, настройка и использование модулей Apache
Cloud Server, Linux | Комментировать запись
Что такое 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.
Данный модуль включается сразу после установки и будет оптимизировать контент после каждой перезагрузки сервера. Кроме того, в конфигурационном файле можно настроить различные дополнительные функции оптимизации и мониторинга сервера.
Подробные инструкции по работе с этим модулем ищите в статьях:
- Оптимизация работы сайта с помощью модуля mod_pagespeed в CentOS и Fedora
- Оптимизация работы сайта с помощью модуля mod_pagespeed в Ubuntu и Debian
Модуль 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: .htaccess, Apache, Cloud Server, Linux, mod_pagespeed, Mod_Rewrite, mod_security, mod_spamhaus, mod_status, Ubuntu 12.04