Installation#

Binary Packages#

To install and update Angie PRO using your distro’s package manager, add and set up the Angie PRO package repository.

Supported Distributions#

Distro

Versions

Architectures

AlmaLinux

9,   8

x86-64, arm64

Alpine

3.19,   3.18,   3.17,   3.16

x86-64, arm64

ALT

10
8

x86-64, arm64
x86-64

Astra SE

4.7
1.7

arm64
x86-64

CentOS

9,   8,   7

x86-64, arm64

Debian

12,   11,   10

x86-64, arm64

FreeBSD

14

x86-64, arm64

FreeBSD

13

x86-64

openSUSE

15

x86-64, arm64

Oracle Linux

9,   8

x86-64, arm64

RED OS

7.3

x86-64, arm64

Rocky Linux

9,   8

x86-64, arm64

ROSA Chrome

12

x86-64, arm64

ROSA Fresh

12

x86-64

Ubuntu

22.04,   20.04

x86-64, arm64

Alma, CentOS, Oracle, RED OS, Rocky, ROSA#

  1. Create the /etc/ssl/angie directory:

    $ sudo mkdir -p /etc/ssl/angie/
    
  2. Transfer the files you received with your license:

    File Type

    Original Name

    Where

    Certificate

    angie-repo.crt

    /etc/ssl/angie/angie-repo.crt

    Private Key

    angie-repo.key

    /etc/ssl/angie/angie-repo.key

    Hint

    If you have the license but not these files, email us at support@angie.software.

  3. To add the repo, create the following file named /etc/yum.repos.d/nginx.repo:

    [angie-pro]
    name=Angie PRO repo
    baseurl=https://download.angie.software/angie-pro/almalinux/$releasever/
    sslclientcert=/etc/ssl/angie/angie-repo.crt
    sslclientkey=/etc/ssl/angie/angie-repo.key
    gpgcheck=1
    enabled=1
    gpgkey=https://angie.software/keys/angie-signing.gpg.asc
    
  4. Install the Angie PRO package:

    $ sudo yum install -y angie-pro
    
  5. (Optional) Install the dynamic module packages you need:

    $ sudo yum install -y <PACKAGE NAME>
    
  6. Start the service:

    $ sudo systemctl start angie
    
  7. To autostart Angie PRO after server reboot:

    $ sudo systemctl enable angie
    

Alpine#

  1. Transfer the files you received with your license:

    File Type

    Original Name

    Where

    Certificate

    angie-repo.crt

    /etc/apk/cert.pem

    Private Key

    angie-repo.key

    /etc/apk/cert.key

    Hint

    If you have the license but not these files, email us at support@angie.software.

  2. Install the prerequisites for adding the Angie PRO repo:

    $ sudo apk update
    $ sudo apk add curl ca-certificates
    
  3. Download the public key of the Angie PRO repo for package verification:

    $ sudo curl -o /etc/apk/keys/angie-signing.rsa \
                https://angie.software/keys/angie-signing.rsa
    
  4. Add the Angie PRO repo:

    $ echo "https://download.angie.software/angie-pro/alpine/v$(egrep -o \
           '[0-9]+\.[0-9]+' /etc/alpine-release)/main" \
           | sudo tee -a /etc/apk/repositories > /dev/null
    
  5. Update the repo indexes:

    $ sudo apk update
    
  6. Install the Angie PRO package:

    $ sudo apk add angie-pro
    
  7. (Optional) Install the dynamic module packages you need:

    $ sudo apk add <PACKAGE NAME>
    
  8. Start the service:

    $ sudo service angie start
    
  9. To autostart Angie PRO on server reboot:

    $ sudo rc-update add angie
    

ALT Linux#

  1. Create the /etc/ssl/angie directory:

    $ sudo mkdir -p /etc/ssl/angie/
    
  2. Transfer the files you received with your license:

    File Type

    Original Name

    Where

    Certificate

    angie-repo.crt

    /etc/ssl/angie/angie-repo.crt

    Private Key

    angie-repo.key

    /etc/ssl/angie/angie-repo.key

    Hint

    If you have the license but not these files, email us at support@angie.software.

  3. Download the public key of the Angie PRO repo for package verification:

    $ curl -o ~/angie-signing.gpg https://angie.software/keys/angie-signing.gpg && \
           sudo gpg --no-default-keyring --keyring /usr/lib/alt-gpgkeys/pubring.gpg --import ~/angie-signing.gpg
    
  4. Save the key’s signature:

    $ echo 'simple-key "angie" {
              Fingerprint "EB8EAF3D4EF1B1ECF34865A2617AB978CB849A76";
              Name "Angie PRO (Signing Key) <devops@tech.wbsrv.ru>";
      }' | sudo tee /etc/apt/vendors.list.d/angie.list > /dev/null
    
  5. Add the Angie PRO repo:

    $ echo "rpm [angie-pro] https://download.angie.software/angie-pro/altlinux/10/ $(uname -m) main" \
        | sudo tee /etc/apt/sources.list.d/angie.list > /dev/null
    
  6. Save an apt configuration file for the Angie PRO repo as /etc/apt/apt.conf.d:

    $ ( echo 'Acquire::https::Verify-Peer "true";';
        echo 'Acquire::https::Verify-Host "true";';
        echo 'Acquire::https::SslCert     "/etc/ssl/angie/angie-repo.crt";';
        echo 'Acquire::https::SslKey      "/etc/ssl/angie/angie-repo.key";';
      )  | sudo tee -a /etc/apt/apt.conf >/dev/null
    
  7. Update the repo indexes:

    $ sudo apt-get update
    
  8. Install the Angie PRO package:

    $ sudo apt-get install -y angie-pro
    
  9. (Optional) Install the dynamic module packages you need:

    $ sudo apt-get install -y <PACKAGE NAME>
    
  10. Start the service:

    $ sudo systemctl start angie
    
  11. To autostart Angie PRO on server reboot:

    $ sudo systemctl enable angie
    

Astra SE#

  1. Create the /etc/ssl/angie/ directory:

    $ sudo mkdir -p /etc/ssl/angie/
    
  2. Transfer the files you received with your license:

    File Type

    Original Name

    Where

    Certificate

    angie-repo.crt

    /etc/ssl/angie/angie-repo.crt

    Private Key

    angie-repo.key

    /etc/ssl/angie/angie-repo.key

    Hint

    If you have the license but not these files, email us at support@angie.software.

    Restrict the access to the directory and the files:

    $ sudo chown -R _apt:nogroup /etc/ssl/angie/
    
  3. Install the prerequisites for adding the Angie PRO repo:

    $ sudo apt-get update
    $ sudo apt-get install -y apt-transport-https lsb-release \
                   ca-certificates curl gnupg2
    
  4. Download the public key of the Angie PRO repo for package verification:

    $ sudo curl -o /etc/apt/trusted.gpg.d/angie-signing.gpg \
                https://angie.software/keys/angie-signing.gpg
    
  5. Add the Angie PRO repo:

    $ echo "deb https://download.angie.software/angie-pro/astra-se/$(egrep -o \
           '[0-9]+\.[0-9]+' /etc/astra_version) unstable main" \
           | sudo tee /etc/apt/sources.list.d/angie.list > /dev/null
    
  6. To configure the repo, create a file named /etc/apt/apt.conf.d/90download-angie with the following contents:

    Acquire::https::download.angie.software::Verify-Peer "true";
    Acquire::https::download.angie.software::Verify-Host "true";
    Acquire::https::download.angie.software::SslCert     "/etc/ssl/angie/angie-repo.crt";
    Acquire::https::download.angie.software::SslKey      "/etc/ssl/angie/angie-repo.key";
    
  7. Update the repo indexes:

    $ sudo apt-get update
    
  8. (Optional) When running a Closed Software Environment (CSE), install the key package for Angie PRO binary verification:

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

    Update the CSE:

    $ sudo update-initramfs -uk all
    

    Then restart the server:

    $ sudo shutdown -r now
    
  9. Install the Angie PRO package:

    $ sudo apt-get install -y angie-pro
    
  10. (Optional) Install the dynamic module packages you need:

    $ sudo apt-get install -y <PACKAGE NAME>
    

Debian, Ubuntu#

  1. Create the /etc/ssl/angie/ directory:

    $ sudo mkdir -p /etc/ssl/angie/
    
  2. Transfer the files you received with your license:

    File Type

    Original Name

    Where

    Certificate

    angie-repo.crt

    /etc/ssl/angie/angie-repo.crt

    Private Key

    angie-repo.key

    /etc/ssl/angie/angie-repo.key

    Hint

    If you have the license but not these files, email us at support@angie.software.

    Restrict the access to the directory and the files:

    $ sudo chown -R _apt:nogroup /etc/ssl/angie/
    
  3. Install the prerequisites for adding the Angie PRO repo:

    $ sudo apt-get update
    $ sudo apt-get install -y apt-transport-https lsb-release \
                   ca-certificates curl gnupg2
    
  4. Download the public key of the Angie PRO repo for package verification:

    $ sudo curl -o /etc/apt/trusted.gpg.d/angie-signing.gpg \
                https://angie.software/keys/angie-signing.gpg
    
  5. Add the Angie PRO repo:

    $ echo "deb https://download.angie.software/angie-pro/debian/ `lsb_release -cs` main" \
           | sudo tee /etc/apt/sources.list.d/angie.list > /dev/null
    
  6. To configure the repo, create a file named /etc/apt/apt.conf.d/90download-angie with the following contents:

    Acquire::https::download.angie.software::Verify-Peer "true";
    Acquire::https::download.angie.software::Verify-Host "true";
    Acquire::https::download.angie.software::SslCert     "/etc/ssl/angie/angie-repo.crt";
    Acquire::https::download.angie.software::SslKey      "/etc/ssl/angie/angie-repo.key";
    
  7. Update the repo indexes:

    $ sudo apt-get update
    
  8. Install the Angie PRO package:

    $ sudo apt-get install -y angie-pro
    
  9. (Optional) Install the dynamic module packages you need:

    $ sudo apt-get install -y <PACKAGE NAME>
    

FreeBSD#

  1. To add the Angie PRO repo, create these directories:

    $ sudo mkdir -p /usr/local/etc/pkg/angie/ /usr/local/etc/pkg/repos/
    
  2. To configure the repo, create a file named /usr/local/etc/pkg/repos/angie.conf with the following contents:

    angie: {
       url: "https://download.angie.software/angie-pro/freebsd/${VERSION_MAJOR}/${ARCH}",
       signature_type: "pubkey",
       pubkey: "/usr/local/etc/pkg/angie/angie-signing.rsa",
       enabled: yes
    }
    
  3. Download the public key of the Angie PRO repo for package verification:

    $ sudo curl -o /usr/local/etc/pkg/angie/angie-signing.rsa \
                https://angie.software/keys/angie-signing.rsa
    
  4. Transfer the files you received with your license:

    File Type

    Original Name

    Where

    Certificate

    angie-repo.crt

    /usr/local/etc/pkg/angie/angie-repo.crt

    Private Key

    angie-repo.key

    /usr/local/etc/pkg/angie/angie-repo.key

    Hint

    If you have the license but not these files, email us at support@angie.software.

  5. Add the certificate and the key to the package manager’s configuration:

    $ echo '
      PKG_ENV: {
        SSL_CLIENT_CERT_FILE: "/usr/local/etc/pkg/angie/angie-repo.crt",
        SSL_CLIENT_KEY_FILE:  "/usr/local/etc/pkg/angie/angie-repo.key"
      }' | sudo tee -a /usr/local/etc/pkg.conf > /dev/null
    
  6. Update the repo indexes:

    $ sudo pkg update
    
  7. Install the Angie PRO package:

    $ sudo pkg install -y angie-pro
    
  8. (Optional) Install the dynamic module packages you need:

    $ sudo pkg install -y <PACKAGE NAME>
    
  9. Start the service:

    $ sudo service angie start
    
  10. To autostart Angie PRO on server reboot:

    $ sudo sysrc angie_enable=YES
    

openSUSE#

  1. Create the /etc/ssl/angie directory:

    $ sudo mkdir -p /etc/ssl/angie/
    
  2. Transfer the files you received with your license:

    File Type

    Original Name

    Where

    Certificate

    angie-repo.crt

    /etc/ssl/angie/angie-repo.crt

    Private Key

    angie-repo.key

    /etc/ssl/angie/angie-repo.key

    And bundle them into /etc/ssl/angie/angie-repo-bundle.crt:

    $ cat /etc/ssl/angie/angie-repo.crt /etc/ssl/angie/angie-repo.key | \
          sudo tee -a /etc/ssl/angie/angie-repo-bundle.crt > /dev/null
    

    Hint

    If you have the license but not these files, email us at support@angie.software.

  3. To add the repo, create a file named /etc/zypp/repos.d/angie.repo with the following contents:

    [angie-pro]
    enabled=1
    autorefresh=1
    baseurl=https://download.angie.software/angie-pro/opensuse/$releasever_major?ssl_clientcert=/etc/ssl/angie/angie-repo-bundle.crt&ssl_verify=peer
    gpgcheck=1
    gpgkey=https://angie.software/keys/angie-signing.gpg.asc
    
  4. Update the repo indexes:

    $ sudo zypper refresh
    
  5. Install the Angie PRO package:

    $ sudo zypper install -y angie-pro
    
  6. (Optional) Install the dynamic module packages you need:

    $ sudo zypper install -y <ИМЯ ПАКЕТА>
    
  7. Start the service:

    $ sudo systemctl start angie
    
  8. To autostart Angie PRO after server reboot:

    $ sudo systemctl enable angie
    

Dynamic Modules#

To extend Angie PRO’s basic functionality, you can add a variety of dynamic modules, available as ready-made packages from our repository.

Dynamic module packages distributed as part of Angie PRO:

angie-pro-module-image-filter

Adds a filter to transform .jpeg, .gif, .png, and .webp images.

angie-pro-module-njs: http_js_module, stream_js_module

Enable using njs (a JavaScript subset) in Angie PRO configuration in the http and stream contexts, respectively.

angie-pro-module-perl

Enables writing location and variable handlers in Perl, and also invoking Perl from SSI.

angie-pro-module-xslt

Adds a filter to transform XML responses with XSLT stylesheets.

We also build and publish in our repository the following third-party module packages:

angie-pro-module-auth-jwt

Adds client JWT authentication.

angie-pro-module-auth-ldap

Adds support for authentication against multiple LDAP servers.

angie-pro-module-auth-spnego

Adds SPNEGO, GSSAPI support.

angie-pro-module-brotli

Enables Brotli for dynamic and static response compression.

angie-pro-module-cache_purge

Enables purging FastCGI, proxy, SCGI, and uWSGI cache contents.

angie-pro-module-dav-ext

Extends WebDAV method support, adding PROPFIND and OPTIONS.

angie-pro-module-echo

Enables echo, sleep, time, exec, and other shell-style commands in the configuration file.

angie-pro-module-enhanced-memcached

Enhances the capabilities of the built-in http_memcached module.

angie-pro-module-eval

Enables capturing subrequest response bodies in variables.

angie-pro-module-geoip2: http_geoip2, stream_geoip2

Enables geodata lookup in the MaxMind GeoIP2 database.

angie-pro-module-headers-more

Enables setting and clearing input and output headers.

angie-pro-module-keyval

Enables variables created from key-value pairs.

angie-pro-module-lua: http_lua_module, stream_lua_module

Enable using Lua in Angie PRO configuration in the http and stream contexts, respectively.

angie-pro-module-modsecurity

Adds a connector that enables ModSecurity rules.

Note

The package needs extra setup.

angie-pro-module-ndk

Adds Nginx Development Kit (NDK) for module development.

angie-pro-module-opentracing

Adds distributed tracing of Angie PRO requests via OpenTracing; includes data export plugins for Zipkin and DataDog.

angie-pro-module-postgres

Enables direct communication with PostgreSQL databases.

angie-pro-module-redis2

Enables Redis 2.0 for HTTP upstreams.

angie-pro-module-rtmp

Enables RTMP for live streaming and video on demand.

angie-pro-module-set-misc

Adds various set_xxx directives to the rewrite module.

angie-pro-module-subs

Enables regex string substitutions in the HTTP response body.

angie-pro-module-testcookie

Enables robot mitigation using a cookie-based challenge-response mechanism.

angie-pro-module-upload

Adds the multipart/form-data encoding (RFC 1867) for file upload, enabling resumable uploads.

angie-pro-module-vod

Enables repackaging .mp4 files for HLS, HDS, MSS, and DASH streaming.

angie-pro-module-zip

Enables assembling ZIP archives dynamically.

To use an installed module in the configuration, load it with the load_module directive.