# Конфигурирование HTTP-сервера Apache 2.4
![](https://www.laramind.com/blog/wp-content/uploads/2016/06/Laravel-Developer-Wanted-10-400x280.jpg){width=250} [Ссылка на источник](https://httpd.apache.org/docs/2.4/ru/configuring.html)
<hr>
[Русскоязычная документация: HTTPD - Apache2 интернет сервер](https://help.ubuntu.ru/wiki/руководство_по_ubuntu_server/web_сервера/httpd_apache2_web_server)
<div class="content">
<div class="content-main dokuwiki">
<!-- TOC START -->
<div id="dw__toc">
<h3 class="toggle">Содержание</h3>
<div>
<ul class="toc">
<li class="level2">
<div class="li"><a href="#httpd_-_apache2_интернет_сервер">HTTPD - Apache2 интернет сервер</a>
</div>
<ul class="toc">
<li class="level3">
<div class="li"><a href="#установка">Установка</a></div>
</li>
<li class="level3">
<div class="li"><a href="#настройка">Настройка</a></div>
</li>
<li class="level3">
<div class="li"><a href="#настройка_https">Настройка HTTPS</a></div>
</li>
<li class="level3">
<div class="li"><a href="#права_разделения_записи">Права разделения записи</a></div>
</li>
<li class="level3">
<div class="li"><a href="#ссылки">Ссылки</a></div>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- TOC END -->
<div class="styler-style styler-float-left">
<p>
<a href="/wiki/%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE_ubuntu_server"
class="wikilink1" title="wiki:руководство_по_ubuntu_server">Руководство по Ubuntu Server</a> »
<a href="/wiki/%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE_ubuntu_server/web_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0"
class="wikilink1" title="wiki:руководство_по_ubuntu_server:web_сервера">Интернет сервера</a>
</p>
</div>
<h2 class="sectionedit1" id="httpd_-_apache2_интернет_сервер">HTTPD - Apache2 интернет сервер</h2>
<div class="level2">
<p>
Apache - наиболее используемый интернет-сервер на линукс системах. Интернет-сервера используются для
выдачи интернет-страниц по запросу клиентских компьютеров. Клиенты обычно запрашивают и просматривают
интернет-страницы используя приложения интернет-браузеров, таких как Firefox, Opera, Chromium или
Mozilla.
</p>
<p>
Пользователи вводят единообразный указатель ресурсов (<abbr title="Uniform Resource Locator">URL</abbr>)
для определения интернет-сервера по его полностью квалифицированному доменному имени (FQDN) и пути до
требуемого ресурса. Например, чтобы увидеть домашнюю станицу интернет-сайта Ubuntu, пользователь должен
ввести только FQDN:
</p>
<pre class="code">www.ubuntu.com</pre>
<p>
Для просмотра страницы о <a href="http://www.ubuntu.com/community" class="urlextern"
title="http://www.ubuntu.com/community" rel="nofollow">сообществе</a> [Ubuntu] пользователь должен
ввести следующий путь:
</p>
<pre class="code">www.ubuntu.com/community</pre>
<p>
Наиболее распространенный протокол, используемый для передачи интернет-страниц, - это гипертекстовый
протокол передачи (<abbr title="Hyper Text Transfer Protocol">HTTP</abbr>). Такие протоколы, как <abbr
title="Hyper Text Transfer Protocol">HTTP</abbr> поверх <abbr
title="Secure Sockets Layer">SSL</abbr> (HTTPS) и протокол передачи файлов (<abbr
title="File Transfer Protocol">FTP</abbr>) - протокол для загрузки и получения файлов, также
используются.
</p>
<p>
Интернет-сервера Apache обычно используются в комбинации с движком базы данных MySQL, языком сценариев
гипертекстового препроцессора (<abbr title="Hypertext Preprocessor">PHP</abbr>) и другими популярными
языками сценариев, таких как Python И <abbr
title="Practical Extraction and Report Language">Perl</abbr>. Эта конфигурация получила название
LAMP (Linux, Apache, MySQL and <abbr
title="Practical Extraction and Report Language">Perl</abbr>/Python/<abbr
title="Hypertext Preprocessor">PHP</abbr>) и формирует мощную и крепкую платформу для разработки и
развертывания интернет-приложений.
</p>
</div>
<h3 class="sectionedit2" id="установка">Установка</h3>
<div class="level3">
<p>
Интернет-сервер Apache2 доступен в Ubuntu Linux. Для установки Apache2:
</p>
<ol>
<li class="level">
<div class="li">
<p>
В терминале введите следующую команду:
</p>
</div>
</li>
</ol>
<pre class="code">sudo apt-get install apache2</pre>
</div>
<h3 class="sectionedit3" id="настройка">Настройка</h3>
<div class="level3">
<p>
Apache2 настраивается помещением <strong>инструкций</strong> (directives) в обычные тестовые файлы
настроек. Эти инструкции разделены между следующими файлами и каталогами:
</p>
<ol>
<li class="level">
<div class="li">
<p>
<strong>apache2.conf</strong>: основной файл настроек Apache2. Содержит
<strong>глобальные</strong> настройки для всего Apache2.
</p>
</div>
</li>
<li class="level">
<div class="li">
<p>
<strong>conf.d</strong>: (каталог) содержит файлы настроек, которые применяются
<strong>глобально</strong> к Apache2. Другие пакеты, которые используют Apache2 для
предоставления контента, могут добавлять файлы или символьные ссылки в этот каталог.
</p>
</div>
</li>
<li class="level">
<div class="li">
<p>
<strong>envvars</strong>: файл, где устанавливаются <strong>переменные окружения</strong>
Apache2.
</p>
</div>
</li>
<li class="level">
<div class="li">
<p>
<strong>httpd.conf</strong>: устаревший основной файл настроек Apache2, названный по имени
сервиса <strong>httpd</strong>. Теперь этот файл обычно пустой, поскольку большинство опций
настроек были перемещены в каталоги, упомянутые далее. Файл может быть использован для для
специфичных настроек пользователя, имеющих глобальный эффект в Apache2.
</p>
</div>
</li>
<li class="level">
<div class="li">
<p>
<strong>mods-available</strong>: этот каталог содержит конфигурационные файлы как для
загрузки модулей, так и для их настройки. Тем не менее не все модули имеют отдельные файлы
настройки.
</p>
</div>
</li>
<li class="level">
<div class="li">
<p>
<strong>mods-enabled</strong>: содержит <strong>символьные ссылки</strong> на файлы в
/etc/apache2/mods-available. Когда создается символьная ссылка на файл настроек модуля, он
включается при следующем рестарте <strong>apache2</strong>.
</p>
</div>
</li>
<li class="level">
<div class="li">
<p>
<strong>ports.conf</strong>: содержит инструкции, которые определяют какие TCP порты
прослушивает Apache2.
</p>
</div>
</li>
<li class="level">
<div class="li">
<p>
<strong>sites-available</strong>: этот каталог содержит файлы настроек для
<strong>виртуальных сетевых узлов</strong> (Virtual Hosts) Apache2. Виртуальные сетевые узлы
позволяют настраивать Apache2 на множество сайтов с отдельными конфигурациями.
</p>
</div>
</li>
<li class="level">
<div class="li">
<p>
<strong>sites-enabled</strong>: подобно mods-enabled содержит символьные ссылки на каталог
/etc/apache2/sites-available. Аналогично, когда файл настроек из sites-available получает
здесь символьную ссылку, соответствующий ему сайт будет активен при следующем перезапуске
Apache2.
</p>
</div>
</li>
</ol>
<p>
В дополнение к этому другие файлы настроек могут быть добавлены с использованием инструкции
<strong>Include</strong>, а символы группировок могут использоваться для включения множества файлов
настроек. Любая инструкция может быть добавлена в любой из этих файлов настроек. Изменения в основных
конфигурационных файлах распознаются только после старта или рестарта Apache2.
</p>
<p>
Сервер также читает файлы, содержащие типы mime документов; имя файла задается инструкцией
<strong>TypesConfig</strong>, обычно через /etc/apache2/mods-available/mime.conf, который также может
включать дополнения и переопределения, а по умолчанию используется /etc/mime.types.
</p>
</div>
<h4 id="общие_настройки">Общие настройки</h4>
<div class="level4">
<p>
Этот раздел рассматривает существенные параметры настройки сервера Apache2. Обратитесь к <a
href="http://httpd.apache.org/docs/2.2/" class="urlextern" title="http://httpd.apache.org/docs/2.2/"
rel="nofollow">документации по Apache2</a> для уточнения деталей.
</p>
<p>
1. Apache2 по умолчанию поставляется с конфигурацией, дружественной к виртуальным хостам. Это означает,
что он изначально настроен с единственным виртуальным хостом (используя инструкцию VirtualHost) который
может быть изменен или использоваться как есть, если у вас единственный сайт, либо использоваться как
шаблон для дополнительных виртуальных хостов, если у вас несколько сайтов. Если оставить его
единственным, изначальный виртуальный хост будет обслуживать ваш сайт по умолчанию или пользователи
сайта заметят, что введенный ими <abbr title="Uniform Resource Locator">URL</abbr> не совпадает с
инструкцией <strong>ServerName</strong> любого из ваших созданных сайтов. Для изменения начального
виртуального хоста отредактируйте файл /etc/apache2/sites-available/default.
</p>
<div class="noteclassic">Инструкции, установленные для виртуального хоста, влияют только на соответствующий
виртуальный хост. Если инструкция установлена на весь сервер и не установлена в настройках виртуального
хоста, используется общая настройка. Например, вы можете определить email адрес вебмастера и не
определять его отдельно для каждого виртуального хоста.
</div>
<p>
Если вы хотите настроить новый виртуальный хост или сайт, скопируйте этот файл в тот же каталог с новым
именем. Например:
</p>
<pre class="code">sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mynewsite</pre>
<p>
Отредактируйте новый файл для настройки нового сайта, используя инструкции, описанные ниже.
</p>
<p>
2. Инструкция <strong>ServerAdmin</strong> определяет адрес email для оповещения администратора сервера.
Изначальное значение webmaster@localhost. Его надо изменить на ваш email адрес (если именно вы являетесь
администратором сервера). Если возникает проблема с сайтом, Apache2 показывает сообщение об ошибке,
содержащее этот адрес для оповещения о проблеме. Ищите эту инструкцию в файле настроек вашего сайта в
каталоге /etc/apache2/sites-available.
</p>
<p>
3. Инструкция <strong>Listen</strong> определяет порт, и в общем случае IP адрес, на которых Apache2
должен ожидать соединения. Если IP адрес не определен, Apache2 будет прослушивать все IP адреса, которые
назначены компьютеру, где он запущен. Значение по умолчанию для <strong>Listen</strong> 80. Замените его
на 127.0.0.1:80 чтобы Apache2 прослушивал только интерфейс внутренней петли, что сделает его недоступным
из интернета; на 81 (например) для изменения порта доступа или оставьте как есть для стандартного
функционирования. Эта инструкция может быть найдена и изменена в единственном файле
/etc/apache2/ports.conf.
</p>
<p>
4. Инструкция <strong>ServerName</strong> необязательная и определяет на какой адрес FQDN ваш сайт
должен отвечать. Изначальный виртуальный хост не имеет ServerName, поэтому отвечает на все запросы не
соответствующие директивам ServerName других виртуальных хостов. Если вы приобрели доменное имя
ubunturocks.com и хотите прописать его на вашем Ubuntu сервере, значение ServerName для файла настроек
вашего виртуального хоста должно быть ubunturocks.com. Добавьте эту инструкцию в файл нового
виртуального хоста, который вы создавали ранее (/etc/apache2/sites-available/mynewsite).
</p>
<p>
Возможно вы захотите, чтобы ваш сайт откликался на <a href="http://www.ubunturocks.com"
class="urlextern" title="http://www.ubunturocks.com" rel="nofollow">www.ubunturocks.com</a>,
поскольку многие пользователи считают префикс www необходимым. Используйте для этого инструкцию
<strong>ServerAlias</strong>. Вы можете также применять для ServerAlias групповые символы.
</p>
<p>
Например, следующая конфигурация заставит ваш сайт отвечать на любые запросы с доменом, оканчивающимся
на .ubunturocks.com.
</p>
<pre class="code">ServerAlias *.ubunturocks.com</pre>
<p>
5. Инструкция <strong>DocumentRoot</strong> определяет где Apache2 будет искать файлы, которые являются
содержимым сайта. По умолчанию используется значение /var/www, как определено в
/etc/apache2/sites-available/default. Если желаете, можете изменить это значение в файле сайта вашего
виртуального хоста и не забудьте создать этот каталог, если необходимо!
</p>
<p>
Включите новый VirtualHost, используя утилиту <strong>a2ensite</strong>, и перезапустите Apache2:
</p>
<pre class="code">sudo a2ensite mynewsite
sudo service apache2 restart</pre>
<div class="noteclassic">Убедитесь, что заменили <strong>mynewsite</strong> на более понятное имя для
VirtualHost. Один из способов это называть файл по значению ServerName виртуального хоста.
</div>
<p>
Аналогично используйте утилиту <strong>a2dissite</strong> для выключения сайтов. Это может быть полезным
при разрешении проблем с несколькими виртуальными хостами:
</p>
<pre class="code">sudo a2dissite mynewsite
sudo service apache2 restart</pre>
</div>
<h4 id="настройки_по_умолчанию">Настройки по умолчанию</h4>
<div class="level4">
<p>
Этот раздел раскрывает возможности настроек значений по умолчанию сервера Apache2. Например, если вы
добавили виртуальный хост, значения, которые вы определите в его конфигурации переопределят значения для
данного виртуального хоста. Для инструкций, не определенных в настройках виртуального хоста, будут
использоваться значения по умолчанию.
</p>
<p>
1. <strong>DirectoryIndex</strong> - это страница по умолчанию, выдаваемая сервером, когда пользователь
запрашивает индекс каталога указанием прямого слеша (/) после его имени.
</p>
<p>
Например, когда пользователь запрашивает страницу <a href="http://www.example.com/this_directory/"
class="urlextern" title="http://www.example.com/this_directory/"
rel="nofollow">http://www.example.com/this_directory/</a>, он (или она) получит либо страницу,
определяемую <strong>DirectoryIndex</strong>, если она существует, список файлов в каталоге,
сгенерированный сервером, если не существует и определена опция <strong>Indexes</strong>, или страницу
Permission Denied (недостаточно прав доступа) в остальных случаях. Сервер попытается найти один из
файлов, перечисленных в инструкции <strong>DirectoryIndex</strong> и вернет первый найденный. Если не
найдет ни одного и если установлено Options Indexes для данного каталога, сервер создаст и вернет список
в формате <abbr title="HyperText Markup Language">HTML</abbr> подкаталогов и файлов в этом каталоге.
Значение по умолчанию, находящееся в /etc/apache2/mods-available/dir.conf это «index.html index.cgi
index.pl index.php index.xhtml index.htm». Поэтому, если Apache2 найдет файл в запрашиваемом каталоге,
соответствующий любому из этих имен, первый же из них будет показан [клиенту].
</p>
<p>
2. Инструкция <strong>ErrorDocument</strong> позволяет вам определить файл для Apache2, используемый при
определенных ошибочных событиях. Например, если пользователь запросил ресурс, который не существует,
возникнет ошибка 404. По умолчанию Apache2 просто вернет код возврата <abbr
title="Hyper Text Transfer Protocol">HTTP</abbr> 404. Прочитайте
/etc/apache2/conf.d/localized-error-pages для детальных инструкций по использованию ErrorDocument,
включающий расположение файлов примеров.
</p>
<p>
3. По умолчанию сервер пишет журнал обмена в файл /var/log/apache2/access.log. Вы можете поменять это
для каждого сайта в файлах настроек ваших виртуальных хостов с помощью инструкции
<strong>CustomLog</strong> или спуститься на уровень настроек по умолчанию, определяемых в
/etc/apache2/conf.d/other-vhosts-access-log. Вы можете также определить файл, в который будут
сохраняться ошибки, через инструкцию <strong>ErrorLog</strong>, которая изначально указывает на
var/log/apache2/error.log. Они хранятся отдельно от журнала обмена чтобы помочь в решении проблем с
вашим сервером Apache2. Вы можете также определить <strong>LogLevel</strong> (изначально значение
"warn") и <strong>LogFormat</strong> (смотрите /etc/apache2/apache2.conf для значений по умолчанию).
</p>
<p>
4. Некоторые опции задаются на уровне каталогов вместо уровня сервера. <strong>Options</strong> - одна
из таких директив. Раздел <strong>Directory</strong> заключается в <abbr
title="Extensible Markup Language">XML</abbr>-подобные теги, как показано ниже:
</p>
<pre class="code"><Directory /var/www/mynewsite>
...
</Directory></pre>
<p>
Инструкция <strong>Options</strong> внутри раздела <strong>Directory</strong> принимает одно или
несколько из следующих значений (среди прочего), разделенные пробелами:
</p>
<ul>
<li class="level">
<div class="li">
<p>
<strong>ExecCGI</strong> - Разрешает выполнение <abbr
title="Common Gateway Interface">CGI</abbr> сценариев. <abbr
title="Common Gateway Interface">CGI</abbr> сценарии не выполняются, если данная опция
не выбрана.
</p>
</div>
</li>
</ul>
<div class="notetip">Большинство файлов не должны выполняться как <abbr
title="Common Gateway Interface">CGI</abbr> сценарии. Это может быть очень опасно. <abbr
title="Common Gateway Interface">CGI</abbr> сценарии должны находиться в отдельном каталоге и вне
вашего <strong>DocumentRoot</strong>. И только для этого каталога должна указываться опция
<strong>ExecCGI</strong>. Так сделано изначально и по умолчанию <abbr
title="Common Gateway Interface">CGI</abbr> сценарии располагаются в /usr/lib/cgi-bin.
</div>
<ul>
<li class="level">
<div class="li">
<p>
<strong>Includes</strong> - Позволяет включения на стороне сервера. Включения на стороне
сервера позволяют файлам <abbr title="HyperText Markup Language">HTML</abbr> включать другие
файлы. Смотрите <a href="https://help.ubuntu.com/community/ServerSideIncludes"
class="urlextern" title="https://help.ubuntu.com/community/ServerSideIncludes"
rel="nofollow">документацию Apache SSI (сообщества Ubuntu)</a> для дополнительных
деталей.
</p>
</div>
</li>
<li class="level">
<div class="li">
<p>
<strong>IncludesNOEXEC</strong> - Позволяет включения на стороне сервера, но блокирует
команды <strong>#exec</strong> и <strong>#include</strong> в <abbr
title="Common Gateway Interface">CGI</abbr> сценариях.
</p>
</div>
</li>
<li class="level">
<div class="li">
<p>
<strong>Indexes</strong> - Показывает форматированный список содержимого каталога, если не
найдены DirectoryIndex (как например index.html) в запрашиваемом каталоге.
</p>
</div>
</li>
</ul>
<div class="noteimportant">По соображениям безопасности эта опция обычно не устанавливается и обычно не
должна присутствовать для вашего каталога DocumentRoot. Включайте эту опцию осторожно на уровне
каталогов только если вы уверены, что хотите показать пользователям полное содержание этого каталога.
</div>
<ul>
<li class="level">
<div class="li">
<p>
<strong>Multiview</strong> - Поддерживает зависящие от содержимого просмотры; эта опция по
умолчанию выключена по соображениям безопасности. Смотрите <a
href="http://httpd.apache.org/docs/2.2/mod/mod_negotiation.html#multiviews"
class="urlextern"
title="http://httpd.apache.org/docs/2.2/mod/mod_negotiation.html#multiviews"
rel="nofollow">документацию Apache2 по этой опции</a>.
</p>
</div>
</li>
<li class="level">
<div class="li">
<p>
<strong>SymLinksIfOwnerMatch</strong> - Следует по символическим ссылкам если целевой файл
или каталог имеет того же владельца, что и ссылка.
</p>
</div>
</li>
</ul>
</div>
<h4 id="настройки_httpd">Настройки httpd</h4>
<div class="level4">
<p>
Этот раздел раскрывает некоторые основные конфигурационные настройки сервиса <strong>httpd</strong>.
</p>
<p>
<strong>LockFile</strong> - инструкция LockFile устанавливает путь к блокирующему файлу (lockfile) когда
сервер скомпилирован с опцией USE_FCNTL_SERIALIZED_ACCEPT или USE_FLOCK_SERIALIZED_ACCEPT. Он должен
сохраняться на локальном диске. Стоит оставить значение по умолчанию если только каталог журналов не
расположен на NFS ресурсе. В противном случае исходное значение стоить изменить на каталог локального
диска с правами на чтение только для root.
</p>
<p>
<strong>PidFile</strong> - инструкция PidFile устанавливает файл, в который сервер записывает ID своего
процесса (pid). Этот файл должен быть доступен на чтение только root. В большинстве случаев этот
параметр стоит оставить без изменений.
</p>
<p>
<strong>User</strong> - инструкция User устанавливает userid (ID пользователя), используемый сервером
для ответа на запросы. Эта настройка определяет права доступа сервера. Любые файлы, недоступные этому
пользователю, также будут недоступны для посетителей вашего сайта. По умолчанию используется
пользователь «www-data».
</p>
<div class="noteimportant">Пока вы находитесь в здравом уме и твердой памяти, не используйте в качестве
пользователя root. Использование здесь root создаст серьезные пробоины в безопасности вашего сервера.
</div>
<p>
<strong>Group</strong> - инструкция Group аналогична директиве User. Group устанавливает группу под
которой сервер будет отвечать на запросы. Значение по умолчанию также «www-data».
</p>
</div>
<h4 id="модули_apache2">Модули Apache2</h4>
<div class="level4">
<p>
Apache2 - модульный сервер. Это означает, что только самая базовая функциональность включена в ядро
сервера. Расширенные возможности доступны через модули, которые могут быть загружены в Apache2. По
умолчанию базовый набор модулей включается в сервер на этапе компиляции. Если сервер скомпилирован для
использования динамически загружаемых модулей, то модули могут быть скомпилированы отдельно и добавлены
в любое время с использованием инструкции <strong>LoadModule</strong>. В противном случае Apache2 должен
быть перекомпилирован для добавления или удаления модулей.
</p>
<p>
Ubuntu компилирует Apache2 с возможностью динамической загрузки модулей. Конфигурационные директивы
могут быть включены по условию присутствия соответствующего модуля в блоке
<strong><IfModule></strong>.
</p>
<p>
Вы можете установить дополнительные модули Apache2 и использовать их с вашим интернет сервером.
Например, запустите следующую команду в терминале для установки модуля авторизации MySQL:
</p>
<pre class="code">sudo apt-get install libapache2-mod-auth-mysql</pre>
<p>
Ищите дополнительные модули в каталоге /etc/apache2/mods-available.
</p>
<p>
Используйте утилиту a2enmod для включения модуля:
</p>
<pre class="code">sudo a2enmod auth_mysql
sudo service apache2 restart</pre>
<p>
Аналогично a2dismod выключит модуль:
</p>
<pre class="code">sudo a2dismod auth_mysql
sudo service apache2 restart</pre>
</div>
<h3 class="sectionedit4" id="настройка_https">Настройка HTTPS</h3>
<div class="level3">
<p>
Модуль <strong>mod_ssl</strong> добавляет важную возможность для сервера Apache2 - возможность
шифрованных соединений. Таким образом, когда ваш браузер соединяется с использованием <abbr
title="Secure Sockets Layer">SSL</abbr>, используется префикс https:// в начале адреса <abbr
title="Uniform Resource Locator">URL</abbr> в строке навигации.
</p>
<p>
Модуль <strong>mod_ssl</strong> доступен в пакете apache2-common. Выполните следующую команду в
терминале для включения этого модуля:
</p>
<pre class="code">sudo a2enmod ssl</pre>
<p>
Настройки по умолчанию для HTTPS находятся в файле /etc/apache2/sites-available/default-ssl. Чтобы
Apache2 предоставлял HTTPS, также требуются файлы ключа и сертификата. Изначальная настройка HTTPS
использует сертификат и ключ, созданные пакетом ssl-cert. Они подходят для тестирования, но должны быть
заменены на сертификат, соответствующий вашему сайту или серверу. Для информации по созданию ключей и
получению сертификатов смотрите раздел <a
href="/wiki/%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE_ubuntu_server/%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C/certificates"
class="wikilink1"
title="wiki:руководство_по_ubuntu_server:безопасность:certificates">Сертификаты</a>.
</p>
<p>
Для настройки Apache2 для HTTPS введите следующее:
</p>
<pre class="code">sudo a2ensite default-ssl</pre>
<div class="noteclassic">Каталоги /etc/ssl/certs и /etc/ssl/private используются по умолчанию. Если вы
установили сертификат и ключ в другие каталоги, убедитесь что изменили соответственно опции
SSLCertificateFile и SSLCertificateKeyFile.
</div>
<p>
С Apache2, теперь настроенным на HTTPS, перезапустим сервис для разрешения новых настроек:
</p>
<pre class="code">sudo service apache2 restart</pre>
<div class="noteclassic">В зависимости от того как вы выпускали свой сертификат, вам может потребоваться
ввести кодовую фразу при старте Apache2.
</div>
<p>
Вы можете получить доступ к страницам защищенного сервера набрав https://your_hostname/url/ в адресной
строке вашего браузера.
</p>
</div>
<h3 class="sectionedit5" id="права_разделения_записи">Права разделения записи</h3>
<div class="level3">
<p>
Чтобы более одного пользователя имели право записи в один и тот же каталог, необходимо дать право записи
группе, которая их объединяет. Следующий пример предоставляет права на запись в каталог /var/www для
группы «webmasters».
</p>
<pre class="code">sudo chgrp -R webmasters /var/www
sudo find /var/www -type d -exec chmod g=rwxs "{}" \;
sudo find /var/www -type f -exec chmod g=rws "{}" \;</pre>
<div class="noteclassic">Если доступ должен быть предоставлен более чем одной группе на каталог, используйте
Списки управляемого доступа (<abbr title="Access Control List">ACL</abbr>).
</div>
</div>
<h3 class="sectionedit6" id="ссылки">Ссылки</h3>
<div class="level3">
<ol>
<li class="level">
<div class="li">
<p>
<a href="http://httpd.apache.org/docs/2.2/" class="urlextern"
title="http://httpd.apache.org/docs/2.2/" rel="nofollow">Документация по Apache2</a>
содержит более глубокую информацию по директивам настройки. Также смотрите пакет
<strong>apache2-doc</strong> для официальной документации по Apache2.
</p>
</div>
</li>
<li class="level">
<div class="li">
<p>
Смотрите сайт <a href="http://www.modssl.org/docs/" class="urlextern"
title="http://www.modssl.org/docs/" rel="nofollow">документации по Mod SSL</a> для
дополнительной информации по <abbr title="Secure Sockets Layer">SSL</abbr>.
</p>
</div>
</li>
<li class="level">
<div class="li">
<p>
<a href="http://oreilly.com/catalog/9780596001919/" class="urlextern"
title="http://oreilly.com/catalog/9780596001919/" rel="nofollow">Apache Cookbook</a> от
O'Reilly - отличный ресурс по созданию специфичных настроек для Apache2.
</p>
</div>
</li>
<li class="level">
<div class="li">
<p>
Для вопросов по Apache2 в Ubuntu используйте <abbr title="Internet Relay Chat">IRC</abbr>
канал #ubuntu-server на <a href="http://freenode.net/" class="urlextern"
title="http://freenode.net/" rel="nofollow">freenode.net</a>.
</p>
</div>
</li>
<li class="level">
<div class="li">
<p>
Для обычно интегрируемого с <abbr title="Hypertext Preprocessor">PHP</abbr> и MySQL Apache2
хорошим ресурсом будет страница<a href="https://help.ubuntu.com/community/ApacheMySQLPHP"
class="urlextern" title="https://help.ubuntu.com/community/ApacheMySQLPHP"
rel="nofollow">Apache MySQL PHP Ubuntu Wiki</a>.
</p>
</div>
</li>
</ol>
<hr>
</div>
</div>
</div>