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

Что такое Apache и где он используется

При создании сайта часто в первую очередь приобретается домен и хостинг (либо сервер). Однако кроме этого требуется веб-сервер — программное обеспечение, которое устанавливается на сервер и позволяет вашему сайту отображаться в интернете. В статье мы расскажем о популярной программе под названием Apache HTTP Server.

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

Для начала подробнее разберем понятие веб-сервера.

Веб-сервер — это программное обеспечение или оборудование, которое выступает посредником между пользователем и хостингом (хранилищем файлов запрашиваемого сайта).

Обычно схема работы веб-сервера включает в себя три этапа:

  1. Получение запроса от браузера.
  2. Поиск и подготовка информации для ответа.
  3. Передача ответа браузеру для дальнейшей обработки.

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

Чаще всего для создания веб-серверов используются:

  • Nginx — популярный веб-сервер от российских разработчиков,
  • Lighttpd — веб-сервер для скоростной работы с данными,
  • IIS — веб-сервер от Microsoft,
  • Apache HTTP Server — ниже мы расскажем о нем подробнее,
  • LiteSpeed Web Server — альтернатива Apache.

Источник: Shutterstock. Apache HTTP Server — одна из самых популярных программ для настройки веб-серверов

Что такое Apache

Apache Software Foundation — это организация-фонд, которая помогает развитию программ линейки Apache. В число поддерживаемых программ входит и Apache HTTP Server.

Apache HTTP Server — это свободное программное обеспечение, которое используется для создания веб-сервера. Чаще всего оно используется для крупномасштабных проектов и считается наиболее популярным среди всех веб-серверов. В повседневной жизни Apache HTTP Server часто называют просто Apache. Для удобства, далее в статье мы будем называть этот веб-сервер так же.

Усовершенствованием и поддержкой Apache занимается сообщество разработчиков. Кроме сообщества поддержку оказывает Apache Software Foundation — организация-фонд, которая помогает развитию программ линейки Apache.

Первоначальная версия Apache была разработана в 1995 году. Изначально она была предназначена для устранения ошибок сервера Всемирной паутины NCSA HTTPd 1.3. По этой причине название Apache получило ироничную расшифровку «a patchy», которая переводится с английского как «в заплатках».

По мере развития сети Интернет появилась новая версия Apache — 2.x (символом x обозначен номер ветки). На этом этапе программа была полностью переписана, а также из нее был удален код NCSA. Последний релиз веб-сервера Apache состоялся 17 июля 2024 года: в этот день была представлена версия 2.4.62.

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

Apache, как и любое другое программное обеспечение, имеет свои индивидуальные характеристики. Начнем с преимуществ:

  1. Открытый исходный код, благодаря которому можно бесплатно скачивать Apache и менять его функционал. Открытость кода позволяет создать большое количество уникальных конфигураций этого веб-сервера.
  2. Масштабируемость. Apache позволяет размещать несколько сайтов на одном виртуальном хостинге или VPS.
  3. Кроссплатформенность. Apache можно установить на большинство популярных операционных систем: Windows, macOS, а также ОС семейства Linux.
  4. Легкая настройка. Вы можете скорректировать настройки веб-сервера в любой момент. Если возникают трудности, поможет официальная документация.

Что касается недостатков, их всего два:

  1. Требовательность к ресурсам. Apache потребляет больше ресурсов в сравнении с другими веб-серверами. Поэтому когда к серверу поступает большое количество запросов, Apache может работать медленнее обычного.
  2. Уязвимости в сложных конфигурациях. Если к Apache подключено слишком большое количество модулей, конфигурация усложняется и появляются слабые места по части безопасности.

Обычно, чтобы сгладить слабые стороны Apache, его устанавливают в связке с другим веб-сервером. Зачастую таким «напарником» выступает Nginx — веб-сервер, который используется для создания обратного прокси и работы со статическим контентом. Например, на виртуальном хостинге Рег.ру настроена связка Apache+Nginx — это помогает сайтам работать максимально эффективно.

Источник: Shutterstock. Открытый исходный код Apache позволяет создавать уникальные конфигурации веб-сервера

Как устроен Apache

Ядро

Ядро — это центральный компонент веб-сервера Apache. Оно написано на языке C и может работать даже без модулей. Но в этом случае функционал будет ограничен.

Ядро Apache разрабатывает исключительно Apache Software Foundation, без участия сторонних программистов.

Конфигурация веб-сервера

Конфигурация Apache регулируется при помощи конфигурационных файлов текстового формата. Обычно используется два файла конфигурации:

  • httpd.conf — для управления параметрами веб-сервера и виртуальными хостами.
  • .htaccess — для управления настройками на уровне папки.

Многопроцессные модули

Для Apache создано большое количество MPM (Multi-Processing Module), которые реализуют модель симметричной многопроцессорности.

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

  1. PreFork позволяет запускать несколько изолированных процессов одновременно. При этом каждый отдельный запрос обрабатывается в пределах одного процесса.
  2. Worker создает большое количество потоков для каждого отдельно созданного процесса. В этом случае один запрос обслуживается одним потоком. Этот модуль помогает обработать больше запросов, чем PreFork.
  3. Event способен поддерживать несколько соединений одновременно. Это доступно благодаря тому, что модуль передает часть запросов вспомогательным модулям.

Настройка виртуальных хостов

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

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

Установка Apache

Установка Apache не отнимает много времени — часто она занимает несколько минут. Чтобы установить веб-сервер:

1. Подключитесь к серверу по протоколу SSH.

2. Обновите пакеты, поочередно выполнив команды:

3. Установите Apache:

После запуска команды введите пароль суперпользователя и нажмите Y, чтобы продолжить установку.

4. Откройте файл конфигурации:

5. Добавьте строку следующего вида:

Вместо domain.ru укажите ваше доменное имя.

Также в этой строке можно указать IP-адрес сервера. В этом случае строка будет иметь вид:

Вместо 123.123.123.123 необходимо указать IP-адрес вашего сервера.

Сохраните изменения при помощи сочетания клавиш Сtrl+O и закройте файл комбинацией Сtrl+X.

6. Проверьте синтаксис файла конфигурации:

Если файл настроен корректно, вы получите вывод с текстом Syntax OK.

7. Перезапустите Apache — так изменения вступят в силу:

Источник: Shutterstock. Для Apache создано большое количество модулей мультипроцессорной обработки

Настройка Apache

В качестве примера мы рассмотрим настройку модуля PreFork. Чтобы включить его:

1. Подключитесь к серверу по протоколу SSH.

2. Активируйте модуль, который вам нужен:

Вместо mpm_prefork укажите название необходимого модуля.

3. Отключите другие модули. Для этого поочередно выполните команды:

Вместо mpm_worker и mpm_event укажите названия модулей, которые вам не нужны.

4. Активируйте mod_rewrite:

5. Перезапустите Apache с помощью команды:

Мы описали историю создания Apache, схему его работы, а также процедуру установки и настройки. Помимо этого мы разобрали Apache с двух сторон: рассказали о преимуществах и недостатках.

Apache — это самый популярный веб-сервер. Однако выбирать такую программу необходимо под потребности вашего сайта или проекта: например, для сайтов на CMS или любых других ресурсов с преобладанием динамического контента.

УПД в бухгалтерии: когда один документ может заменить несколько

Многие предприниматели жалуются на сложный и слишком изобильный документооборот: много документов приходится оформлять. Но при этом российское законодательство дает возможность...
Read More

Что такое роялти, как их рассчитать и кому они выгодны

Чтобы легально пользоваться результатами чужого труда в своем бизнесе, нужно за это заплатить. И неважно, идет ли речь о дизайне...
Read More

Франшиза: что это, как работает и стоит ли начинать такой бизнес

Франшизы предоставляют предпринимателям возможность использовать популярные бренды, эффективные бизнес-модели и поддержку со стороны материнской компании. Но за эти привилегии придется...
Read More

Какие компании называют вендорами и как они работают

Некоторые компании сосредотачивают в своих руках и производственные мощности, и права на то, что на них производят, и репутацию, которой...
Read More

Обособленное подразделение: как открывать и ставить на учет части компании

У любой компании есть адрес, по которому она «прописана», то есть зарегистрирована в ЕГРЮЛ. Но склад и офис с бухгалтерами...
Read More

С какого возраста можно открыть ИП и как это правильно сделать

Подросток может заниматься бизнесом, но с учетом важных условий, прописанных в законе. Разбираемся, как несовершеннолетнему стать предпринимателем, что такое эмансипация,...
Read More

Коносамент — главный документ морских грузоперевозок

Ежедневно по морю перевозят десятки, а то и сотни тысяч контейнеров с грузами. Чтобы партия товара, изготовленная, например, в Китае,...
Read More

Лучшая система налогообложения для вашего бизнеса. Как выбрать?

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

Фискальный чек — что это, зачем нужен и что будет, если его не выдать

Кто-то выкидывает их сразу возле кассы, кто-то тщательно собирает, чтобы потом проанализировать траты за месяц, кто-то даже не забирает их...
Read More

Расчет заработной платы по окладу в 2024 году: как понять, сколько заработал сотрудник

Вряд ли будет преувеличением сказать, что для многих самое важное в работе — это цифры в сообщении о начислении зарплаты....
Read More