Пакетная установка Angie#

Чтобы установить и обновлять Angie с помощью пакетного менеджера своего дистрибутива, подключите и настройте соответствующий репозиторий:

Дистрибутив

Версии

Архитектуры

AlmaLinux

9,   8

x86-64, arm64

Alpine

3.20,   3.19,   3.18,   3.17

x86-64, arm64

Альт

10
8

x86-64, arm64
x86-64

Astra SE

4.7
1.7

arm64
x86-64

CentOS

9   7

x86-64, arm64

Debian

12,   11,   10

x86-64, arm64

FreeBSD

14,   13

x86-64, arm64

openSUSE

15

x86-64, arm64

Oracle Linux

9,   8

x86-64, arm64

РЕД ОС

8
7

x86-64
x86-64, arm64

Rocky Linux

9,   8

x86-64, arm64

РОСА

Хром 12
Фреш 12

x86-64, arm64
x86-64

Ubuntu

24.04,   22.04,   20.04

x86-64, arm64

Alma, CentOS, Oracle, РЕД ОС, Rocky, РОСА#

  1. Чтобы подключить репозиторий, создайте файл /etc/yum.repos.d/angie.repo с таким содержимым:

    [angie]
    name=Angie repo
    baseurl=https://download.angie.software/angie/almalinux/$releasever/
    gpgcheck=1
    enabled=1
    gpgkey=https://angie.software/keys/angie-signing.gpg.asc
    
  2. Установите пакет Angie:

    $ sudo yum install -y angie
    
  3. (Дополнительно) Установите пакеты необходимых вам динамических модулей:

    $ sudo yum install -y <ИМЯ ПАКЕТА>
    
  4. Запустите сервис:

    $ sudo systemctl start angie
    
  5. Чтобы автоматически запускать Angie после перезагрузки сервера:

    $ sudo systemctl enable angie
    

Alpine#

  1. Установите вспомогательные пакеты для подключения репозитория Angie:

    $ sudo apk update
    $ sudo apk add curl ca-certificates
    
  2. Скачайте открытый ключ репозитория Angie для проверки подлинности пакетов:

    $ sudo curl -o /etc/apk/keys/angie-signing.rsa \
                https://angie.software/keys/angie-signing.rsa
    
  3. Подключите репозиторий Angie:

    $ echo "https://download.angie.software/angie/alpine/v$(egrep -o \
           '[0-9]+\.[0-9]+' /etc/alpine-release)/main" \
           | sudo tee -a /etc/apk/repositories > /dev/null
    
  4. Обновите индексы репозиториев:

    $ sudo apk update
    
  5. Установите пакет Angie:

    $ sudo apk add angie
    
  6. (Дополнительно) Установите пакеты необходимых вам динамических модулей:

    $ sudo apk add <ИМЯ ПАКЕТА>
    
  7. Запустите сервис:

    $ sudo service angie start
    
  8. Чтобы автоматически запускать Angie после перезагрузки сервера:

    $ sudo rc-update add angie
    

Альт#

  1. Создайте каталог /etc/ssl/angie/:

    $ sudo mkdir -p /etc/ssl/angie/
    
  2. Установите вспомогательные пакеты для подключения репозитория Angie:

    $ sudo apt-get update
    $ sudo apt-get install -y curl apt-https
    
  3. Скачайте открытый ключ репозитория Angie для проверки подлинности пакетов:

    $ sudo curl -o /etc/ssl/angie/angie-signing.gpg \
          https://angie.software/keys/angie-signing.gpg
    
  4. Импортируйте скачанный ключ репозитория в цепочку доверенных ключей:

    $ sudo gpg --no-default-keyring \
          --keyring /usr/lib/alt-gpgkeys/pubring.gpg --import /etc/ssl/angie/angie-signing.gpg
    
  5. Сохраните сигнатуру ключа:

    $ echo 'simple-key "angie" {
              Fingerprint "EB8EAF3D4EF1B1ECF34865A2617AB978CB849A76";
              Name "Angie (Signing Key) <devops@tech.wbsrv.ru>";
      }' | sudo tee /etc/apt/vendors.list.d/angie.list > /dev/null
    
  6. Подключите репозиторий Angie:

    $ echo "rpm [angie] https://download.angie.software/angie/altlinux/10/ $(uname -m) main" \
        | sudo tee /etc/apt/sources.list.d/angie.list > /dev/null
    
  7. Обновите индексы репозиториев:

    $ sudo apt-get update
    
  8. Установите пакет Angie:

    $ sudo apt-get install -y angie
    
  9. (Дополнительно) Установите пакеты необходимых вам динамических модулей:

    $ sudo apt-get install -y <ИМЯ ПАКЕТА>
    
  10. Запустите сервис:

    $ sudo systemctl start angie
    
  11. Чтобы автоматически запускать Angie после перезагрузки сервера:

    $ sudo systemctl enable angie
    

Astra SE#

  1. Установите вспомогательные пакеты для подключения репозитория Angie:

    $ sudo apt-get update
    $ sudo apt-get install -y ca-certificates curl lsb-release
    
  2. Скачайте открытый ключ репозитория Angie для проверки подлинности пакетов:

    $ sudo curl -o /etc/apt/trusted.gpg.d/angie-signing.gpg \
                https://angie.software/keys/angie-signing.gpg
    
  3. Подключите репозиторий Angie:

    $ echo "deb https://download.angie.software/angie/astra-se/$(egrep -o \
           '[0-9]+.[0-9]+' /etc/astra_version) unstable main" \
           | sudo tee /etc/apt/sources.list.d/angie.list > /dev/null
    
  4. Обновите индексы репозиториев:

    $ sudo apt-get update
    
  5. (Дополнительно) При работе в режиме замкнутой программной среды (ЗПС) установите пакет с ключом для проверки подлинности бинарных файлов Angie:

    $ sudo apt-get install -y angie-digsig-key
    

    Обновите ЗПС:

    $ sudo update-initramfs -uk all
    

    Затем перезагрузите сервер:

    $ sudo shutdown -r now
    
  6. Установите пакет Angie:

    $ sudo apt-get install -y angie
    
  7. (Дополнительно) Установите пакеты необходимых вам динамических модулей:

    $ sudo apt-get install -y <ИМЯ ПАКЕТА>
    

Debian, Ubuntu#

  1. Установите вспомогательные пакеты для подключения репозитория Angie:

    $ sudo apt-get update
    $ sudo apt-get install -y ca-certificates curl
    
  2. Скачайте открытый ключ репозитория Angie для проверки подлинности пакетов:

    $ sudo curl -o /etc/apt/trusted.gpg.d/angie-signing.gpg \
                https://angie.software/keys/angie-signing.gpg
    
  3. Подключите репозиторий Angie:

    $ echo "deb https://download.angie.software/angie/$(. /etc/os-release && echo "$ID/$VERSION_ID $VERSION_CODENAME") main" \
        | sudo tee /etc/apt/sources.list.d/angie.list > /dev/null
    
  4. Обновите индексы репозиториев:

    $ sudo apt-get update
    
  5. Установите пакет Angie:

    $ sudo apt-get install -y angie
    
  6. (Дополнительно) Установите пакеты необходимых вам динамических модулей:

    $ sudo apt-get install -y <ИМЯ ПАКЕТА>
    

FreeBSD#

  1. Чтобы подключить репозиторий Angie, создайте каталоги:

    $ sudo mkdir -p /usr/local/etc/pkg/angie/ /usr/local/etc/pkg/repos/
    
  2. Чтобы настроить репозиторий, создайте файл /usr/local/etc/pkg/repos/angie.conf с таким содержимым:

    angie: {
       url: "https://download.angie.software/angie/freebsd/${VERSION_MAJOR}/${ARCH}",
       signature_type: "pubkey",
       pubkey: "/usr/local/etc/pkg/angie/angie-signing.rsa",
       enabled: yes
    }
    
  3. Скачайте открытый ключ репозитория Angie для проверки подлинности пакетов:

    $ sudo curl -o /usr/local/etc/pkg/angie/angie-signing.rsa \
                https://angie.software/keys/angie-signing.rsa
    
  4. Обновите индексы репозиториев:

    $ sudo pkg update
    
  5. Установите пакет Angie:

    $ sudo pkg install -y angie
    
  6. (Дополнительно) Установите пакеты необходимых вам динамических модулей:

    $ sudo pkg install -y <ИМЯ ПАКЕТА>
    
  7. Запустите сервис:

    $ sudo service angie start
    
  8. Чтобы автоматически запускать Angie после перезагрузки сервера:

    $ sudo sysrc angie_enable=YES
    

openSUSE#

  1. Чтобы подключить репозиторий, создайте файл /etc/zypp/repos.d/angie.repo с таким содержимым:

    [angie]
    name=Angie repo
    baseurl=https://download.angie.software/angie/opensuse/$releasever_major/
    gpgcheck=1
    enabled=1
    gpgkey=https://angie.software/keys/angie-signing.gpg.asc
    
  2. Обновите индексы репозиториев:

    $ sudo zypper refresh
    
  3. Установите пакет Angie:

    $ sudo zypper install -y angie
    
  4. (Дополнительно) Установите пакеты необходимых вам динамических модулей:

    $ sudo zypper install -y <ИМЯ ПАКЕТА>
    
  5. Запустите сервис:

    $ sudo systemctl start angie
    
  6. Чтобы автоматически запускать Angie после перезагрузки сервера:

    $ sudo systemctl enable angie
    

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

Чтобы расширить базовую функциональность Angie, можно добавлять разнообразные динамические модули. Модули можно собирать из исходного кода, компилируя их с соответствующей версией Angie, но проще получить их в виде готовых пакетов из нашего репозитория:

angie-module-image-filter

Добавляет преобразования изображений в форматах JPEG, GIF, PNG и WebP.

angie-module-njs: http_js_module, stream_js_module

Позволяют использовать язык njs (подмножество JavaScript) в конфигурации Angie соответственно в контекстах http и stream.

angie-module-perl

Позволяет писать обработчики location и переменных на Perl, а также вызывать Perl из SSI.

angie-module-xslt

Добавляет фильтр, преобразующий XML-ответ с помощью XSLT-шаблонов.

Мы также собираем и публикуем в нашем репозитории пакеты следующих сторонних модулей:

angie-module-auth-jwt

Добавляет JWT-аутентификацию клиентов.

angie-module-auth-ldap

Добавляет поддержку LDAP-аутентификации с несколькими серверами.

angie-module-auth-spnego

Добавляет поддержку SPNEGO и GSSAPI.

angie-module-brotli

Добавляет статическое и динамическое Brotli-сжатие ответов.

angie-module-cache-purge

Позволяет очищать содержимое кэшей FastCGI, прокси, SCGI и uWSGI.

angie-module-dav-ext

Расширяет поддержку WebDAV методами PROPFIND и OPTIONS.

angie-module-dynamic-limit-req

Служит для динамической блокировки IP-адресов и ее периодического снятия.

angie-module-echo

Позволяет использовать echo, sleep, time, exec и другие шелл-команды в файле конфигурации.

angie-module-enhanced-memcached

Расширяет возможности встроенного модуля http_memcached.

angie-module-eval

Позволяет сохранять в переменных тела ответов на подзапросы.

angie-module-geoip2: http_geoip2, stream_geoip2

Добавляет поиск по геоданным в базах GeoIP2 MaxMind 2.

angie-module-headers-more

Позволяет устанавливать и очищать заголовки запросов и ответов.

angie-module-keyval

Позволяет использовать переменные со значениями из пар «ключ-значение».

angie-module-lua: http_lua_module, stream_lua_module

Позволяют использовать язык Lua в конфигурации Angie соответственно в контекстах http и stream.

angie-module-modsecurity

Добавляет коннектор для использования правил ModSecurity.

Примечание

Пакет нуждается в дополнительной настройке.

angie-module-ndk

Добавляет Nginx Development Kit (NDK) для разработки новых модулей.

angie-module-otel

Позволяет отправлять данные телеметрии сборщику OpenTelemetry.

angie-module-opentracing

Добавляет распределенную OpenTracing-трассировку запросов в Angie; содержит плагины для экспорта данных в Zipkin и DataDog.

angie-module-postgres

Включает непосредственную поддержку баз данных PostgreSQL.

angie-module-redis2

Добавляет протокол Redis 2.0 в HTTP-апстримы.

angie-module-rtmp

Добавляет протокол RTMP для стриминга и трансляции видео по запросу.

angie-module-set-misc

Добавляет различные директивы set_xxx в модуль rewrite.

angie-module-subs

Позволяет заменять строки в теле HTTP-ответа по регулярным выражениям.

angie-module-testcookie

Помогает бороться с ботами при помощи механизма «вызов-ответ» на основе cookie.

angie-module-upload

Добавляет кодировку multipart/form-data (RFC 1868) для отправки файлов со стороны клиента, включая возможность возобновления.

angie-module-vod

Позволяет перепаковывать MP4-файлы для стриминга по HLS, HDS, MSS и DASH.

angie-module-vts: module-vts, module-sts, module-stream-sts

Включает три перечисленных модуля для отслеживания статуса трафика.

Примечание

Соответствующие им файлы шаблонов устанавливаются сюда:

/usr/share/angie-module-vts/status.compress.html
/usr/share/angie-module-vts/status.template.html
/usr/share/angie-module-vts/stream/status.compress.html
/usr/share/angie-module-vts/stream/status.template.html

angie-module-zip

Включает динамическую упаковку ZIP-архивов.

angie-module-zstd

Включает сжатие Zstandard.

Чтобы применить установленный модуль в конфигурации, загрузите его с помощью директивы load_module.