view xml/ru/linux_packages.xml @ 2322:bb03e6ac2f16

Added per-distro instructions on how to enable packages signature checks.
author Konstantin Pavlov <thresh@videolan.org>
date Wed, 30 Jan 2019 13:04:46 +0300
parents 580c3007d242
children eaef8f4ca921
line wrap: on
line source

<!--
  Copyright (C) Nginx, Inc.
  -->

<!DOCTYPE article SYSTEM "../../dtd/article.dtd">

<article name="nginx: пакеты для Linux"
         link="/ru/linux_packages.html"
         lang="ru"
         rev="31"
         toc="no">

<section id="distributions">

<para>
В данный момент доступны готовые пакеты для следующих дистрибутивов и их
версий:
</para>

<para>
RHEL/CentOS:

<table note="yes">

<tr>
<td width="30%">Версия</td>
<td>Поддерживаемые платформы</td>
</tr>

<tr>
<td width="30%">6.x</td>
<td>x86_64, i386</td>
</tr>

<tr>
<td width="30%">7.4+</td>
<td>x86_64, ppc64le</td>
</tr>

</table>
</para>

<para>
Debian:

<table note="yes">

<tr>
<td width="30%">Версия</td>
<td>Поддерживаемые платформы</td>
</tr>

<tr>
<td width="30%">8.x “jessie”</td>
<td>x86_64, i386</td>
</tr>

<tr>
<td width="30%">9.x “stretch”</td>
<td>x86_64, i386</td>
</tr>

</table>
</para>

<para>
Ubuntu:

<table note="yes">

<tr>
<td width="30%">Версия</td>
<td>Поддерживаемые платформы</td>
</tr>

<tr>
<td width="30%">14.04 “trusty”</td>
<td>x86_64, i386, aarch64/arm64</td>
</tr>

<tr>
<td width="30%">16.04 “xenial”</td>
<td>x86_64, i386, ppc64el, aarch64/arm64</td>
</tr>

<tr>
<td width="30%">18.04 “bionic”</td>
<td>x86_64, aarch64/arm64</td>
</tr>

<tr>
<td width="30%">18.10 “cosmic”</td>
<td>x86_64</td>
</tr>

</table>
</para>

<para>
SLES:

<table note="yes">
<tr>
<td width="30%">Версия</td>
<td>Поддерживаемые платформы</td>
</tr>

<tr>
<td width="30%">12</td>
<td>x86_64</td>
</tr>

<tr>
<td width="30%">15</td>
<td>x86_64</td>
</tr>

</table>
</para>

<para>
Для того, чтобы поставить nginx на новой машине, необходимо подключить
и настроить репозиторий пакетов nginx.
После этого можно будет установить и обновлять nginx из этого репозитория.
</para>

</section>


<section name="Инструкции по установке" id="instructions">

<section name="RHEL/CentOS" id="RHEL-CentOS">

<para>
Установите пакеты, необходимые для подключения yum-репозитория:
<programlisting>
sudo yum install yum-utils
</programlisting>

Для подключения yum-репозитория создайте файл с именем
<path>/etc/yum.repos.d/nginx.repo</path>
со следующим содержимым:

<programlisting>
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
</programlisting>

По умолчанию используется репозиторий для стабильной версии nginx.
Если предпочтительно использовать пакеты для основной версии nginx,
выполните следующую команду:
<programlisting>
sudo yum-config-manager --enable nginx-mainline
</programlisting>

Чтобы установить nginx, выполните следующую команду:
<programlisting>
sudo yum install nginx
</programlisting>

При запросе подтверждения GPG-ключа проверьте, что отпечаток ключа совпадает
с <command>573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62</command>, и,
если это так, подтвердите его.
</para>

</section>


<section name="Debian" id="Debian">

<para>
Установите пакеты, необходимые для подключения apt-репозитория:
<programlisting>
sudo apt install curl gnupg2 ca-certificates lsb-release
</programlisting>

Для подключения apt-репозитория для стабильной версии nginx,
выполните следующую команду:
<programlisting>
echo "deb http://nginx.org/packages/debian `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list
</programlisting>

Если предпочтительно использовать пакеты для основной версии nginx,
выполните следующую команду вместо предыдущей:
<programlisting>
echo "deb http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list
</programlisting>

Теперь нужно импортировать официальный ключ,
используемый apt для проверки подлинности пакетов:
<programlisting>
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
</programlisting>

Проверьте, верный ли ключ был импортирован:
<programlisting>
sudo apt-key fingerprint ABF5BD827BD9BF62
</programlisting>

Вывод команды должен содержать полный отпечаток ключа
<command>573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62</command>:
<programlisting>
pub   rsa2048 2011-08-19 [SC] [expires: 2024-06-14]
      573B FD6B 3D8F BC64 1079  A6AB ABF5 BD82 7BD9 BF62
uid   [ unknown] nginx signing key &lt;signing-key@nginx.com&gt;
</programlisting>

Чтобы установить nginx, выполните следующие команды:
<programlisting>
sudo apt update
sudo apt install nginx
</programlisting>
</para>

</section>


<section name="Ubuntu" id="Ubuntu">

<para>
Установите пакеты, необходимые для подключения apt-репозитория:
<programlisting>
sudo apt install curl gnupg2 ca-certificates lsb-release
</programlisting>

Для подключения apt-репозитория для стабильной версии nginx,
выполните следующую команду:
<programlisting>
echo "deb http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list
</programlisting>

Если предпочтительно использовать пакеты для основной версии nginx,
выполните следующую команду вместо предыдущей:
<programlisting>
echo "deb http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list
</programlisting>

Теперь нужно импортировать официальный ключ, используемый apt для проверки
подлинности пакетов:
<programlisting>
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
</programlisting>

Проверьте, верный ли ключ был импортирован:
<programlisting>
sudo apt-key fingerprint ABF5BD827BD9BF62
</programlisting>

Вывод команды должен содержать полный отпечаток ключа
<command>573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62</command>:
<programlisting>
pub   rsa2048 2011-08-19 [SC] [expires: 2024-06-14]
      573B FD6B 3D8F BC64 1079  A6AB ABF5 BD82 7BD9 BF62
uid   [ unknown] nginx signing key &lt;signing-key@nginx.com&gt;
</programlisting>

Чтобы установить nginx, выполните следующие команды:
<programlisting>
sudo apt update
sudo apt install nginx
</programlisting>
</para>

</section>


<section name="SLES" id="SLES">

<para>
Установите пакеты, необходимые для подключения zypper-репозитория:
<programlisting>
sudo zypper install curl ca-certificates gpg2
</programlisting>

Для подключения zypper-репозитория для стабильной версии nginx,
выполните следующую команду:
<programlisting>
sudo zypper addrepo --gpgcheck --type yum --refresh --check \
    'http://nginx.org/packages/sles/$releasever' nginx-stable
</programlisting>

Если предпочтительно использовать пакеты для основной версии nginx,
выполните следующую команду вместо предыдущей:
<programlisting>
sudo zypper addrepo --gpgcheck --type yum --refresh --check \
    'http://nginx.org/packages/mainline/sles/$releasever' nginx-mainline
</programlisting>

Теперь нужно импортировать официальный ключ, используемый zypper/rpm
для проверки подлинности пакетов.
Скачайте ключ:
<programlisting>
curl -o /tmp/nginx_signing.key https://nginx.org/keys/nginx_signing.key
</programlisting>

Проверьте, верный ли ключ был загружен:
<programlisting>
gpg --with-fingerprint /tmp/nginx_signing.key
</programlisting>

Вывод команды должен содержать полный отпечаток ключа
<command>573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62</command>:
<programlisting>
pub  2048R/7BD9BF62 2011-08-19 [expires: 2024-06-14]
      Key fingerprint = 573B FD6B 3D8F BC64 1079  A6AB ABF5 BD82 7BD9 BF62
uid nginx signing key &lt;signing-key@nginx.com&gt;
</programlisting>

Импортируйте ключ в базу данных rpm:
<programlisting>
sudo rpmkeys --import /tmp/nginx_signing.key
</programlisting>

Чтобы установить nginx, выполните следующую команду:
<programlisting>
sudo zypper install nginx
</programlisting>
</para>

</section>

</section>


<section name="Пакеты с исходным кодом" id="sourcepackages">

<para>
Исходные коды пакетов находятся в соответствующем
<link url="http://hg.nginx.org/pkg-oss">репозитории</link>.
</para>

<para>
Ветка репозитория <literal>default</literal> содержит исходные коды пакетов для
mainline-версии, в то время как ветки <literal>stable-*</literal> содержат
исходные коды пакетов для стабильных релизов.
Для сборки бинарных пакетов запустите <command>make</command> в каталоге
<path>debian/</path> для Debian/Ubuntu или в каталоге
<path>rpm/SPECS/</path> для RHEL/CentOS/SLES.
</para>

<para>
Исходные коды пакетов распространяются под той же
<link url="../LICENSE">BSD-подобной лицензией из 2 пунктов</link>,
что и сам nginx.
</para>

</section>


<section name="Динамические модули" id="dynmodules">

<para>
Для того чтобы избежать увеличения числа зависимостей, основной пакет nginx не
включает модули, которым требуются дополнительные библиотеки.
Начиная с версии 1.9.11 nginx поддерживает
<link doc="docs/ngx_core_module.xml" id="load_module">динамические
модули</link>, и следующие модули собираются как динамические и поставляются в
виде отдельных пакетов:
<programlisting>
nginx-module-geoip
nginx-module-image-filter
nginx-module-njs
nginx-module-perl
nginx-module-xslt
</programlisting>
</para>

</section>


<section name="Подписи" id="signatures">

<para>
Поскольку наши <link doc="../en/pgp_keys.xml">PGP-ключи</link>
находятся на том же сервере, что и пакеты,
им следует доверять в равной степени.
Поэтому мы настоятельно рекомендуем дополнительно проверить
подлинность загруженных PGP-ключей.
В PGP есть понятие “сети доверия”,
когда ключ подписывается чьим-либо другим ключом,
тот в свою очередь третьим, и т.д.
Это зачастую позволяет построить цепочку от произвольного ключа
до ключа человека, которого вы знаете и кому доверяете лично,
и таким образом удостовериться в подлинности первого ключа в цепочке.
Подробно эта концепция описана в
<link url="http://www.dewinter.com/gnupg_howto/english/GPGMiniHowto-1.html">
GPG Mini Howto</link>.
У наших ключей есть достаточное количество подписей,
поэтому проверить их подлинность относительно несложно.
</para>

</section>

</article>