<?xml version="1.0" encoding="KOI8-R"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru"><head><!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>Компилирование и установка - HTTP сервер Apache</title>
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="./images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="./mod/">Модули</a> | <a href="./mod/directives.html">Директивы</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Глоссарий</a> | <a href="./sitemap.html">Карта сайта</a></p>
<p class="apache">HTTP сервер Apache версии 2.0</p>
<img alt="" src="./images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP сервер</a> &gt; <a href="http://httpd.apache.org/docs/">Документация</a> &gt; <a href="./">Версия 2.0</a></div><div id="page-content"><div id="preamble"><h1>Компилирование и установка</h1>
<div class="toplang">
<p><span>Доступные языки: </span><a href="./de/install.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="./en/install.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./es/install.html" hreflang="es" rel="alternate" title="Espa&#241;ol">&nbsp;es&nbsp;</a> |
<a href="./ja/install.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/install.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./ru/install.html" title="Russian">&nbsp;ru&nbsp;</a></p>
</div>


    <p>Этот документ освещает вопросы компилирования и установки сервера
    Apache только на UNIX и UNIX-подобных системах. Если вы хотите установить
    сервер под Windows, то вам необходимо прочитать документ <a href="platform/windows.html">&#171;Использование Apache под Microsoft Windows&#187;</a>.
    Информация, касающаяся остальных платформ, содержится в документе
    <a href="platform/">&#171;Платформы&#187;</a>.</p>

    <p>Среда конфигурирования и установки сервера полностью отличается от той, которая была
    в Apache 1.3. Apache 1.3 использовал обычный набор скриптов, позволявший упростить
    процесс установки. Apache 2.0 теперь использует системы <code>libtool</code> и
    <code>autoconf</code>, что делает сервер похожим на другие программные продукты
    с открытым исходным кодом (Open Source projects).</p>
    
    <p>Если вы переходите от младшего релиза сервера к старшему внутри
    одной и той же ветки (например, от 2.0.50 к 2.0.51), то
    можете начать чтение с раздела <a href="#upgrading">апгрейд</a>.</p>

</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#overview">Краткий обзор &#171;для нетерпеливых&#187;</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#requirements">Требования</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#download">Загрузка</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#extract">Распаковка</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#configure">Конфигурирование дерева исходных кодов</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#compile">Сборка</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#install">Установка</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#customize">Настройка</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#test">Тестирование</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#upgrading">Апгрейд</a></li>
</ul><h3>См. также</h3><ul class="seealso"><li><a href="programs/configure.html">Конфигурирование дерева исходных кодов</a></li><li><a href="invoking.html">Запуск сервера</a></li><li><a href="stopping.html">Остановка и перезапуск</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="overview" id="overview">Краткий обзор &#171;для нетерпеливых&#187;</a></h2>

    <table>
    
      <tr>
        <td><a href="#download">Загрузка</a></td>

        <td><code>$ lynx http://httpd.apache.org/download.cgi</code>
        </td>
      </tr>

      <tr>
        <td><a href="#extract">Распаковка</a></td>

        <td><code>$ gzip -d httpd-2_0_<em>NN</em>.tar.gz<br />
         $ tar xvf httpd-2_0_<em>NN</em>.tar</code> </td>
      </tr>

      <tr>
        <td><a href="#configure">Конфигурирование</a></td>

        <td><code>$ ./configure --prefix=<em>PREFIX</em></code>
        </td>
      </tr>

      <tr>
        <td><a href="#compile">Компилирование</a></td>

        <td><code>$ make</code> </td>
      </tr>

      <tr>
        <td><a href="#install">Установка</a></td>

        <td><code>$ make install</code> </td>
      </tr>

      <tr>
        <td><a href="#customize">Настройка</a></td>

        <td><code>$ vi <em>PREFIX</em>/conf/httpd.conf</code> </td>
      </tr>

      <tr>
        <td><a href="#test">Пробный запуск</a></td>

        <td><code>$ <em>PREFIX</em>/bin/apachectl start</code>
        </td>
      </tr>
    </table>

    <p><em>NN</em> необходимо заменить на текущий младший номер версии,
    а вместо <em>PREFIX</em> надо указать путь, по
    которому должен быть установлен сервер. Если <em>PREFIX</em> не указан,
    то установка по умолчанию производится в каталог
    <code>/usr/local/apache2</code>.</p>

    <p>Более подробно все этапы компилирования и установки сервера рассмотрены
    ниже, причём начинается следующий раздел с описания системных требований,
    необходимых, для того чтобы установка прошла успешно.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="requirements" id="requirements">Требования</a></h2>

    <p>Требования, необходимые для успешной сборки сервера:</p>

    <dl>
      <dt>Дисковое пространство</dt>
      <dd>Убедитесь, что на диске есть как мининимум 50 MB
      свободного места для временных файлов. После установки
      Apache занимает приблизительно 10 MB. Точный размер занимаемого
      места будет зависеть в основном от выбранной конфигурации и
      дополнительно устанавливаемых модулей, не входящих в дистрибутив
      Apache.</dd>

      <dt>ANSI-C компилятор и необходимая среда сборки</dt>
      <dd>Убедитесь, что в вашей системе установлен ANSI-C
      компилятор. Рекомендуется использовать <a href="http://www.gnu.org/software/gcc/gcc.html">GNU C
      компилятор (GCC)</a> от <a href="http://www.gnu.org/">Free Software Foundation (FSF)</a>
      (версии 2.7.2 вполне достаточно). Если у вас другой компилятор,
      то выясните, поддерживает ли он стандарт ANSI. Проверьте также,
      чтобы в переменной окружения <code>PATH</code> был указан каталог,
      содержащий основные утилиты, необходимые для сборки (<code>make</code> и другие).</dd>

      <dt>Синхронизация времени</dt>
      <dd>В некоторых заголовках HTTP протокола указывается время.
      Поэтому вам необходимо выяснить, как можно установить в вашей
      системе средство синхронизации времени. Обычно для этих целей
      используются программы <code>ntpdate</code> или <code>xntpd</code>,
      основанные на сетевом протоколе синхронизации времени
      (Network Time Protocol - NTP). Для получения более подробной информации
      об NTP и серверах синхронизации времени, обратитесь в группу новостей Usenet <a href="news:comp.protocols.time.ntp">comp.protocols.time.ntp</a>,
      а также посетите <a href="http://www.ntp.org">домашнюю страницу NTP</a>.</dd>

      <dt><a href="http://www.perl.org/">Perl 5</a>
      [ОПЦИОНАЛЬНО]</dt>
      <dd>Для выполнения некоторых вспомогательных скриптов, таких как
      <code class="program"><a href="./programs/apxs.html">apxs</a></code> или <code class="program"><a href="./programs/dbmmanage.html">dbmmanage</a></code>
      (которые написаны на Perl), необходим интерпретатор с языка Perl
      (версии 5.003 или выше достаточно).
      Если в вашей
      системе установлено несколько интерпретаторов с языка Perl (например Perl 4 и Perl 5),
      то для того чтобы скрипт <code class="program"><a href="./programs/configure.html">configure</a></code> выбрал нужный, выполните
      его с опцией <code>--with-perl</code> (описание смотрите ниже).
      Если конфигурационный скрипт
      <code class="program"><a href="./programs/configure.html">configure</a></code> не найдёт его в вашей системе, то вы всё равно
      сможете собрать и установить Apache 2.0 - в этом случае не будут
      работать только перечисленные выше вспомогательные скрипты.
      </dd>
    </dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="download" id="download">Загрузка</a></h2>

    <p>Apache можно загрузить со <a href="http://httpd.apache.org/download.cgi">страницы загрузки Apache HTTP Software
    Foundation</a>, на которой также приводится список некоторых зеркальных серверов.
    Пользователям, работающим на unix-подобных системах, рекомендуется
    собирать Apache из исходных кодов. Процесс сборки (описанный ниже)
    достаточно прост и позволяет настроить сервер под ваши нужды.
    К тому же зачастую бинарные пакеты содержат устаревшую версию сервера.
    Если же вы всё-таки загрузили бинарный пакет, то следуйте инструкциям,
    находящимся в файле <code>INSTALL.bindist</code> из дистрибутива.</p>

    <p>После загрузки дистрибутива, необходимо убедиться, что у вас в руках полная,
    неизменённая версия HTTP сервера Apache. Это можно сделать
    тестированием архива (tarball) на соответствие PGP подписи.
    Процедура проверки детально описана на <a href="http://httpd.apache.org/download.cgi#verify">странице
	загрузки</a>. Также вы можете посмотреть <a href="http://httpd.apache.org/dev/verification.html">подробный
	пример использования PGP</a>.</p>

</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="extract" id="extract">Распаковка</a></h2>

    <p>Распаковка архива исходных кодов Apache
    заключается в его непосредственной распаковке и
    разархивировании (untarring):</p>

<div class="example"><p><code>
$ gzip -d httpd-2_0_<em>NN</em>.tar.gz<br />
$ tar xvf httpd-2_0_<em>NN</em>.tar
</code></p></div>

    <p>После выполнения этих команд будет создан новый каталог
    с исходными кодами сервера. Вы должны зайти
    в этот каталог, прежде чем начнёте компилировать сервер.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="configure" id="configure">Конфигурирование дерева исходных кодов</a></h2>

    <p>Следующий шаг заключается в конфигурировании дерева исходных
    кодов в соответствии с той системой, на которую вы устанавливаете
    сервер, и вашими собственными нуждами. Это делается при помощи
    скрипта <code class="program"><a href="./programs/configure.html">configure</a></code>, расположенного в корневом каталоге
    дистрибутива. (Разработчики, загружающие дерево исходных кодов посредством
    CVS, должны установить в своей системе утилиты <code>autoconf</code>
    и <code>libtool</code> и выполнить программу <code>buildconf</code>, прежде
    чем они смогут продолжнить установку. В официальных выпусках сервера
    этого делать не требуется.)</p>

    <p>Для конфигурирования дерева исходных кодов с использованием
    значений всех опций по умолчанию, просто выполните скрипт <code>./configure</code>
    без параметров. Для изменения значений опций, скрипт <code class="program"><a href="./programs/configure.html">configure</a></code>
    предлагает широкий набор переменных и опций командной строки.</p>
    
    <p>Наиболее важная опция здесь - это префикс каталога
    установки (<code>--prefix</code>), то есть тот путь, по которому
    впоследствии будет установлен Apache.
    Возможен более гибкий контроль над тем, куда будут установлены
    файлы сервера, осуществляемый дополнительными  <a href="programs/configure.html#installationdirectories">опциями
	конфигурации</a>.</p>
	
	<p>Также сейчас самое время решить, какой <a href="programs/configure.html#optionalfeatures">функциональностью</a>
	вы хотите наделить ваш веб-сервер путём включения и отключения
	соответствующих <a href="mod/">модулей</a>. По умолчанию,
	Apache компилируется с <a href="mod/module-dict.html#Status">базовым</a> набором модулей.
    Все остальные модули подключаются при помощи опции
    <code>--enable-<var>module</var></code>, где <code>module</code> -
    это название модуля, из которого убран префикс <code>mod_</code>
    и все символы подчёркивания заменены на символы тире.
    Вы также можете скомпилировать модули как <a href="dso.html">динамически подключаемые объекты (DSO)</a> --
    они могут быть загружены и выгружены из сервера во время
    его работы -- в этом случае используйте опцию
    <code>--enable-<var>module</var>=shared</code>. Отключение
    базового модуля производится при помощи опции
    <code>--disable-<var>module</var></code>. Используйте данные
    опции с осторожностью, так как <code class="program"><a href="./programs/configure.html">configure</a></code>
    не сможет предупредить вас в том случае, если модуля, который
    вы указали, нет; он просто проигнорирует соответствующую опцию.</p>
    
    <p>Наконец, иногда бывает необходимо предоставить скрипту
    <code class="program"><a href="./programs/configure.html">configure</a></code> дополнительную информацию о
    расположении вашего компилятора, библиотек или заголовочных файлов.
    Это можно сделать либо при помощи переменных окружения, либо
    при помощи опций командной строки скрипта <code class="program"><a href="./programs/configure.html">configure</a></code>.
    За более подробной информацией обращайтесь к справочному руководству
    скрипта <code class="program"><a href="./programs/configure.html">configure</a></code>.</p>

    <p>Для того чтобы получить представление о гибкости процесса конфигурирования Apache,
    рассмотрите приведённый ниже типичный пример запуска скрипта <code>./configure</code>.
    Такая конфигурация позволяет скомпилировать
    сервер для последующей установки
    в каталог <code>/sw/pkg/apache</code>, используя указанный компилятор с
	несколькими предназначенными для него опциями командной строки, и установить
	ещё два добавочных модуля <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> и <code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code>,
    которые можно будет потом использовать посредством механизма DSO.</p>

<div class="example"><p><code>
      $ CC="pgcc" CFLAGS="-O2" \<br />
       ./configure --prefix=/sw/pkg/apache \<br />
       --enable-rewrite=shared \<br />
       --enable-speling=shared
</code></p></div>

    <p>При выполнении, скрипт <code class="program"><a href="./programs/configure.html">configure</a></code> проверяет, установлено ли в вашей системе
    всё необходимое, а затем создает Make-файлы, которые будут затем использованы
    для компилирования сервера.</p>
    
    <p>Подробное описание всех возможных опций скрипта
    <code class="program"><a href="./programs/configure.html">configure</a></code> приведено в справочном руководстве
    <code class="program"><a href="./programs/configure.html">configure</a></code>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="compile" id="compile">Сборка</a></h2>

    <p>Теперь вы можете скомпилировать и собрать сервер Apache,
    выполнив следующую команду:</p>

<div class="example"><p><code>$ make</code></p></div>

    <p>Наберитесь терпения - компилирование сервера с базовой конфигурацией
    (конфигурацией по умолчанию) занимает приблизительно три минуты
    на такой системе, как Pentium III/Linux 2.2. Реальное время сборки
    будет зависеть от вашего аппаратного обеспечения и от количества
    модулей, которые вы решили компилировать вместе с сервером.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="install" id="install">Установка</a></h2>

    <p>Теперь настало время для установки сервера в каталог
    <em>PREFIX</em>, который был указан при конфигурировании Apache
    (смотрите выше опцию <code>--prefix</code>), выполнив:</p>

<div class="example"><p><code>$ make install</code></p></div>

    <p>Если устанавливать Apache поверх предыдущей версии сервера, то
    старые конфигурационные файлы и документы будут оставлены без изменений.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="customize" id="customize">Настройка</a></h2>

    <p>Далее вы можете настроить ваш HTTP сервер Apache посредством редактирования
    <a href="configuring.html">конфигурационных файлов</a> в каталоге
    <code><em>PREFIX</em>/conf/</code>.</p>

<div class="example"><p><code>$ vi <em>PREFIX</em>/conf/httpd.conf</code></p></div>

    <p>Руководство по использованию Apache вы можете найти либо по локальному
    адресу у себя на сервере <a href="./">docs/manual/</a>, либо на официальном
    сайте Apache <a href="http://httpd.apache.org/docs/2.0/">http://httpd.apache.org/docs/2.0/</a>,
    где опубликована самая последняя версия документации и вся необходимая справочная информация
    по всем возможным <a href="mod/directives.html">конфигурационным директивам</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="test" id="test">Тестирование</a></h2>

    <p>Теперь вы можете <a href="invoking.html">запустить</a> свой HTTP сервер Apache,
    выполнив следующую команду:</p>

<div class="example"><p><code>$ <em>PREFIX</em>/bin/apachectl start</code></p></div>

    <p>и если всё прошло успешно, то вы сможете запросить свой первый документ
    по адресу <code>http://localhost/</code>. Веб-страница, которую вы увидете,
    находится в каталоге <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> - по умолчанию,
    это <code><em>PREFIX</em>/htdocs/</code>. Затем <a href="stopping.html">остановите</a>
    сервер следующей командой:</p>

<div class="example"><p><code>$ <em>PREFIX</em>/bin/apachectl stop</code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="upgrading" id="upgrading">Апгрейд</a></h2>
	
	<p>Первым шагом при апгрейде является чтение информации о релизе
	и файла <code>CHANGES</code>, находящегося в дереве исходных
	кодов - это поможет вам понять, каким образом апгрейд повлияет
	на ваш текущий веб-сервер. При переходе между разными ветками
	сервера (например, с 1.3 на 2.0, или с 2.0 на 2.2), скорее всего
	появятся существенные нововведения в конфигурировании процесса сборки
	или работы сервера, которые потребуют анализа и ручной настройки.
	Все модули также необходимо будет проапгрейдить, для того чтобы
	они могли соответствовать изменениям в API модулей.</p>
	
	<p>Апгрейд, осуществляемый внутри одной ветки сервера
	(например, с 2.0.55 на 2.0.57) существенно проще.
	Выполнение команды <code>make install</code> не перезапишет
	никакие существующие документы, файлы логов или конфигурационные файлы.
	В дополнение к этому, разработчики сервера делают всё возможное,
	чтобы избежать несовместимости в опциях скрипта <code class="program"><a href="./programs/configure.html">configure</a></code>,
	рабочей конфигурации сервера и API модулей для разных
	младших релизов внутри одной ветки. В большинстве случаев вы
	можете использовать идентичную строку запуска скрипта
	<code class="program"><a href="./programs/configure.html">configure</a></code>, тот же самый конфигурационный файл
	и быть уверенными, что все ваши модули продолжат работать.
	(Это верно только для версий сервера, начиная с 2.0.41; предыдущие
	версии имеют несовместимые изменения.)</p>
	
	<p>Для апгрейда с одного младшего релиза на другой, начните
	с поиска файла <code>config.nice</code>, который должен находиться
	либо в каталоге <code>build</code> сервера, либо
	в корне дерева исходных кодов рабочего сервера. Этот файл
	содержит в себе точную копию строки запуска скрипта
	<code class="program"><a href="./programs/configure.html">configure</a></code>, которую вы использовали
	при конфигурировании дерева исходных кодов. Затем, чтобы
	осуществить апгрейд, скопируйте файл <code>config.nice</code>
	в дерево исходных кодов новой версии сервера, внесите в него
	все необходимые изменения, а затем выполните:</p>
	
	<div class="example"><p><code>
    $ ./config.nice<br />
    $ make<br />
    $ make install<br />
    $ <em>PREFIX</em>/bin/apachectl stop<br />
    $ <em>PREFIX</em>/bin/apachectl start<br />
    </code></p></div>
    
    <div class="warning">Всегда тестируйте новую версию сервера
    прежде, чем запускать её в работу. Например, вы можете
    установить и запустить новую версию сервера рядом с текущей, используя
    другой префикс установки <code>--prefix</code> и другой
    номер порта (путём изменения значения директивы <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code>), для того чтобы
    протестировать сервер на совместимость с рабочей конфигурацией,
    прежде чем делать финальный апгрейд.</div>

</div></div>
<div class="bottomlang">
<p><span>Доступные языки: </span><a href="./de/install.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="./en/install.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./es/install.html" hreflang="es" rel="alternate" title="Espa&#241;ol">&nbsp;es&nbsp;</a> |
<a href="./ja/install.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/install.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./ru/install.html" title="Russian">&nbsp;ru&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 1995-2006 The Apache Software Foundation or its licensors, as applicable.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Модули</a> | <a href="./mod/directives.html">Директивы</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Глоссарий</a> | <a href="./sitemap.html">Карта сайта</a></p></div>
</body></html>