Администрирование Linux
  • Введение в дисциплину
    • Функции, права и ответственность системного администратор
    • Сетевые операционные системы
    • Знакомство с Linux
    • Дистрибутивы Linux
    • Графические оболочки Linux
    • Важно! Основы работы с ВМ!
    • Установка Linux
    • Запуск и останов системы
    • Общие сведения о работе в командной оболочке Linux
      • Документация по ОС Linux
      • Сокращения команд
      • Работа с потоком данных и его фильтрация
      • Выполнение команд. Простейшие команды для работы с каталогами
    • Требования к практическим работам
      • Правила оформления и сдачи отчётов
    • Контрольная работа
    • Практическая работа №1
  • Базовые задачи
    • Работа с пользователями в Linux
      • Редактирование файла Sudoers
      • /etc/passwd и /etc/shadow
      • Права доступа
      • Списки контроля доступа и расширенные атрибуты
      • Практическая работа №2. Управление учетными записями
      • Практическая работа №3. Управление правами доступа
    • Установка программ (утилит) пакетным менеджером
      • Установка программ (утилит) пакетным менеджером. Установка из архивов (тарболов)
      • Troubeshooting пакетных менеджеров
      • Практическая работа №4. Установка программ в Linux
    • Процессы и потребление ресурсов сервера
      • Процессы и потребление ресурсов сервера. Практика
      • Мониторинг процессов и ресурсов в ОС Linux
      • Система инициализации SystemD
      • Практическая работа №5
    • Контрольная работа
  • Управление файлами
    • Структура файловой системы Linux
      • Файлы-устройства
      • Типы файлов (MIME)
      • Сведения об именах файлов
    • Файловые менеджеры Linux
    • Работа с файлами и каталогами в Linux
      • Поиск информации в ОС Linux (find,grep,locate,wc, cut ...)
    • Архивирование файлов в Linux
    • Ссылки. Указатели на файл в ОС Linux
    • Создание раздела диска в Linux
      • Монтирование и разметка диска. Просмотр размера диска
    • Запись cd/dvd дисков в Linux
    • Практическая работа №6. Работа с файлами в UNIX
    • Контрольная работа
  • Сетевые настройки Linux
    • Сетевые настройки Linux
      • Вариант № 1. Сетевые настройки дистрибутивов, основанных на Debian (Astra Linux, Ubuntu, Kubuntu)
      • Вариант № 2. RedHat-based дистрибутивы ( RedOS, OpenSuse, CentOS, Fedora)
    • Настройка параметров прокси
    • Поиск и устранение неисправностей с сетевыми параметрами
      • 11 примеров использования netstat
      • Использование команд ifup, ifdown и ifquery на Linux
    • Практическая работа №7. Управление сетью
    • Iptables, firewalld, ufw, nftables
    • Расчет сети с помощью ipcalc
    • Контрольная работа
  • Сервисы Linux
    • Получение удаленного доступа к сервер
      • Про SSH port forwarding в Linux
    • Протокол DHCP
      • Настройка DHCP сервера (isc-dhcp-server)
    • Протокол DNS
      • Настройка DNS сервера (BIND9)
    • Протокол NTP
      • Настройка NTP сервера
    • Протокол FTP
      • Настройка FTP-сервера (vsftpd)
    • Протокол samba
      • Настройка Samba
    • Сетевая файловая система NFS
      • Настройка NFS
    • Настройка центра сертификации OpenSSL
    • Системы управления базами данных
      • Установка и настройка СУБД MySQL
      • Установка и настройка СУБД MongoDB
    • Веб-сервер
      • Apache
        • Установка и настройка стека LAMP
        • Установка и настройка PHPMyAdmin
        • Установка и настройка Wordpress
      • Nginx
        • Установка и настройка Nginx
    • Docker
      • Установка и развертывание приложения в Docker
    • Почтовый сервер Postfix, Dovecot
    • Что такое прокси сервер
      • Прокси Squid
    • OTRS
    • LMS
    • MediaWiki
    • ClamAV
    • CUPS
    • Rsyslog: syslog сервер в Linux
    • Резервное копирование в Linux
      • Резервное копирование через скрипт
      • Bacula
    • Контрольная работа
  • Дополнительно
    • Использование скриптов в ОС Linux
      • Написание bash-скриптов
      • Написание скриптов на Perl
      • Написание скриптов на Python
    • Игры и пасхалки в консоли Linux
    • Полезные ресурсы
    • Рекомендации ФСТЭК по безопасной настройке операционных систем Linux
Powered by GitBook
On this page
  • Что такое Apache
  • Что такое Apache сервер
  • История создания Apache
  • Архитектура Apache
  • Как работает Apache
  • Конфигурация Apache
  • Преимущества и недостатки Apache
  • Преимущества веб-сервера Apache
  • Недостатки веб-сервера Apache
  1. Сервисы Linux
  2. Веб-сервер

Apache

PreviousВеб-серверNextУстановка и настройка стека LAMP

Last updated 1 year ago

Что такое Apache

Apache ― это программное обеспечение с открытым исходным кодом, которое позволяет создавать веб-сервер.

Что такое Apache сервер

Веб-сервер — это программа, без которой не может работать сайт в интернете.

Cайт — это набор файлов, например, HTML, CSS и JS. В каждом файле находится информация о картинках, тексте, кнопках, шрифтах и других элементах внешнего вида сайта. Все эти файлы находятся на физическом сервере, который имеет или арендует владелец сайта. Чтобы показать пользователю сайт, браузер должен связаться с сервером и получить эти файлы. Для связи с сервером браузер просит помощи у веб-сервера. Веб-сервер получает запрос от браузера, ищет ресурсы сайта и пересылает их ему. Только после этого браузер показывает контент пользователю.

История создания Apache

Apache — это сокращение от «a patchy server», что переводится как сервер с патчами. Такое название появилось из-за происхождения программы. Все началось с разработки веб-сервера CERN HTTPd и NCSA HTTPd в Национальном центре суперкомпьютерных приложений (NCSA). Позднее к проекту подключились другие авторы, которые стали накладывать свои патчи. Патч ― это информация, кусок кода или программный модуль, который исправляет недочёты разработчиков. Их ещё называют заплатки. В 1995 году Брайан Белендорф объединил все патчи и создал команду разработчиков, которая выпустила первую версию Apache. Релиз Apache 1.0 прошёл в декабре 1995 года, но популярной эта программа стала только через год. Далее группа разработчиков расширялась, и они создали Apache для различных операционных систем (Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS).

В 1998 году появилась версия Apache 1.3, а в 1999 году была создана некоммерческая организация Apache Software Foundation. В марте 2000 года состоялась первая конференция для разработчиков ApacheCon. На ней была представлена версия Apache 2.0. Она отличалась новой модульной структурой. Это предоставило широкие возможности для функционала программы. На данный момент последней версией является Apache 2.4.

Архитектура Apache

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

Как можно расширить функционал веб-сервера? Для этого выпускаются модули.

Модуль — это код, который расширяет функционал ядра. Они бывают статические и динамические. Статические добавляются к ядру ещё до загрузки программы, то есть пользователь выбирает программу определенной сборки. Динамические можно добавить на этапе загрузки программы при помощи встроенного модуля mod_so.

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

Таким образом, Apache — это конструктор, который можно собрать так, как нужно пользователю. Для этой программы существует более 500 модулей.

Например, Multi-Processing Module (MPM) — модуль системного уровня. С его помощью можно оптимизировать Apache в условиях конкретной операционной системы.

Как работает Apache

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

Конфигурация Apache

Система конфигурации web-сервера Apache состоит из 3-х уровней текстовых файлов.

  1. httpd.conf — основной конфигурационный файл. В нём содержатся директивы, которые управляют работой веб-сервера. Местоположение файла зависит от операционной системы. Узнать, где он находится, можно с помощью команды:

httpd -V
  1. .htaccess — дополнительный конфигурационный файл. Файл (или файлы) .htaccess задают правила работы веб-сервера в каталоге, в котором он размещен, и в его дочерних каталогах, то есть он не затрагивает глобальные изменения работы сервиса. Настройки .htaccess приоритетны перед настройками в httpd.conf. При каждом обращении к веб-серверу Apache просматривает все каталоги на наличие .htaccess.

  2. Виртуальный хост. Он используется для запуска нескольких доменов на одном IP-адресе. Такие хосты нужны пользователям, которые запускают несколько сайтов на одном виртуальном сервере. На один сервер можно добавить неограниченное количество виртуальных хостов.

Преимущества и недостатки Apache

Преимущества веб-сервера Apache

  • Бесплатное программное обеспечение как для личного использования, так и для коммерческого;

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

  • поддержка многих языков программирования (PHP, Python, Ruby, Perl, ASP, Tcl), что дает доступ к различным серверным ПО;

  • удобная и надежная конфигурация системы. Приложение легко настраивается через текстовые конфигурационные файлы и может быстро масштабироваться;

  • поддерживает технологии FastCGI и CGI;

  • может использовать СУБД для аутентификации пользователей;

  • большая база инструкций. Так как продукт уже давно на рынке, разработчики и пользователи уже написали множество инструкций под разные ситуации.

Недостатки веб-сервера Apache

  • много параметров настройки. Если допустить ошибку при настройке конфигурации, это может привести к появлению уязвимостей во всей системе;

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

Теперь вы знаете, что такое веб-сервер Апаче и как он работает. Далее рассмотрим установку Apache в составе стека LAMP. О том, что это такое вы можете узнать на след. странице.

Apache хорошо работает со многими системами управления контентом (), такими как WordPress, Joomla, Drupal;

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

CMS
Nginx