nginx: пакеты для Linux

:

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

RHEL/CentOS:

Версия Поддерживаемые платформы
6.x x86_64, i386
7.x x86_64, ppc64le

Debian:

Версия Кодовое имя Поддерживаемые платформы
7.x wheezy x86_64, i386
8.x jessie x86_64, i386
9.x stretch x86_64, i386

Ubuntu:

версия Кодовое имя Поддерживаемые платформы
12.04 precise x86_64, i386
14.04 trusty x86_64, i386, aarch64/arm64
16.04 xenial x86_64, i386, ppc64el, aarch64/arm64
16.10 yakkety x86_64, i386

SLES:

Версия Поддерживаемые платформы
12 x86_64

Чтобы включить автоматическое обновление пакетов для Linux, настройте репозиторий yum для дистрибутивов RHEL/CentOS, репозиторий apt для дистрибутивов Debian/Ubuntu, или репозиторий zypper для SLES.

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

Для настройки репозитория yum для RHEL/CentOS необходимо создать файл с именем /etc/yum.repos.d/nginx.repo и таким содержимым:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/
gpgcheck=0
enabled=1

Замените “OS” на “rhel” или “centos”, в зависимости от используемого дистрибутива, а “OSRELEASE” на “6” или “7”, для, соответственно, 6.x или 7.x версий.

Для Debian/Ubuntu, для проверки подлинности подписи репозитория nginx, и чтобы избавиться от предупреждений об отсутствующем PGP-ключе во время установки пакета nginx, необходимо добавить ключ, которым были подписаны пакеты и репозиторий nginx, в связку ключей программы apt. Загрузите этот ключ с нашего веб-сайта и добавьте его в связку ключей программы apt, выполнив команду:

sudo apt-key add nginx_signing.key

Для Debian замените codename на кодовое имя дистрибутива, и добавьте в конец файла /etc/apt/sources.list следующее:

deb http://nginx.org/packages/debian/ codename nginx
deb-src http://nginx.org/packages/debian/ codename nginx

Для Ubuntu замените codename на кодовое имя дистрибутива, и добавьте в конец файла /etc/apt/sources.list следующее:

deb http://nginx.org/packages/ubuntu/ codename nginx
deb-src http://nginx.org/packages/ubuntu/ codename nginx

Для Debian/Ubuntu затем выполните команды:

apt-get update
apt-get install nginx

Для SLES выполните команду:

zypper addrepo -G -t yum -c 'http://nginx.org/packages/sles/12' nginx

Готовые пакеты mainline-версии

Для настройки репозитория yum для RHEL/CentOS необходимо создать файл с именем /etc/yum.repos.d/nginx.repo и таким содержимым:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/OS/OSRELEASE/$basearch/
gpgcheck=0
enabled=1

Замените “OS” на “rhel” или “centos”, в зависимости от используемого дистрибутива, а “OSRELEASE” на “6” или “7”, для, соответственно, 6.x или 7.x версий.

Для Debian/Ubuntu, для проверки подлинности подписи репозитория nginx, и чтобы избавиться от предупреждений об отсутствующем PGP-ключе во время установки пакета nginx, необходимо добавить ключ, которым были подписаны пакеты и репозиторий nginx, в связку ключей программы apt. Загрузите этот ключ с нашего веб-сайта и добавьте его в связку ключей программы apt, выполнив команду:

sudo apt-key add nginx_signing.key

Для Debian замените codename на кодовое имя дистрибутива, и добавьте в конец файла /etc/apt/sources.list следующее:

deb http://nginx.org/packages/mainline/debian/ codename nginx
deb-src http://nginx.org/packages/mainline/debian/ codename nginx

Для Ubuntu замените codename на кодовое имя дистрибутива, и добавьте в конец файла /etc/apt/sources.list следующее:

deb http://nginx.org/packages/mainline/ubuntu/ codename nginx
deb-src http://nginx.org/packages/mainline/ubuntu/ codename nginx

Для Debian/Ubuntu затем выполните команды:

apt-get update
apt-get install nginx

Для SLES выполните команду:

zypper addrepo -G -t yum -c 'http://nginx.org/packages/mainline/sles/12' nginx

Пакеты с исходным кодом

Исходные коды пакетов находятся в соответствующем репозитории.

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

Исходные коды пакетов распространяются под той же BSD-подобной лицензией из 2 пунктов, что и сам nginx.

Динамические модули

Для того чтобы избежать увеличения числа зависимостей, основной пакет nginx не включает модули, которым требуются дополнительные библиотеки. Начиная с версии 1.9.11 nginx поддерживает динамические модули, и следующие модули собираются как динамические и поставляются в виде отдельных пакетов:

nginx-module-geoip
nginx-module-image-filter
nginx-module-njs
nginx-module-perl
nginx-module-xslt

Подписи

Для проверки целостности и происхождения загруженного пакета и в случае RPM, и в случае репозиториев Debian/Ubuntu используется цифровая подпись. Для проверки подписи необходимо загрузить этот ключ и импортировать его в связку ключей программы rpm или apt:

  • Для Debian/Ubuntu:
    sudo apt-key add nginx_signing.key
  • Для RHEL/CentOS:
    sudo rpm --import nginx_signing.key
  • Для SLES:
    sudo rpm --import nginx_signing.key

В Debian/Ubuntu/SLES подпись проверяется по умолчанию, однако в RHEL/CentOS необходимо добавить

gpgcheck=1

в файл /etc/yum.repos.d/nginx.repo.

Поскольку наши PGP-ключи находятся на том же сервере, что и пакеты, им следует доверять в равной степени. Поэтому мы настоятельно рекомендуем дополнительно проверить подлинность загруженных PGP-ключей. В PGP есть понятие “сети доверия”, когда ключ подписывается чьим-либо другим ключом, тот в свою очередь третьим, и т.д. Это зачастую позволяет построить цепочку от произвольного ключа до ключа человека, которого вы знаете и кому доверяете лично, и таким образом удостовериться в подлинности первого ключа в цепочке. Подробно эта концепция описана в GPG Mini Howto. У наших ключей есть достаточное количество подписей, поэтому проверить их подлинность относительно несложно.