Package Installation of Angie PRO#

To access the package repository, you need to sign a contract and purchase a license. For questions about licenses, contracts, and custom builds, contact:

Then, configure the repository for your distro’s package manager to install and update Angie PRO and the dynamic modules you need. Finally, install the license file and update the limits.

Distros#

Distro

Versions

Architectures

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, 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/angie.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/$(. /etc/os-release && echo "$ID/$VERSION_ID $VERSION_CODENAME") 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 <PACKAGE NAME>
    
  7. Start the service:

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

    $ sudo systemctl enable angie
    

Dynamic Modules#

To extend the basic functionality of Angie PRO, you can add various dynamic modules, available as ready-made packages from our repository:

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-dynamic-limit-req

Used to dynamically lock IPs and release them periodically.

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-otel

Enables sending telemetry data to an OpenTelemetry collector.

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-vts: module-vts, module-sts, module-stream-sts

Packs the three listed modules that monitor traffic status.

Note

Their respective template files are installed as follows:

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

angie-pro-module-zip

Enables assembling ZIP archives dynamically.

angie-pro-module-zstd

Enables Zstandard compression.

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

License File#

To configure the license for Angie PRO:

  1. Save the license file as /etc/angie/license.pem, setting the permissions you use for your client certificates.

  2. Verify the license is valid; otherwise, check the details:

    $ sudo angie -t
    
      angie: Valid license found:
      angie:   - owner: CN=Angie Client License
      angie:   - period: Jul  8 21:00:00 2024 GMT .. Jul 17 20:59:59 2024 GMT
      angie:
      angie: Limitations:
      angie:   - worker_processes_limit: 8
      angie:   - worker_connections_limit: 0
    
  3. Monitor the console and logs for any licensing issues. If the license expires mid-operation, Angie PRO periodically logs warnings indicating this. Additionally, on reload, it reports configuration errors if, for example, the number of worker processes set forth in the license terms is exceeded.

  4. Update /etc/angie/angie.conf; after instalation, it has two settings that limit the operation:

    worker_processes 1;
    worker_connections 256;
    

    After saving the license file, update the settings according to your license terms, for example:

    worker_processes 8;
    worker_connections 65535;