Что такое Apache

Сервер (как удаленный, так и локальный) не подходит для публикации сайта, пока он не настроен на работу с такими ресурсами. При аренде виртуального хостинга на это мало обращают внимания, потому что необходимые программы на нем предустановлены. Однако при переходе на виртуальные машины VPS/VDS приходится сталкиваться с необходимостью установки Apache и другого ПО.

Что такое веб-сервер?

Проще всего инсталлировать пакет, в котором имеется нужный перечень файлов. Например, LAMP. Он включает операционную систему Linux, веб-сервер Apache, СУБД MySQL и поддержку языка программирования PHP. Вместе они обеспечивают запуск кода CMS, выбранной темы и страниц у сайта. Если имеются модули на том же Python, то понадобится установить еще и его интерпретатор.

Что такое Apache

Но сейчас пойдет речь о веб-сервере Apache. Его особенности:

  1. Это свободное программное обеспечение, которое не требует покупки и продления лицензии.
  2. Веб-сервер выполняет запросы пользователей, поступающие из браузеров.
  3. Платформа одинаково совместима с любыми версиями Linux и Windows.
  4. Система Apache часто используется только в качестве Back-End веб-сервиса.
  5. «Внешней» частью Front-End сайта тогда управляет аналог – Nginx.

Такая связка позволяет добиться более высокой скорости, чем при последовательном исполнении кода. Распределение нагрузки делает незаметным запуск «тяжелых» модулей на JavaScript, PHP и других языках программирования. Настройка веб-сервера осуществляется через панель управления Plesk, cPanel или ISPmanager.

Платформа Apache входит в стандартный комплект поставки пакетов Denwer, LAMP и AMPPS (под Windows).

Принципы работы Apache

Веб-сервер Apache передает информацию через протокол HTTP/HTTPS. Это стандартный формат «общения» браузера с пользователем и/или сайтами. К передаваемым данным относится HTML-код страницы, изображения, мультимедиа и другие типы файлов. Веб-сервер обрабатывает запрос и дает либо ответ в виде контента, либо сообщение об ошибке, если запрошенная информация отсутствует.

Что такое Apache

При установке Apache на сервере распаковывается масса независимых модулей:

  1. pagespeed – отвечает за оптимизацию контента сайта, его программного кода;
  2. mod_security – обеспечивает безопасность, в частности, делает фильтрацию трафика;
  3. mod_status – применяется для мониторинга нагрузки на веб-сервер, подаваемых запросов;
  4. mod_rewrite – организует работу URL, редиректов (временных и постоянных).

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

Настройки и правила обработки запросов Apache хранит в текстовых файлах. Поэтому управлять ими легко изменением конфигурации, а фактически – редактированием (удалением или добавлением) строк и параметров в них. Основной конфигурационный файл называется httpd.conf или apache2.conf (зависит от операционной системы).

Виртуальные хосты Apache

Также в задачи веб-сервера входит выбор виртуального хоста, к которому обращается браузер. Это исходит из «нестыковки» – удаленный сервер имеет фиксированный IP-адрес, но на нем свободно размещаются десятки сайтов. Система распределяет входящие запросы при помощи функции Virtual Host, конфигурационные файлы которой описывают набор настроек для каждого сайта.

Особенности:

  1. Панель управления типа Plesk или ISPmanager конфигурирует веб-сервер автоматически.
  2. Владельцы-арендаторы виртуальных машин VPS/VDS настраивают их самостоятельно.

При отсутствии конфигурации под конкретный домен применяются стандартные опции, которые были у веб-сервера по умолчанию. Либо регулируются настройки, имеющие отношение к первому из перечня виртуальных хостов. Такое происходит, если к серверу обратились, например, по прямому IP-адресу или по адресу панели управления.

Apache и виртуальный хостинг

Мы рассмотрели, что такое web-сервер Apache и как он работает, теперь поговорим о его роли в сервисах виртуального хостинга. Некоторые провайдеры на одном статическом IP-адресе «вешают» по несколько десятков сайтов, даже принадлежащих разным пользователям. Каждый из них видит только свои (через панель управления), но технически они работают в едином пространстве.

Что такое Apache

Web-сервер Apache – это инструмент экономии серверных мощностей. Благодаря такому подходу удается получить довольно дешевые тарифы при достаточно больших объемах памяти и выделении 2-3 ядер процессоров. При настройке сайтов доступно использование директив Apache путем их размещения в файле .htaccess.

Apache на собственном сервере

При аренде виртуальных машин VDS/VPS или выделенного сервера выгоднее устанавливать пакет LAMP или подобные. Платформа при инсталляции самостоятельно внесет нужные настройки в файлы конфигурации, а пользователю останется лишь развернуть панель управления и сам сайт.

Отдельно Apache устанавливается командой:

# yum install httpd

или

#apt install apache2

Настройки – это тема для отдельной статьи. Чтобы избежать сложностей и гарантированно запустить сайт, лучше все-таки «поверх» установить панель управления и уже через нее вносить изменения в конфигурационные файлы. К тому же через нее легко инсталлировать нужные модули без знаний консольных команд Linux или Windows.

Безопасность работы Apache

Еще одна важная функция веб-сервера – обеспечивать безопасность. Это особенно актуально, когда на одном физическом сервере виртуального хостинга работает большое количество сайтов разных пользователей. Здесь важно изолировать их друг от друга и создать впечатление, что каждому из них выделен «отдельный сервер», поэтому заражение вирусом одного не повлияет на остальные.

Варианты обеспечения безопасности:

  1. Каждый сайт работает в собственной основной папке, где находятся все его файлы и никак не пересекаются с другими ресурсами.
  2. Веб-сервер использует систему прав доступа к файлам, предоставляемых Linux. Это дает возможность ограничивать пользователей в рамках собственных сайтов.

В отдельных случаях используется парольный доступ к конкретным каталогам, чтобы даже «свои» не могли зайти в них, если их роль в коллективе не предполагает возможности редактирования файлов. Как вариант, можно настроить управление доступом по IP-адресу, ключевым фразам или другим критериям.

Модуль перенаправления Mod_rewrite

Один из популярных служебных модулей – mod_rewrite. Он обеспечивает перенаправление запроса, если в браузер введен неправильный URL или ссылка на страницу была изменена при оптимизации сайта, например, под SEO. Настройка модуля осуществляется директивами через файл .htaccess конкретного сайта (обычно располагается в корне каталога).

Что такое Apache

Перенаправление работает между страницами, позволяет открывать документы или файлы иного типа и переводить пользователей на внешние адреса. Методика используется при обработке ошибок 404, когда вместо стандартной страницы, сообщающей об отсутствии адреса, открывается красивая и информативная.

Выводы

Преимущество Apache заключается и в поддержке практически любых языков программирования – PHP, Python, Perl, ASP, Ruby и других. Это позволяет экспериментировать с веб-ресурсами без каких-либо ограничений и развертывать не только сайты, а еще и CRM, складские программы или корпоративные порталы.

Ну и, конечно, пользователи ценят бесплатное распространение и кроссплатформенность системы. Функционал легко расширяется путем добавления нужных модулей. При этом старые не изменяются, а продолжают работать в прежнем режиме. Единственный недостаток этого веб-сервера заключается в высоких требованиях к объему оперативной памяти и мощности процессора.

Hosting2go.ru