Гид компьютерного мира - Информационный портал
  • Главная
  • Инструкции
  • Настройка Apache: пошаговая инструкция. Обзор конфигурации Apache в Ubuntu Конфигурационный файл apache

Настройка Apache: пошаговая инструкция. Обзор конфигурации Apache в Ubuntu Конфигурационный файл apache

Установим минимально необходимые для работы атрибуты, для этого откроем для редактирования файл /etc/httpd/conf/httpd.conf

Apache может работать с одним из трех доступных мультипроцессорных модулей (mpm):

  1. prefork — один процесс на запрос, наиболее часто используемый модуль;
  2. worker — несколько процессов с несколькими нитями у каждого;
  3. event — новый экспериментальный вариант стандартного worker мультипроцессорного модуля.

Для просмотра информации о модулях выполните:

# httpd -V | grep "Server MPM"

Пример конфигурации для Apache 2.4


ServerLimit 256
StartServers 20
MinSpareServers 20
MaxSpareServers 20
MaxRequestWorkers 256
MaxConnectionsPerChild 4000

MaxRequestWorkers установите значением, равным ServerLimit.

Пример конфигурации для Apache 2

В секции [мультипроцессорный модуль] >, например, установим следующие значения:

StartServers 5
MinSpareServers 10
MaxSpareServers 10
MaxClients 30
ServerLimit 30

StartServers — количество запускаемых процессов, рассчитываете как (Всего памяти - Память для сервера, MySQL, Memcache и т.д.) / размер процесса . Например, 64Gb - 32Gb / 0.256Gb = максимум 125 процессов.

MinSpareServers — минимальное количество простаивающих процессов.

MaxSpareServers — максимальное количество простаивающих процессов.

MaxClients — лимит процессов.

ServerLimit — устанавливается аналогичным значению MaxClients.

Обстоятельно необходимо подходить к расчету MaxClients, т.к. при установке малого значения может увеличиться количество отказов вэб-сервера в обслуживании на запрос клиента. Установка слишком большого значения может привести к свопингу и значительному увеличению времени ответа вэб-сервера.

При использовании одноуровневой и двухуровневой конфигурации вtб-сервера лимиты устанавливаются по-разному. Отдавая сформированные страницы более легкому вtб-серверу (например, nginx), лимиты можно понизить. Конкретные значения рассчитываются индивидуально для каждого вэб-сервера.

KeepAlive

При запросе страницы с вэб-сервера, браузер отправляет множество запросов на загрузку CSS-стилей, изображений и т.п. Использование KeepAlive позволяет запросить страницу и сопутствующие ей файлы в течение одного соединения.

  1. Включаем KeepAlive, для этого строку KeepAlive Off заменяем на KeepAlive On.
  2. MaxKeepAliveRequests установим в значение 100.
  3. KeepAliveTimeout наиболее часто устанавливается в диапазоне 2 — 10. Рекомендуем установить 5 секунд.

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

В этой статье мы рассмотрим общие конфигурационные файлы и основные параметры Apache в системе Ubuntu/Debian

Примечание : Файлы Apache отличаются в зависимости от дистрибутива, потому эта статья не подходит пользователям RHEL.

Установка Apache в Ubuntu/Debian

Если веб-сервер Apache ещё не установлен, используйте команды:

sudo apt-get update
sudo apt-get install apache2

Чтобы убедиться, что установка прошла успешно, откройте в браузере IP-адрес своего сервера. На экране должна появиться приветственная страница Apache:

It works!
This is the default web page for this server.
The web server software is running but no content has been added, yet.

Иерархия файлов Apache

В Ubuntu и Debian Apache хранит конфигурационные файлы в папке /etc/apache2.

cd /etc/apache2
ls -F
apache2.conf envvars magic mods-enabled/ sites-available/
conf.d/ httpd.conf mods-available/ ports.conf sites-enabled/

Эта папка содержит ряд простых текстовых файлов и подкаталогов. Наиболее важные из них:

  • apache2.conf: главный конфигурационный файл сервера. В нём можно выполнить почти все конфигурации.
  • ports.conf: этот файл задаёт порты, которые прослушиваются виртуальными хостами. Проверьте этот файл при настройке SSL.
  • conf.d/: этот каталог управляет отдельными аспектами конфигурации Apache. К примеру, с его помощью часто определяется конфигурация SSL и стандартная политика безопасности.
  • sites-available/: этот каталог хранит все доступные виртуальные хосты, которые определяют, какой контент будет обслуживаться на сайте. Эти хосты не активны.
  • sites-enabled/: этот каталог определяет активные виртуальные хосты. Как правило, он содержит символические ссылки на файлы, определенные в каталоге sites-available.
  • mods-/: эти каталоги работают по тому же принципу, что и sites-available и sites-enabled. Они хранят модули.

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

Конфигурационный файл Apache

Основные настройки Apache хранятся в /etc/apache2/apache2.conf.

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

В Ubuntu и Debian большая часть файла отведена под глобальные настройки, а конфигурация сервера по умолчанию и настройки виртуальных хостов обрабатываются в конце файла с помощью директивы Include.

В конце файла вы найдёте множество настроек Include. Они определяют модули, добавляют документ ports.conf, определённые файлы из каталога conf.d/ и настройки виртуальных хостов из каталога sites-enabled/.

Сосредоточимся на глобальных настройках веб-сервера Apache.

Глобальные настройки Apache

Данный раздел рассматривает важные параметры глобальных настроек Apache.

Timeout

По умолчанию этот параметр имеет значение 300. Это значит, что на выполнение каждого запроса у сервера есть максимум 300 секунд. В большинстве случаев это значение очень большое, и его рекомендуют уменьшить до 30-60 секунд.

KeepAlive

Если этот параметр имеет значение On, сервер позволит клиенту запрашивать несколько объектов в рамках одного соединения. Если параметр имеет значение Off, то каждый новый запрос будет создавать индивидуальное соединение. Такое поведение может привести к перенагрузке сайта с большим трафиком.

MaxKeepAliveRequests

Этот параметр позволяет определить максимальное количество запросов для одного соединения. Это позволяет увеличить производительность Apache.

Значение 0 позволит веб-серверу обрабатывать неограниченное количество запросов в рамках одного соединения.

KeepAliveTimeout

Данный параметр устанавливает промежуток времени между запросами. Если в течение указанного времени клиент не создал следующий запрос. Веб-сервер прервёт соединение. Если в дальнейшем этот клиент отправит запрос, сервер создаст новое соединение.

Настройки MPM

Чтобы узнать, с помощью каких модулей был скомпилирован Apache, откройте терминал и наберите:

apache2 -l
Compiled in modules:
core.c
mod_log_config.c
mod_logio.c
prefork.c
http_core.c
mod_so.c

Как видите, в данном случае веб-сервер скомпилирован с модулем prefork.c и файлом apache2.conf.

Конфигурации виртуальных хостов

Стандартный виртуальный хост находится в файле default в каталоге sites-available.

Чтобы ознакомиться с общим форматом виртуального хоста, откройте этот файл:

sudo nano /etc/apache2/sites-available/default

ServerAdmin webmaster@localhost
DocumentRoot /var/www

Options FollowSymLinks
AllowOverride None


Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all

. . .

По умолчанию виртуальный хост обрабатывает запросы на порте 80.

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

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

Эти параметры устанавливаются в разделе Virtual Host и применяются ко всему виртуальному хосту.

Параметр ServerAdmin указывает контактный адрес электронной почты, который будет использоваться в случае возникновения проблем на сервере. Этот адрес можно вставить на страницу ошибки. Для этого параметр ServerSignature (в файле /etc/apache2/conf.d/security) должен иметь значение Email.

Директива ServerName задаёт доменное имя или IP-адрес сервера. Это индивидуальный параметр каждого виртуального хоста, который может переопределить настройки по умолчанию, если он совпадает со значением ServerName.

Параметр ServerAlias позволяет добавить алиасы сайта – альтернативные имена и пути, ведущие к одному контенту. Так, например, часто устанавливается алиас домена с www.

DocumentRoot задаёт каталог, в котором веб-сервер хранит контент данного виртуального хоста. В Ubuntu для этого по умолчанию используется /var/www.

Настройки каталогов

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

Сначала виртуальный хост предлагает набор правил для каталога / (root-каталог). Этот раздел обеспечит базовую конфигурацию виртуального хоста, поскольку он относится ко всем файлам, которые обслуживаются в файловой системе.

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


Options FollowSymLinks
AllowOverride None
Order Deny,Allow
Deny from All

Это заблокирует доступ ко всему контенту, если в последующих определениях каталогов не указано иное.

Параметр AllowOverride позволяет настроить переопределение конфигураций с помощью файлов.htaccess. Чтобы переопределить настройки, файл.htaccess должен находиться в каталоге с контентом. По умолчанию эта функция отключена.

Настройки Alias и ScriptAlias

Иногда перед разделом Directory идут параметры Alias и ScriptAlias.

Директива Alias позволяет добавлять к обслуживаемому контенту каталоги вне DocumentRoot.

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

К примеру, такая строка в виртуальном хосте для сайта example.com откроет доступ к контенту в каталоге /path/to/content/ при запросе example.com/content/.

Alias /content/ /path/to/content/

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

Включение сайтов и модулей в Apache

Создав файл виртуального хоста, вы можете включить его. Для этого нужно создать символическую ссылку на файл в каталоге sites-enabled:

sudo a2ensite файл_виртуального_хоста

Включив сайт, перезапустите Apache, чтобы веб-сервер перечитал конфигурации:

sudo service apache2 reload

Чтобы отключить виртуальный хост, нужно удалить символьную ссылку из sites-enabled:

sudo a2dissite файл_виртуального_хоста

После этого нужно снова перезапустить веб-сервер:

sudo service apache2 reload

Включить и отключить модуль Apache можно с помощью следующих команд (соответственно):

a2enmod
a2dismod

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

Заключение

Данная статья охватывает только базовые настройки файлы веб-сервера Apache. Набор функций Apache можно значительно расширить с помощью модулей.

Если вам нужна дополнительная информация о веб-сервере, обратитесь к

Понятия: конфигурирование, директивы. Конфигурационные файлы, директивы. Основные конфигурационные директивы. Серверные процессы. Контроль доступа к каталогам и файлам.

Конфигурирование (лат. configuratio - взаимное расположение) - особый логико-методологический прием, мыслительная техника синтезирования разнопредматных знаний, различных представлений об одном и том же объекте.

Директивы, ж. (от латин. directio - направление) . Общее руководящее указание, даваемое высшим органом подчиненному (сервером для рабочей станции и т.д.).

Конфигурационный файл- файл с достаточно простым форматом. Каждая строка представляет собой ключевое слово и один или более аргументов. Для простоты большинство строк содержат только один аргумент. Всё, что следует за символом # является комментарием и игнорируется.

Apache конфигурируется изменением служебных файлов в каталоге /etc/httpd/conf/. Главный конфигурационный файл веб-сервера -httpd.conf. Конфигурационные директивы могут размещаться в различных файлах, которые включают в основной конструкцией Include имя_файла.conf.

Eсли размещение какого-либо файла или каталога в конфигурационном файле указано неявно (явное размещение начинается с корня файловой системы - с символа "/") Apache использует каталог, заданный в директиве ServerRoot для определения реального местоположения цели.

Описание модулей и конфигурационных директив Apache

Директивы могут быть использованы на следующих уровнях:

A уровень конфигурации сервера - директива может быть использована только в главном конфигурационном файле.

V уровень - директиву можно использовать по-разному для разных виртуальных хостов.

D уровень - для любого каталога директивой этого уровня можно установить свои настройки.

H уровень файлов.htaccess - директиву разрешено использовать в файлах.htaccess в местах, где они разрешены сервером.

В любой точке использование в директиве параметра filename обозначает абсолютный (начинается с "/") или относительный от каталогаServerRoot путь к файлу.

CORE - ядро веб-сервера (основной модуль Apache)

AccessConfig filename

Устанавливает расположение файла конфигурации. Системный файл конфигурации по умолчанию - conf/access.conf; для отмены чтения этого файла рекомендуется устанавливать /dev/null.

AccessFileName file file ...

Устанавливает имена файлов доступа, используемых для настройки конфигурации «на лету» по умолчанию - .htaccess.

AddModule module module ... [A]

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

AddModule module module ...

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

AllowOverride param param ...

Устанавливает правила, по которым Apache использует директивы внутренних файлов.htaccess;

None - игнорирует;

All - использует все директивы;

Options - разрешает использовать Options и XBitHack;

Indexes - директивы управления индексированием каталогов;

FileInfo - директивы управления типами файлов и их обработчиками;

AuthConfig - директивы доступа к каталогам Auth*;

Limit - директивы allow/deny/order.

AuthName realm

AuthType type

Используется для указания способа запроса и передачи имени пользователя и пароля для доступа к каталогам веб-сайтов. Чаще всего используют Basic, реже - Digest и другие.

BindAddress address [A]

Задаёт адрес, на котором Apache будет принимать соединения. Можно использовать имя хоста, IP-адрес или *.

ClearModuleList [A]

Директива очищает список загруженных модулей. После данной директивы нужно использовать директивы AddModule для работы с необходимыми модулями.

ContentDigest on|off

Включает или выключает пересылку MD5 хэша данных. Вычисляется для всех передаваемых страниц и не кешируется.

CoreDumpDirectory dirname [A]

Указывает Apache на каталог, в котором будут сохраняться файлы дампа памяти (core), создаваемые при аварийных ошибках.

DefaultType mimetype

Задаёт тип MIME, отправляемый клиентам, если Apache не может определить тип через файл mime.types или директивы AddType. По умолчанию установлен как text/plain.

...

Объединяет группу директив, задающих поведение Apache при обращениях к документам, расположенным в данной директории. Разрешено использовать маски имён - символы *, ? по правилам shell. В случае использования маски перед именем помещается знак тильда ~.

...

Определяет группу каталогов заданных регулярным выражением и устанавливает правила работы Apache с каталогами и файлами этой группы.

DocumentRoot dirname

Указывает серверу месторасположение корня дерева каталогов в ниже которого расположена структура данных веб-сервера.

ErrorDocument filename|string|URL

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

ErrorDocument 500 http://foo.example.com/cgi-bin/tester

ErrorDocument 404 /cgi-bin/bad_urls.pl

ErrorDocument 401 /subscription_info.html

ErrorDocument 403 "Sorry can"t allow you access today"

ErrorLog filename

Имя файла протокола ошибок. Если строка параметра начинается с (/), то путь к файлу нужно указывать от ServerRoot; если она начинается с (|), тогда сообщения ошибок передаются указанной команде на стандартный вход. В частности, таким образом, например, можно реализовать сохранение журнала сразу в SQL СУБД или сохранять их сразу сжатыми, передавая, для примера, на gzip. Apache версии 1.3 и выше по умолчанию выводит сообщения в syslog, если система поддерживает такую возможность; но это можно запретить используя syslog:facility.

...

Контроль доступа к файлу. Разделы обрабатываются в том же порядке, что и в файле конфигурации, после того, как прочитаны разделы директивы и файлы.htaccess, но перед тем, как прочитаны разделы директории . Аргумент должен содержать имя фала или маску, в которой "?" - любой символ, "*" - любая строка. С дополнительным символом ~ могут использоваться расширенные рег. выражения (см REGULAR EXPRESSIONS секцию в grep(1)) Например: будет соответствовать общеиспользуемым в Internet графическим файлам.

...

То же что и , но использует регулярные выражения.

Имеет отношение только к запуску Apache и отфоркиванию процессов в окружении и с правами соответствующему данному имени.

HostNameLookups on|off|double

Управляет возможностью определения имени хоста посетителя по реверсному ДНС. Работает медленно и по умолчанию считается отключённой. Double указывает, что имя хоста должно быть подвергнуто дополнительной проверке на соответствие этого имени IP адресу отправившего запрос хоста.

IdentityCheck on|off

Включение RFC1413 аутентификации. Включение функции значительно увеличит время доступа к серверу.

...

и должны быть выполнены только если данный параметр определён во внутренних структурах Apache. Предшествующий параметру знак [!] указывает, что блок директив будет прочтён только если параметр не определён.

...

Указывает, что директивы, помещённые внутри блока, образованного парой директив и должны быть выполнены только если данный модуль откомпилирован в Apache. Предшествующий модулю знак [ !] указывает, что блок директив будет прочтён только если параметр не определён.

Include filename [A]

Директива позволяет включать файлы конфигурации в конфигурацию сервера.

KeepAlive on|off [A]

Разрешает клиенту последовательно запрашивать несколько файлов без разрыва TCP соединения.

KeepAliveTimeout sec [A]

Указывается время (в секундах) до разрыва TCP соединения, которое Apache будет ждать следующего запроса от клиента.

...

Позволяет указывать к какому HTTP методу (например GET или POST) относятся помещённые внутрь ... команды ограничения доступа.

Могут использоваться методы: GET, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK.

Listen port [A]

Заставляет Apache слушать указанные адреса и порты. Например, что бы заставить сервер слушать порты 80 и 8000, используйте:

Чтобы Apache работал на разных интерфейсах с указанными номерами портов, используйте:

Listen 192.170.2.1:80

Listen 192.170.2.5:8000

ListenBacklog length [A]

Максимальная длина очереди обработки подключений.

...

Подробности в apache-manual:)

...

Подробности в apache-manual

Lockfile filename [A]

Директива устанавливает путь к lockfile.

LogLevel emerg|alert|crit|error|warn|notice|info|debug

Устанавливает уровень информативности протокола (лог-файла работы сервера). Рекомендуется использование по крайней мере уровня crit.

MaxClients count [A]

Директива устанавливает предел на число одновременных запросов к серверу. На самом деле, это число не может превышать число дочерних процессов сервера, которых по умолчанию не может быть более 256. Что бы исправить ситуацию редактируйте HARD_SERVER_LIMIT в httpd.h и компилируйте его.

MaxKeepAliveRequest count [A]

Разрешает клиенту последовательно запрашивать указанное число файлов без разрыва TCP соединения, если включена KeepAlive. Если параметр установлен в 0, то Apache будет разрывать соединение только учитывая параметр KeepAliveTimeout.

MaxRequestsPerChild count [A]

Директива устанавливает предел на числе запросов которые может обработать индивидуальный дочерний процесс. Если MaxRequestsPerChild установлена в 0, число запросов не ограничено.

MaxSpareServers count [A]

Директива устанавливает желательное максимальное число неактивных процессов сервера. Директива бесполезна если используется версия Apache для Microsoft Windows.

MinSpareServers count [A]

Директива устанавливает желательное минимальное число неактивных процессов сервера. Директива бесполезна если используется версия Apache для Microsoft Windows.

NameVirtualHost port [A]

Указывает, что запросы к данному порту-имени следует разделять по имени хоста к которому производится обращение (заголовок "Host:" HTTP). Позволяет определять несколько виртуальных хостов для одного IP адреса.

Options param param ...

Определяет установки действий Apache для указанного контента. Подробно все возможные установки описаны в apache-manual. Часто применяемые: Indexes - включает показ содержимого каталога если в нем не найден индексный файл (директива DirectoryIndex); ExecCGI - включает возможность размещения в данном каталоге исполняемых файлов (cgi, perl скриптов); Includes - включает возможность размещения в каталоге SSI файлов. Каждая установка поддерживается соответствующим модулем её использующим и может не действовать если нужный модуль не подгружен. Каждая директива Options считается дополняющей уже известные Options определённые для родительских каталогов. Каждая установка может сопровождаться префиксом + или - для её "включения-выключения" в данном контексте.

PidFile filename [A]

Директива устанавливает имя файла в который сервер записывает идентификатор процесса.

Указывает Apache порт - число от 0 до 65535 (следует помнить, что некоторые порты могут использоваться другими протоколами, см. /etc/servises). Стандартный порт для http протокола - 80.

require userid|groupid|valid-user|file-owner|group-owner [A]

Определяет, какие пользователи имеют доступ к каталогу.

Require user userid - только эти пользователи имеют доступ

Require group имя-группы [имя-группы] - все пользователи этих групп

Require valid-user - все адекватные пользователи.

ResourceConfig filename [A]

Сервер читает из этого файла дальнейшие директивы после прочтения httpd.conf. Имя файла задаётся относительно ServerRoot.Может быть отключена: ResourceConfig /dev/null

RLimitCPU max|sec[ max|sec] [A]

RLimitMEM max|bytes[ max|bytes] [A]

RLimitNPROC max|count[ max|count] [A]

Satisfy any|all [A]

Определяет политику доступа, если одновременно используются Allow и Require. Используется в том случае, когда доступ к области ограничен именем/паролем и клиентским адресом. В этом случае по умолчанию ("all") требуется, чтобы клиент прошёл проверку по адресу и ввёл правильное имя и пароль. В случае параметра "any" клиент получит доступ если ввёл правильное имя и пароль или прошёл ограничение по хосту. Может использоваться, чтобы ограничить доступ через пароль, но пропустить клиентов с определённого адреса без пароля.

ScoreBoardFile filename [A]

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

SendBufferSize bytes [A]

Установит размер буфера TCP.

ServerAdmin email

Устанавливает email адрес, который сервер показывает клиенту в сообщения об ошибках.

ServerAlias hostname

Задаёт альтернативное виртуальное имя хоста.

ServerName hostname

Директива устанавливает имя сервера; используется в создании ссылок. Если имя не задано, сервер попытается получить его из собственного IP-адреса.

ServerPath path

Директива устанавливает унаследованное имя пути для хоста.

ServerRoot path [A]

Устанавливает каталог, в котором живёт сервер. Обычно содержит подкаталоги conf/ и logs/. Пути для других файлов конфигурации строится относительно этого каталога.

ServerSignature on|ff|mail

Конфигурирует строку внизу сгенерированного сервером документа. По умолчанию выключено, On - показывает версию сервера и ServerName виртуального хоста, Email добавляет ссылку mailto: на ServerAdmin

ServerTokens Minimal|OS|Full [A]

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

ServerType standalone|inetd [A]

Определяет, как сервер запускается системой. inetd - запускается из системного процесса inetd. standalone - как daemon-процесс.

StartServers count [A]

Устанавливает число дочерних процессов, создаваемых при запуске. Число все равно динамически изменяется в зависимости от загрузки, обычно нет причин менять этот параметр.

Время, которое Apache будет ждать: получения запроса GET, получение пакетов TCP на запросах POST и PUT, пауза между ACK"ами при передаче пакетов TCP в ответах.

UseCanonicalName on|off

Заставляет Apache генерировать названия страниц которые он создаёт используя значения SERVER_NAME с SERVER_PORT.

User username

Устанавливает userid, по которому сервер будет отвечать на запросы. Чтобы использовать директиву, сервер должен быть запущен как root.

... [A]

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

mod_env - устанавливающий и передающий переменные для обработки в CGI/SSI файлы

PassEnv variable[ variable] ...

Передаёт переменную окружения (напр. HOME) обработчикам.

SetEnv variable value

Записывает заданное значение в указанную переменную окружения.

UnsetEnv variable[ variable] ...

Сбрасывает переменную, что делает невозможным её прочтение из обработчиков.

mod_setenvif - использующий условные выражения для установки переменных окружения

BrowserMatch regex env-variable[=value] ] ... [A]

Использует переданное регулярное выражение как фильтр для заголовка User-Agent от броузера клиента. При удачном попадании инициализирует переменную данным значением. Если указано только имя переменной - она инициализируется числом 1. Если указана переменная с предшествующим знаком "!" - переменная сбрасывается.

BrowserMatchNoCase regex env-variable[=value] ] ... [A]

Действует аналогично BrowserMatch допуская различия в регистре символов переданного значения User-Agent и используемого в качестве фильтра регулярного выражения.

SetEnvIf attribute regex env-variable[=value] ] ... [A]

Выполняемое директивой действие полностью аналогично BrowserMatch, но вместо User-Agent может быть использован любой другой заголовок: Remote_Host; Remote_Addr; Remote_User; Request_Method; Request_URI; Referer

SetEnvIfNoCase attribute regex env-variable[=value] ] ... [A]

Отличие от SetEnvIf такое же как у BrowserMatchNoCase от BrowserMatch выше.

mod_unique_id - генерирующий уникальную переменную окружения UNIQUE_ID

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

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

mod_mime - предназначенный для определения mime типа файла при передачи его клиенту

AddCharset charset extension ...

Для указанных расширений файлов указывает Apache необходимость передачи данного charset при ответе клиенту.

AddEncoding MIME-enc extension ...

Для указанных расширений файлов указывает Apache возможность передачи файла с использованием нужной кодировки MIME.

AddHandler handler-name extension ...

Указывает Apache, что файлы с данными расширениями должны быть переданы конкретному обработчику. Обработчик может как внутренним (cgi-sript и другие), так и внешним, описанным ранее директивой Action.

AddLanguage MIME-lang extension ...

Устанавливает связь между расширениями файлов и передаваемым в ответе кодом языка.

AddType MIME-type extension ...

Дополняет таблицу MIME - типов новым соответствием расширений файлов и кода MIME для ответа клиенту.

DefaultLanguage MIME-lang

Устанавливает язык ответа передаваемый всегда, если это невозможно сделать другими средствами.

ForceType MIME-type

Форсирует ответ с данным MIME-типом в каталоге, к которому отнесена данная директива.

RemoveEncoding extension ...

Удаляет код MIME-кодировки в ответе для файлов с данными расширениями.

RemoveHandler extension ...

Указывает Apache не запускать обработчиков для файлов с данными расширениями.

RemoveType extension ...

Сбрасывает MIME-тип в ответе клиенту на тип MIME по умолчанию

SetHandler handler

Форсирует вызов данного обработчика для всех файлов к которым отнесена данная директива.

TypesConfig filename [A]

Указывает расположение таблицы соответствия MIME-типов. По умолчанию - conf.mime.types

mod_mime_magic - модуль использующий сложные правила для определения MIME-типа передаваемого в ответе файла

MimeMagicFile filename

Активизирует действие модуля с использованием указанного файла на данную область документов веб-сервера или на все документы доступные Apache.

mod_negotiation - обеспечивающий согласование передаваемых типов данных между клиентом и сервером

CacheNegotiatedDocs [A]

Разрешает кеширование документов с согласуемым содержимым на промежуточных прокси-серверах и компьютере клиента.

LanguagePriority MIME-lang ... [A]

Определяет приоритет языков используемых в ответе клиенту, когда точно не удаётся определить или найти затребованный клиентом язык документа.

mod_alias - позволяющий располагать документы в каталогах веб-сервера более произвольным образом

Alias URL-path filesystem-path

Указывает Apache, что документы, расположенные "ниже" данного URL следует искать "ниже" данного расположения в файловой системе.

AliasMatch URL-regexp filesystem-path

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

Redirect URL-path URL

В ответ на запрос URL-path и "ниже" расположенных документов возвращает указанный код ответа (302 по умолчанию) и перенаправляет клиента на другой URL. Статус может задаваться как число или символически: permanent (301), temp (302), seeother (303), gone (410). Для кода ответа 410 URL ответа должен быть опущен.

RedirectMatch URL-regexp URL

Аналогично Redirect, с использованием для сравнения переданного URL не точного соответствия а заданного регулярного выражения.

RedirectTemp URL-path URL

Аналогично Redirect с использованием кода ответа 302.

RedirectPermanent URL-path URL

Аналогично Redirect с использованием кода ответа 301.

ScriptAlias URL-path filesystem-path

Действует аналогично Alias но автоматически задаёт запуск cgi-handler обработчика для всех файлов внутри целевой директории.

ScriptMatch URL-regexp filesystem-path

Аналогично ScriptAlias, с проверкой URL регулярным выражением.

mod_rewrite - управляющий расположением документов на сервере

В кратком собрании описания директив Apache сложно описать задачи решаемые этим сложным модулем. Как руководство к действию лучше всего использовать специальные разделы apache-manual "Module mod_rewrite URL Rewriting Engine" и "URL Rewriting Guide". Обучиться использованию данного модуля проще всего рассматривая конкретные задачи и их решения с его использованием.

Существует единственный основной (родительский) процесс, который ответственен за создание дочерних процессов, которые в свою очередь прислушиваются к связям и обрабатывают запросы клиента. Apache всегда пробует держать в запасе несколько неиспользуемых серверных процессов, которые готовы обработать поступающие запросы.Таким образом, клиенты не должны ждать создания новых дочерних процессов, которые будут разветвленны прежде, чем их запрос обслужится.Директивы StartServers, MinSpareServers, MaxSpareServers и MaxClients регулируют, как родительский процесс создает дочерние процессы, чтобы обслуживать запросы.

Вообще, Apache очень автономен, таким образом для большинство web-сайтов нет необходимости изменения этих дирректив от значений по умолчанию (default).

Для сайтов, которые должны обслуживать большее 256 одновременных запросов, возможно, следует увеличить MaxClients, а для сайтов, расположенных на серверах с ограниченной памятью, возможно, следует уменьшить значение MaxClients, чтобы не довести сервер до необходимости свапа памяти на диск (swapping memory to disk and back), что приведет к сильным замедлениям в работе.

Выбор модулей - один из наиболее важных шагов в обеспечении хорошей защиты Apache Web server. Мы должны руководствоваться одним хорошим правилом: чем меньше, тем лучше. Чтобы задействовать нужные нам функциональные возможности и обеспечить хорошую защиту, должны быть включены следующие модули:

httpd_core - Ядро Apache, требуется при каждой установке Apache.

mod_access - Контроль доступа к каталогам сервера в зависимости от IP-адреса или имени узла клиента.

mod_auth - Требуется, чтобы осуществлять авторизацию пользователей, используя текстовые файлы.

mod_dir - Требуется, чтобы искать индексные файлы: "index.html", "default.html", и т. д.

mod_log_config - Обеспечивает регистрацию запросов, направляемых серверу. mod_mime - Содержит директивы, способствующие организации на сервере различных типов MIME.

Все остальные модули Apache должны быть выключены. Мы можем спокойно их отключить, потому что они нам не понадобятся. Отключая ненужные модули, мы предотвращаем возможность взломщика эксплуатировать уязвимость, которая была найдена в одном из этих модулей.

Также стоит обратить внимание, что два модуля Apache (mod_autoindex и mod_info) являются наиболее опасными. Первый модуль позволяет автоматически проиндексировать каталог и он включен по умолчанию. Чтобы посмотреть, как он работает, введите, например, http://server_name/icons/ и если в этом каталоге нет индексных файлов, то будет выведено содержание всего каталога. Второй модуль, mod_info, никогда не должен быть доступен через Интернет, потому что он показывает всю конфигурацию Web сервера Apache.

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

Самостоятельная работа: Работа с сервером баз данных MySQL. Создание таблиц. Вставка, извлечение и обновление данных в базе данных.

Лабораторная работа № 12. Установка и настройка web-сервера Apache.

Самостоятельная работа: Работа с сервером баз данных MySQL.

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

По умолчанию настройки Apache расположены в файле "httpd.conf " в каталоге "conf ".

Следует обратить особое внимание на путь к файлам в конфигурационных файлах Apache и РНР. Вам часто придется указывать пути к различным каталогов и файлов. В операционных системах UNIX и Windows применяются различные разделители каталогов. В UNIX используется прямая косая черта (/) в Windows - обратная (\). В некоторых директивах Apache и РНР работают оба вида разделителей каталогов. Но поскольку Apache и РНР изначально разрабатывались под UNIX, то, применяя их "родной" формат, вы сможете избежать ряда проблем. Поэтому пути в конфигурационных файлах "httpd.conf " и "php.ini " рекомендуется писать через слеш в формате UNIX - "/".

К примеру:
ScriptAlias "/php_dir/" "c:/php/" Директивы файла httpd.conf :

Port - задает порт TCP, который используется Apache для установления соединения. По умолчанию указывается порт 80. Также порт можно указать в директиве ServerName .
Port 80 Единственная причина установления нестандартного порта - это отсутствие прав на использование стандартного порта. При использовании нестандартного порта, например, 8080, номер порта следует указывать в адресе "http://localhost:8080/ ".

ServerAdmin - содержит заданный адрес электронной почты администратора Web-сервера. Именно этот адрес будет отображаться при ошибках работы сервера.
ServerAdmin [email protected] ServerName - содержит заданное имя компьютера для сервера.
ServerName localhost:80 ServerRoot - указывает на каталог, содержащий файлы Web-сервера Apache.
ServerRoot "C:/web_server/apache" DocumentRoot - определяет каталог, в котором расположены файлы Web-сайта.
DocumentRoot "C:/web_server/apache/htdocs" Контейнер

Сфера действия директив внутри этого контейнера распространяется на все файлы и подкаталоги внутри каталога, заданного в директиве DocumentRoot .

Options FollowSymLinks Includes Indexes
AllowOverride All
Директива AllowOverride установлена ​​в значение ALL , позволяет переопределять значение главного конфигурационного файла "httpd.conf " в файлах ".htaccess ".

Директива Options FollowSymLinks позволяет Apache следовать символическим ссылке.

Директива Options Includes позволяет выполнение директив SSI (Server Side Includes, включения на стороне сервера) в коде страниц Web-сайта.

Директива Options indexes указывает, что нужно возвращать содержимое каталога, если отсутствует индексный файл.

DirectoryIndex - содержит заданный список индексных файлов, которые следует отображать при обращении в каталог без указания имени файла.
DirectoryIndex index.html index.htm index.php Директива ScriptAlias ​​используется для создания псевдонима каталога "/cgi-bin/ ", в котором располагаются программы и сценарии CGI.
ScriptAlias /cgi-bin/ "C:/web_server/apache/cgi-bin/" Далее необходимо настроить права и ограничения на каталог cgi-bin .

AllowOverride None
Options ExecCGI
Order allow, deny
Allow from all
Данное действие необходимо для гарантии, что опции каталога не будут изменены, так как это может создать проблемы безопасности.

Директива AllowOverride None говорит о том, что опции этого каталога не могут быть переопределены файлами ".htaccess ".

Директива Options ExecCGI позволяет выполнение CGI-сценариев.

Директивы order allow , deny и Allow from all разрешают доступ к каталогу.

AddHandler - заставляет Apache рассматривать файлы с расширениями "ехе " и "bat ", как CGI - скрипты.
AddHandler cgi-script .bat .exe DefaultType устанавливает заголовок файлов, тип которых не может быть определен по расширению. В данном случае все неизвестные файлы воспринимаются как обычные текстовые файлы. Для того чтобы все неизвестные расширения файлов обрабатывать, как HTML, измените директиву следующим образом:
DefaultType text/html AddDefaultCharset - устанавливает кодировку по умолчанию, если кодировка не задана в заголовке HTML-документа.
AddDefaultCharset windows-1251

andew

2016-07-23T17:54:43+00:00

2017-08-25T04:44:37+00:00

7613

В статье представлен обзор конфигурации web сервера Apache в Ubuntu server при стандартном варианте инсталляции LAMP в Ubuntu. Приведена логика и структура организации конфигурационных файлов веб сервера. Описаны назначения основных конфигов сервера. Даны базовые Linux Ubuntu команды для манипуляции конфигурацией, настройки и управления веб сервером Apache. Рассмотрен сайт по умолчанию, который создается в процессе установки Apache. Статья вам будет полезна при настройке и администрировании своего LAMP сервера.

Как добавить поддержку PHP как обработчика сценариев в Apache на Ubuntu или Windows детально описано в статье Установка PHP7 на Windows в разделе Настройка .

Apache Default WEB Page

В процессе выполнения стандартной инсталляции web сервера Apache в Ubuntu server создается тестовый сайт, который служит для проверки работоспособности веб сервера после его установки. Этот сайт, по умолчанию, сконфигурирован так, что разрешает обращения из браузера только к файлам и каталогам внутри /var/www директории Ubuntu server. Если, по завершению инсталляции Apache , вы откроете в браузере веб страницу по адресу IP вашего web сервера, то увидите стартовую страницу сервера - Apache2 Ubuntu Default Page . Это будет, в первую очередь, говорить о том, что Apache удачно установился и работает. Эта страница физически располагается на сервере в файле /var/www/html/index.html и за ее настройку и вывод в браузере отвечает конфиг виртуального хоста по умолчанию (/etc/apache2/sites-available/000-default.conf ), который определяет виртуальный хост(сайт) для каталога /var/www/html и создается в ходе инсталляции сервера Apache . Соответственно, если вы разместите ваши файлы в этой папке, то они будут обрабатываться web сервером. Также на этой Default Page в секции Configuration Overview вы увидите схематическое представление структуры конфигурационных файлов сервера. Здесь нужно понимать, что структура, названия и расположения конфигов Apache в Ubuntu отличаются от общепринятой схемы, что сделано для удобства управления сервером. Но тут есть один нюанс, который заключается в том, что если вы ранее не были знакомы с организацией каталогов в домашней директории Apache на Ubuntu , то эта схема может вас только запутать, т.к. в ней представлены не все папки, а только каталоги, в которых располагаются символьные ссылки на активированные файлы конфигурации. Поэтому, для более правильного понимания, смотрите полную схему каталогов и фалов домашней директории web сервера Apache расположенную ниже в этой статье. Из ценного в секции веб страницы Apache - это ссылки на man Debian для команд a2enmod , a2dismod , a2ensite , a2dissite , a2enconf , a2disconf , которые используется для активации и деактивации тех или иных видов файлов конфигурации и будут детально описаны . Так же здесь сказано, что для передачи команд web серверу ( started/stopped etc. ) нужно обращаться к /etc/init.d/apache2 или к apache2ctl , что так же является особенностью сервера в Ubuntu. На сервере Ubuntu в файле /usr/share/doc/apache2/README.Debian.gz вы сможете найти полную документацию по Apache .

Домашний каталог Apache в Ubuntu

По умолчанию, домашний каталог web сервера Apache в Ubuntu находиться по /etc/apache2/ пути в файловой системе. В этом каталоге и его подкаталогах располагаются все конфигурационные файлы Apache . Изменить значение пути домашней директории web сервера можно директивой ServerRoot "/etc/apache2" в главном конфиге apache2.conf . Там, по умолчанию, директива ServerRoot закомментирована, что равносильно ее значению как "/etc/apache2" (завершающего слеша не должно быть в этой директиве! ). Значение пути домашней директории Apache (ServerRoot ) необходимо серверу, что бы он знал, в каком месте файловой системы ему следует искать свои конфигурационный файлы. Так же значение ServerRoot может подставляться сервером в некоторых директивах, ожидающих в качестве аргумента путь в файловой системе Ubuntu . Поэтому, в таких случаях, если путь указать без начального слеша, то Apache воспримет это как относительный путь по отношению к своей домашней директории. Так, например, если указать директиву AuthUserFile .htpasswd , то в таком варианте Apache будет интерпретировать указанный путь как относительный и превратит его в /etc/apache2/.htpasswd , подставив спереди значение пути своей домашней директории.

Структура домашней директории Apache в Ubuntu

В процессе стандартной установки WEB сервера Apache в Ubuntu создается следующая структура файлов и каталогов домашней директории веб сервера:

/etc/apache2/ ...............................Домашняя директория Apache в Ubuntu - ServerRoot |-- conf-available ......................директория, содержит разные конфиги | `-- charset.conf ...................файл для указания кодировок | `-- localized-error-pages.conf .....файл для задания страниц ошибок | `-- other-vhosts-access-log.conf ...файл для задания логов виртуальных хостов | `-- security.conf ..................файл для директив безопасности | `-- serve-cgi-bin.conf .............файл для директив конфигурации CGI |-- conf-enabled активированные конфиги из conf-available | `-- @ ..............................ССЫЛКИ на активированные конфиги из conf-available |-- mods-available ......................директория, содержит конфиги установленных модулей Apache | `-- ... ........................доступные конфиги модулей Apache |-- mods-enabled ........................директория, содержит ССЫЛКИ на активированные конфиги модулей из mods-available | `-- @ ..............................ССЫЛКИ на активированные конфиги модулей Apache |-- sites-available .....................директория содержит доступные конфиги виртуальных хостов | `-- 000-default.conf ...............файл виртуального хоста по умолчанию для 80 порта, создан при инсталляции Apache | `-- default-ssl.conf ...............файл виртуального хоста по умолчанию для порта 443, создан при инсталляции Apache |-- sites-enabled .......................директория, содержит ССЫЛКИ на активированные конфиги виртуальных хостов из sites-enabled | `-- @000-default.conf ..............ссылка на активированный конфиг виртуального хоста |-- apache2.conf ........................ГЛАВНЫЙ конфиг web сервера Apache в Ubuntu |-- envvars .............................файл с настройками путей для окружения Apache |-- magic ...............................Файл скриптов для модуля mime_magic (этот модуль не активен по умолчанию) |-- ports.conf ..........................файл для задания портов на которых будет принимать подключения Apache

Приведенные примеры представлены из OS Ubuntu server 16.04 LTS, однако тоже самое будет и в других версиях и дистрибутивах Ubuntu как в сервером варианте, так и в desktop варианте.

Логика организации конфигурации Apache

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

Во-первых , в Ubuntu , конфигурация Apache разбита на множество разных конфигов по их функциональному назначению. Например, директивы, задающие порт для сервера, вынесены в отдельный файл ports.conf . Директивы, ответственные за те или иные параметры безопасности сервера, вынесены в файл security.conf . Тем самым, директивы как бы сгруппированы по своему смыслу в отдельные конфигурационные файлы. Это достаточно логично и удобно при чтении, правке, активации и деактивации конфигов. При таком подходе каждый, отдельно взятый файл, становиться меньше и является узкоспециализированной частью конфигурации. Однако, нужно понимать, что такое дробление сделано исключительно для удобства и автоматизации настройки и технически, если вы захотите, вы можете записать все директивы и настройки в один файл, просто работать с таким файлом будет не так удобно.

Во-вторых : центром всей конфигурации выступает главный конфиг Apache веб сервера - apache2.conf файл. Именно этот файл в первую очередь ищет и читает web сервер Apache при старте или перезагрузке. А уже в этом файле при помощи директив Include , в месте их указания, выполняется подключение и загрузка всех остальных заданных конфигов. Таким образом, все конфигурационные файлы объединяются в единую конфигурацию web сервера и происходит это, когда Apache читает файлы по порядку их подключения, начиная с главного конфига. Из этого следует важное замечание - порядок следования директив в конфигурации Apache и, соответственно, порядок подключения файлов конфигов имеет значение, так как директивы, прочитанные сервером позднее могут переопределять директивы прочитанные им ранее. Об этом нужно помнить при настройке сервера.

В-третьих : если вы посмотрите на структуру каталогов домашней директории Apache , то увидите три пары директорий с названиями вида: префикс_каталога -available/enabled . Такая логическая структура призвана для распределения ваших конфигов на три группы , исходя из префикса названия каталога, где conf-* это каталоги для ваши прочих конфигов, mods-* это каталоги для конфигов модулей Apache и sites-* это каталоги для конфигов ваших виртуальных хостов. Вторая часть имени этих каталогов -available/-enabled логически указывает на доступные вообще и только активные в настоящий момент момент конфиги. Так в директориях *-available хранятся все доступные для использования файлы конфигурации, а уже в директориях вида *-enabled расположены символьные ссылки (ярлыки ) только на те конфиги из *-available директории, которые должны быть прочитаны web сервером при загрузке конфигурации. Apache читает только каталоги вида *-enabled , поэтому применяться только те конфиги, на которые в этих каталогах есть ссылки . Такой подход дает еще дополнительный уровень удобства тем, что позволяет вам хранить все ваши конфиги в каталогах домашней директории сервера, а задействовать только необходимые в текущий монет.

В-четвертых : директивы конфигурации web сервера Apache имеют контекст (), в котором они действуют. Понятие контекст директивы указывает на то, где, на каком уровне и в каком конфиге данная директива может использоваться. Одна и та же директива может быть разрешена к использованию как только в одном виде контекста, так и в нескольких видах контекста. Если директива будет использована/записана в недопустимом для нее виде контекста, то будет ошибка web сервера Apache при загрузке конфигурации, которая приведет к его остановке. Поэтому, при написании ваших директив, всегда обращайте внимание на контекст их применения, который всегда указывается в документации к директиве на сайте Apache.

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

Виды контекста директив:

  • server config - глобальный уровень директивы для применения в файлах общей конфигурации сервера вне и вне контейнеров и вне файла .htaccess ;
  • virtual host - уровень виртуального хоста для применения директивы в контейнере;
  • directory - уровень каталога , директива должна использоваться внутри контейнеров , , , ;
  • .htaccess - уровень локального каталога сайта, директива может применяться в файле .

Команды управления конфигурацией

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

Команды включения/выключения конфигурации

Для активации и деактивации тех или иных конфигов в Ubuntu предоставляются команды помощники созвучные с available /enabled и префиксом каталога. Например, команда a2enconf , которую можно расшифровать как apache2-enable-conf , выполняет активацию указанного в ее аргументе конфигурационного файла из conf-available каталога путем создания на него символьной ссылки в каталоге conf-enabled . Команда a2disconf выполняет обратное действие, т.е. удаляет эту ссылку. Подобная логика применима и к остальным командам: a2enconf /a2disconf , a2enmod /a2dismod , a2ensite /a2dissite . Но вы так же можете и вручную создать/удалить символьные ссылки на нужные вам конфиги в директориях вида *-enabled .

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

a2enconf/a2disconf

Для включения или выключения нужного конфига из каталога conf-available в конфигурацию сервера используйте команды:

Включить конфиг :

sudo a2enconf

Выключить конфиг :

sudo a2disconf

a2enmod/a2dismod

Для активации установленного модуля Apache из каталога mods-available

Включить модуль Apache

sudo a2enmod

Выключить модуль Apache

sudo a2dismod

a2ensite/a2dissite

Для активации конфигурации виртуального хоста из каталога sites-available и деактивации его используйте команды:

Включить виртуальный хост в Apache

sudo a2ensite

Выключить виртуальный хост в Apache

sudo a2dissite

Команды управления Apache

В Ubuntu , благодаря использованию переменных среды, для обращения к демону httpd web сервера можно применять вызовы вида: /etc/init.d/apache2 или apache2ctl или apache2 :

sudo /etc/init.d/apache2 sudo apache2ctl sudo apache2

Лучшие статьи по теме