В этой статье разберём базовые действия для установки веб‑сервера Angie в различные дистрибутивы Linux в виде пакетов или docker‑контейнеров.
Навигация по циклу
- Установка Angie из пакетов и в докере. 
Видеоверсия
Для вашего удобства подготовлена видеоверсия этой статьи, доступна на Rutube, VKVideo и YouTube.
Введение
Для установки Nginx не требуется подробной инструкции по установке, потому что пакеты как правило включены в состав дистрибутива. Установка обычно будет заключаться в выполнении одной из команд:
apt-get  install nginx
dnf install nginxОднако, скорее всего будет установлена устаревшая версия и если требуется установить новейшую версию (stable или mainline), либо использовать docker‑контейнер, то понадобятся дополнительные действия.
Для установки Angie из пакетов в первую очередь необходимо настроить репозиторий, откуда мы будем их получать. Можно конечно просто скачать пакеты и поставить, но в таком случае мы не будем получать обновлений через пакетный менеджер.
Настройка репозитория и установка Angie OSS
Процесс настройки репозитория Angie в Linux зависит от конкретного дистрибутива. Мы рассмотрим два самых популярных пакетных менеджера на примере систем AlmaLinux 9.5 и Ubuntu 24.04. Кстати, пакеты в репозиториях Angie собираются под разнообразные дистрибутивы Linux, в том числе «российские», а также FreeBSD. Подробнее инструкции для вашего дистрибутива можно найти на этой странице.
Начнём с настройки репозитория в Ubuntu.
Добавляем репозиторий в Ubuntu
Сначала необходимо обновить список пакетов и установить зависимости:
sudo apt update
sudo apt install -y ca-certificates curlДалее нужно скачать ключ репозитория Angie, который необходим для проверки подлинности пакетов при скачивании:
sudo curl -o /etc/apt/trusted.gpg.d/angie-signing.gpg \
            https://angie.software/keys/angie-signing.gpgНаконец, создаём запись о репозитории Angie в конфигурации пакетного менеджера. Здесь с помощью команд автоматически доставляется имя дистрибутива (версия), конфигурационный файл будет находится по следующему пути: /etc/apt/sources.list.d/angie.list. Если будет нужно удалить репозиторий, просто удалите этот файл.
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Обновим список пакетов с учётом нового репозитория.
sudo apt updateОбращаем внимание на успешное завершения команды, если есть ошибки, то нужно вернуться и проверить выполнение предыдущих шагов.
Если обновление пакетов прошло успешно, установим Angie:
sudo apt install -y angieВеб‑сервер Angie установлен, далее можно инсталлировать дополнительные пакеты с модулями, их названия можно найти на этой странице.
Например, можно установить модули для сжатия с помощью brotli и zstd:
sudo apt install -y angie-module-zstd angie-module-brotliНа этом установка завершена.
Добавляем репозиторий в AlmaLinux
Первым шагом добавляем описание репозитория в файл /etc/yum.repos.d/angie.repo, например так:
sudo nano /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После этого можно устанавливать пакет с Angie:
sudo yum install -y angieТакже можно установить дополнительные модули:
sudo yum install -y angie-module-zstd angie-module-brotliВ RPM-дистрибутивах сервис после установки пакета не запускается, поэтому можно стартовать Angie:
sudo systemctl start angieИ добавить сервис в автозапуск, чтобы сервис стартовал при загрузке системы:
sudo systemctl enable angieНа этом установка завершена.
Настройка репозитория и установка Angie PRO
Если вы стали счастливым обладателем лицензии на Angie PRO, то процесс настройки репозитория немного отличается от стандартного. Разберём его на примере Ubuntu. Для доступа к репозиторию с Angie PRO нам понадобятся два файла: сертификат и закрытый ключ. Вы должны получить их от службы поддержки (support@angie.software).
Сначала создаём каталог для хранения сертификата (angie-repo.crt) и ключа (angie-repo.key).
sudo mkdir -p /etc/ssl/angie/Копируем в директорию /etc/ssl/angie/ файлы сертификата и ключа. Ограничиваем доступ к файлам:
sudo chown -R _apt:nogroup /etc/ssl/angie/Также не забываем положить в /etc/angie файл с лицензией, который снимет лимиты на количество рабочих процессов и подключений. Устанавливаем пакеты для работы репозитория:
sudo apt update
sudo apt install -y apt-transport-https lsb-release \
 ca-certificates curl gnupg2Скачиваем открытый ключ репозитория Angie PRO для проверки подлинности пакетов:
sudo curl -o /etc/apt/trusted.gpg.d/angie-signing.gpg \
 https://angie.software/keys/angie-signing.gpgПодключаем сам репозиторий Angie PRO:
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Далее настраиваем доступ к репозиторию с помощью ранее размещённых в директории /etc/ssl/angie/ файлов ключа и сертификата:
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";Репозиторий настроен, теперь можно обновить список пакетов и удостовериться в отсутствии ошибок:
sudo apt updateУстановим пакет Angie PRO:
sudo apt install -y angie-proДалее установим дополнительные пакеты c модулями. Обратите внимание, что названия пакетов с модулями у PRO‑версии отличается от названия пакетов для OSS:
sudo apt install -y angie-pro-module-zstd angie-pro-module-brotliУдостовериться в установке версии PRO также несложно (ps afx | grep angie):
  1101 ?        Ss     0:00 angie: master process v1.8.2 PRO #1 [/usr/sbin/angie -c /etc/angie/angie.conf]Также можно проверить версию через angie -V:
Angie version: Angie/1.8.2 (PRO)Установка на этом завершена.
Запуск Angie в Docker-контейнере
Для Angie поддерживается реестр Docker‑образов, собранных на базе различных Linux‑дистрибутивов. Также образы делятся на минимальные (суффикс ‑minimal или тэг:minimal) и полные (с установленными дополнительными модулями). Список установленных модулей можно найти на странице документации.
Существует также шаблонизированный образ (суффикс ‑templated), который позволяет конфигурировать Angie с помощью переменных окружения.
Для запуска Angie в Docker мы будем использовать стандартный образ на базе дистрибутива Alpine, хостовая система: Ubuntu 24.04.
Предварительно установим Docker из стандартного репозитория:
sudo apt install docker.ioДалее создаём и запускаем контейнер с Angie.
sudo docker run --name angie -v \
/var/www/html:/usr/share/angie/html:ro -p 8800:80 -d \
 docker.angie.software/angie:latestВ этой команде мы пробросили часть хостовой файловой системы в контейнер. То есть директория /var/www/html на хосте будет корнем для конфигурации Angie по умолчанию, в контейнере она будет иметь путь: /usr/share/angie/html. Также в команде указан проброс порта: хостовый 8080, контейнер — 80. Заметим, что в качестве образа указан angie с тэгом latest, что подходит для учебных задач. При боевом использовании стоит указывать точную версию.
Если нет конфликта портов, то контейнер будет запущен, можно проверить его доступность:
curl localhost:8080У нашего контейнера есть директория для файлов сайта, он доступен по порту 8080, но мы не имеем возможности удобно редактировать его конфигурацию. Конечно, мы можем получить оболочку внутри контейнера и там пытаться редактировать конфиги, но есть лучший путь. Первым шагом мы скопируем директорию конфигов Angie в хостовую директорию.
sudo docker cp angie:/etc/angie/ /root/angieДалее удалим только что созданный контейнер и создадим новый, подключив к нему директорию настроек Angie из хостовой системы:
sudo docker rm -f angie
docker run --name angie -v /var/www/html:/usr/share/angie/html:ro \
 -v /root/angie:/etc/angie:ro -p 8800:80  -d \
 docker.angie.software/angie:latestТеперь все конфиги Angie доступны для редактирования в хостовой системе (/root/angie). При этом директории подключены в режиме только для чтения (:ro). После обновления конфигурации не забываем сделать reload для Angie в контейнере:
docker kill -s HUP angieНа этом мы запустили контейнер, доступный по порту 8080, использующий хостовую директорию /var/www/html как /usr/share/angie/html внутри контейнера и его конфигурация находится в хостовой директории /root/angie.
Другой вариант кастомизации контейнера — сборка собственного образа на базе одного из вариантов, доступных в реестре Angie.
Итоги
Мы разобрали несколько вариантов установки Angie из пакетных репозиториев, познакомились с установкой Angie PRO. После разобрали варианты образов Angie в реестре образов и процесс запуска контейнера с кастомной конфигурацией.
За рамками статьи остались аспекты сборки Angie из исходного кода и сборка собственных версий образов для Docker.
 
           
 
igrblkv
https://community-scripts.github.io/ProxmoxVE/scripts
Сюда нет желания добавить скрипт для быстрого развёртывания?
Или сделать готовую виртуалочку для ESXi/Hyper-V?
YuryZakharov
И для Proxmox, пожалуйста.