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

Как установить, настроить и использовать модули на веб-сервере Apache


Статус: устарело

В этой статье рассматривается версия Ubuntu, которая больше не поддерживается. Если вы в настоящее время используете сервер под управлением Ubuntu 12.04, мы настоятельно рекомендуем обновить или перейти на поддерживаемую версию Ubuntu:

  • Обновите Ubuntu до версии 14.04.
  • Обновление Ubuntu 14.04 до Ubuntu 16.04
  • Перенесите данные сервера в поддерживаемую версию.

Причина:

См. вместо этого:

Что такое Апач?

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

В этом руководстве мы рассмотрим некоторые распространенные полезные модули, которые могут добавить функциональность и улучшить ваш опыт работы с Apache. Они могут помочь вам оптимизировать, защитить и контролировать ваш сервер.

Мы будем использовать Ubuntu 12.04 VPS для изучения этих модулей, но большинство дистрибутивов должны работать аналогичным образом. Обратитесь к документации вашего дистрибутива, чтобы узнать расположение файлов, специфичных для 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 в Ubuntu или Debian.

Модуль безопасности

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

Этот модуль находится в репозиториях 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
Open the configuration file with root privileges:
sudo nano modsecurity.conf

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

Когда вы будете готовы применить настройки, вы можете изменить правило \SecRuleEngine\ на \On\ вместо \DetectionOnly\:

#SecRuleEngine DetectionOnly
SecRuleEngine On

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

sudo service apache2 reload

Модуль состояния

Один из самых полезных и простых в настройке модулей предварительно устанавливается и настраивается при установке Apache в Ubuntu. Модуль mod_status предоставляет обзор нагрузки и запросов вашего сервера.

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

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

В директиве «Location/server-status» удалите символ «#» перед строкой «192.0.2.0/24» и добавьте IP-адрес компьютера, который вы будете использовать для доступа к вашей сети. сервер:

<Location /server-status>
	SetHandler server-status
	Order deny,allow
	Deny from all
	Allow from 127.0.0.1 ::1
	Allow from Your.IP.Address.Here
</Location>

Еще раз убедитесь, что введенный вами IP-адрес — это компьютер, который вы используете для доступа к серверу, а не IP-адрес сервера.

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

sudo service apache2 reload

Перейдите на страницу состояния сервера, которую вы определили, введя в веб-браузере следующее:

Server.IP.Address.Or.Domain.Name/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 позволяет вам блокировать злоумышленников, отклоняя запросы из черного списка 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. Это может предотвратить переполнение сервера этими IP-адресами.

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

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

sudo a2enmod mod-spamhaus
sudo service apache2 reload

Переписать модуль

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

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

sudo a2enmod rewrite
sudo service apache2 reload

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

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

Заключение

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

Имейте в виду, что с каждым фрагментом кода, который вы добавляете на сервер, существует вероятность того, что вы открываете уязвимости и создаете дополнительные накладные расходы. Старайтесь выбирать модули, которые хорошо протестированы и широко применяются. Включайте только те модули, которые активно необходимы для ваших сайтов.