Mercurial > hg > nginx-site
view xml/ru/linux_packages.xml @ 2724:00afc7c4d4df
Documented listen options that imply "bind".
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Thu, 20 May 2021 19:56:08 +0300 |
parents | 8b96520ca495 |
children | 5235e67595b4 |
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="58"> <section name="Поддерживаемые дистрибутивы и версии" id="distributions"> <para> Пакеты nginx доступны для следующих дистрибутивов Linux и их версий: </para> <para> <link id="RHEL-CentOS">RHEL/CentOS</link> <table note="yes"> <tr> <td width="30%">Версия</td> <td>Поддерживаемые платформы</td> </tr> <tr> <td width="30%">7.4+</td> <td>x86_64, ppc64le, aarch64/arm64</td> </tr> <tr> <td width="30%">8.x</td> <td>x86_64, aarch64/arm64</td> </tr> </table> </para> <para> <link id="Debian">Debian</link> <table note="yes"> <tr> <td width="30%">Версия</td> <td>Поддерживаемые платформы</td> </tr> <tr> <td width="30%">10.x “buster”</td> <td>x86_64, i386, aarch64/arm64</td> </tr> </table> </para> <para> <link id="Ubuntu">Ubuntu</link> <table note="yes"> <tr> <td width="30%">Версия</td> <td>Поддерживаемые платформы</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%">20.04 “focal”</td> <td>x86_64, aarch64/arm64</td> </tr> <tr> <td width="30%">20.10 “groovy”</td> <td>x86_64, aarch64/arm64</td> </tr> </table> </para> <para> <link id="SLES">SLES</link> <table note="yes"> <tr> <td width="30%">Версия</td> <td>Поддерживаемые платформы</td> </tr> <tr> <td width="30%">12 SP5+</td> <td>x86_64</td> </tr> <tr> <td width="30%">15 SP2+</td> <td>x86_64</td> </tr> </table> </para> <para> <link id="Alpine">Alpine</link> <table note="yes"> <tr> <td width="30%">Версия</td> <td>Поддерживаемые платформы</td> </tr> <tr> <td width="30%">3.10</td> <td>x86_64</td> </tr> <tr> <td width="30%">3.11</td> <td>x86_64</td> </tr> <tr> <td width="30%">3.12</td> <td>x86_64, aarch64/arm64</td> </tr> <tr> <td width="30%">3.13</td> <td>x86_64, aarch64/arm64</td> </tr> </table> </para> </section> <section name="Инструкции по установке" id="instructions"> <para> Для того, чтобы поставить nginx на новой машине, необходимо подключить и настроить репозиторий пакетов nginx. После этого можно будет установить и обновлять nginx из этого репозитория. </para> <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 module_hotfixes=true [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 module_hotfixes=true </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> Для использования пакетов из нашего репозитория вместо распространяемых в дистрибутиве, настройте закрепление: <programlisting> echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \ | sudo tee /etc/apt/preferences.d/99nginx </programlisting> Теперь нужно импортировать официальный ключ, используемый apt для проверки подлинности пакетов. Скачайте ключ: <programlisting> curl -o /tmp/nginx_signing.key https://nginx.org/keys/nginx_signing.key </programlisting> Проверьте, верный ли ключ был загружен: <programlisting> gpg --dry-run --quiet --import --import-options import-show /tmp/nginx_signing.key </programlisting> Вывод команды должен содержать полный отпечаток ключа <command>573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62</command>: <programlisting> pub rsa2048 2011-08-19 [SC] [expires: 2024-06-14] uid [ unknown] nginx signing key <signing-key@nginx.com> 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 uid nginx signing key <signing-key@nginx.com> </programlisting> Переместите ключ в каталог доверенных ключей apt (обратите внимание на изменение расширения "asc"): <programlisting> sudo mv /tmp/nginx_signing.key /etc/apt/trusted.gpg.d/nginx_signing.asc </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> Для использования пакетов из нашего репозитория вместо распространяемых в дистрибутиве, настройте закрепление: <programlisting> echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \ | sudo tee /etc/apt/preferences.d/99nginx </programlisting> Теперь нужно импортировать официальный ключ, используемый apt для проверки подлинности пакетов. Скачайте ключ: <programlisting> curl -o /tmp/nginx_signing.key https://nginx.org/keys/nginx_signing.key </programlisting> Проверьте, верный ли ключ был загружен: <programlisting> gpg --dry-run --quiet --import --import-options import-show /tmp/nginx_signing.key </programlisting> На Ubuntu 16.04, выполните следующую команду вместо предыдущей: <programlisting> gpg --with-fingerprint /tmp/nginx_signing.key </programlisting> Вывод команды должен содержать полный отпечаток ключа <command>573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62</command>: <programlisting> pub rsa2048 2011-08-19 [SC] [expires: 2024-06-14] uid [ unknown] nginx signing key <signing-key@nginx.com> 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 uid nginx signing key <signing-key@nginx.com> </programlisting> Переместите ключ в каталог доверенных ключей apt (обратите внимание на изменение расширения "asc"): <programlisting> sudo mv /tmp/nginx_signing.key /etc/apt/trusted.gpg.d/nginx_signing.asc </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_major' nginx-stable </programlisting> Если предпочтительно использовать пакеты для основной версии nginx, выполните следующую команду вместо предыдущей: <programlisting> sudo zypper addrepo --gpgcheck --type yum --refresh --check \ 'http://nginx.org/packages/mainline/sles/$releasever_major' 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 <signing-key@nginx.com> </programlisting> Импортируйте ключ в базу данных rpm: <programlisting> sudo rpmkeys --import /tmp/nginx_signing.key </programlisting> Чтобы установить nginx, выполните следующую команду: <programlisting> sudo zypper install nginx </programlisting> </para> </section> <section name="Alpine" id="Alpine"> <para> Установите пакеты, необходимые для подключения apk-репозитория: <programlisting> sudo apk add openssl curl ca-certificates </programlisting> Для подключения apk-репозитория для стабильной версии nginx, выполните следующую команду: <programlisting> printf "%s%s%s%s\n" \ "@nginx " \ "http://nginx.org/packages/mainline/alpine/v" \ `egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release` \ "/main" \ | sudo tee -a /etc/apk/repositories </programlisting> Если предпочтительно использовать пакеты для основной версии nginx, выполните следующую команду вместо предыдущей: <programlisting> printf "%s%s%s%s\n" \ "@nginx " \ "http://nginx.org/packages/mainline/alpine/v" \ `egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release` \ "/main" \ | sudo tee -a /etc/apk/repositories </programlisting> Теперь нужно импортировать официальный ключ, используемый apk для проверки подлинности пакетов. Скачайте ключ: <programlisting> curl -o /tmp/nginx_signing.rsa.pub https://nginx.org/keys/nginx_signing.rsa.pub </programlisting> Проверьте, верный ли ключ был загружен: <programlisting> openssl rsa -pubin -in /tmp/nginx_signing.rsa.pub -text -noout </programlisting> Вывод команды должен содержать следующий модуль: <programlisting> Public-Key: (2048 bit) Modulus: 00:fe:14:f6:0a:1a:b8:86:19:fe:cd:ab:02:9f:58: 2f:37:70:15:74:d6:06:9b:81:55:90:99:96:cc:70: 5c:de:5b:e8:4c:b2:0c:47:5b:a8:a2:98:3d:11:b1: f6:7d:a0:46:df:24:23:c6:d0:24:52:67:ba:69:ab: 9a:4a:6a:66:2c:db:e1:09:f1:0d:b2:b0:e1:47:1f: 0a:46:ac:0d:82:f3:3c:8d:02:ce:08:43:19:d9:64: 86:c4:4e:07:12:c0:5b:43:ba:7d:17:8a:a3:f0:3d: 98:32:b9:75:66:f4:f0:1b:2d:94:5b:7c:1c:e6:f3: 04:7f:dd:25:b2:82:a6:41:04:b7:50:93:94:c4:7c: 34:7e:12:7c:bf:33:54:55:47:8c:42:94:40:8e:34: 5f:54:04:1d:9e:8c:57:48:d4:b0:f8:e4:03:db:3f: 68:6c:37:fa:62:14:1c:94:d6:de:f2:2b:68:29:17: 24:6d:f7:b5:b3:18:79:fd:31:5e:7f:4c:be:c0:99: 13:cc:e2:97:2b:dc:96:9c:9a:d0:a7:c5:77:82:67: c9:cb:a9:e7:68:4a:e1:c5:ba:1c:32:0e:79:40:6e: ef:08:d7:a3:b9:5d:1a:df:ce:1a:c7:44:91:4c:d4: 99:c8:88:69:b3:66:2e:b3:06:f1:f4:22:d7:f2:5f: ab:6d Exponent: 65537 (0x10001) </programlisting> Переместите ключ в каталог доверенных ключей apk: <programlisting> sudo mv /tmp/nginx_signing.rsa.pub /etc/apk/keys/ </programlisting> Чтобы установить nginx, выполните следующую команду: <programlisting> sudo apk add nginx@nginx </programlisting> Тэг <literal>@nginx</literal> должен быть указан и при установке пакетов с <link url="#dynmodules">динамическими модулями</link>: <programlisting> sudo apk add nginx-module-image-filter@nginx nginx-module-njs@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, или в каталоге <path>alpine/</path> для Alpine. </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>