Гид по технологиям

Установка Ansible AWX на Debian 11

• 4 min read • DevOps • Обновлено 21 Nov 2025
Установка Ansible AWX на Debian 11
Установка Ansible AWX на Debian 11

Что такое Ansible AWX

Ansible AWX — это бесплатное и открытое веб-приложение (спонсируется Red Hat) для управления playbook’ами и инвентарями Ansible через удобный веб-интерфейс и REST API. Коротко: это GUI и API-слой поверх Ansible для централизованного управления автоматизацией.

Основные требования

  • Сервер с Debian 11.
  • Доступ root или пользователь с правами sudo.
  • Конфигурация базовых сетевых правил и открытых портов (80 или 443 при настройке TLS).

Подготовка системы

Перед началом обновите кеш пакетов и установите общие зависимости.

apt-get install apt-transport-https ca-certificates software-properties-common unzip gnupg2 curl git -y

Важно: в Debian 11 apt-key устарел; в этой инструкции мы используем тот же ключ, что и многие руководства, но при желании можно управлять ключами через /usr/share/keyrings.

Добавление репозитория Ansible

Репозиторий Ansible не входит в стандартный набор пакетов Debian 11, поэтому добавим PPA от проекта Ansible.

Откройте файл sources.list:

nano /etc/apt/sources.list

Добавьте строку:

deb http://ppa.launchpad.net/ansible/ansible/ubuntu focal main

Сохраните и закройте файл. Затем добавьте GPG-ключ:

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367

Пример вывода (информативно):

Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
Executing: /tmp/apt-key-gpghome.47eo2M3Kib/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
gpg: key 93C4A3FD7BB9C367: public key "Launchpad PPA for Ansible, Inc." imported
gpg: Total number processed: 1
gpg:               imported: 1

Обновите индексы пакетов:

apt-get update -y

Установка Ansible

Установите пакет Ansible:

apt-get install ansible -y

Проверьте версию:

ansible --version

Ожидаемый формат вывода (пример):

ansible [core 2.11.6]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3/dist-packages/ansible
  ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/bin/ansible
  python version = 3.9.2 (default, Feb 28 2021, 17:03:44) [GCC 10.2.1 20210110]
  jinja version = 2.11.3
  libyaml = True

Установка Docker CE

Docker обычно не входит в стандартный репозиторий Debian 11, поэтому добавим официальный репозиторий Docker.

Скачайте и добавьте GPG-ключ:

curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Добавьте репозиторий Docker в APT:

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list

Обновите и установите Docker CE:

apt-get update -y
apt-get install docker-ce -y

Проверьте статус сервиса:

systemctl status docker

Пример вывода:

? docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running)

Проверьте версию:

docker -v

Пример вывода:

Docker version 20.10.10, build b485636

Установка Docker Compose и дополнительных зависимостей

Скачайте бинарник Docker Compose (в примере версия 1.29.0):

wget https://github.com/docker/compose/releases/download/1.29.0/docker-compose-Linux-x86_64

Переместите и сделайте исполняемым:

mv docker-compose-Linux-x86_64 /usr/bin/docker-compose
chmod +x /usr/bin/docker-compose

Проверьте версию:

docker-compose version

Установите Node.js, npm, pip и утилиты:

apt-get install nodejs npm -y
npm install npm --global
apt-get install python3-pip git pwgen -y
pip3 install docker-compose==1.29.0

Примечание: некоторые шаги (npm, версии) можно адаптировать под корпоративные политики безопасности и зеркала пакетов.

Загрузка и установка Ansible AWX

Скачайте релиз AWX (в примере 17.1.0):

wget https://github.com/ansible/awx/archive/17.1.0.zip
unzip 17.1.0.zip
cd awx-17.1.0/installer/

Сгенерируйте секретный ключ (pwgen использовался выше):

pwgen -N 1 -s 30

Пример сгенерированного ключа:

dGF8eiFiTkzpaqpWyckxSLe57sZNfJ

Отредактируйте файл inventory и задайте admin_user, admin_password и secret_key:

nano inventory

Замените строки на свои значения:

admin_user=admin
admin_password=securepassword
secret_key=dGF8eiFiTkzpaqpWyckxSLe57sZNfJ

Запустите playbook установки:

ansible-playbook -i inventory install.yml

Примерный фрагмент вывода установки:

TASK [local_docker : Create Redis socket directory] *****************************************************************************************
changed: [localhost]
...
PLAY RECAP **********************************************************************************************************************************
localhost                  : ok=21   changed=12   unreachable=0    failed=0    skipped=73   rescued=0    ignored=1

Playbook скачает образы и запустит контейнеры AWX.

Проверка Docker образов и контейнеров

Список образов:

docker images

Ожидаемый формат вывода:

REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
postgres      12        108ccc7c5fa3   5 days ago     371MB
redis         latest    7faaec683238   2 weeks ago    113MB
centos        8         5d0da3dc9764   6 weeks ago    231MB
ansible/awx   17.1.0    599918776cf2   7 months ago   1.41GB

Список запущенных контейнеров:

docker ps

Ожидаемый формат вывода:

CONTAINER ID   IMAGE                COMMAND                  CREATED         STATUS         PORTS                                   NAMES
b6cd8d874b09   ansible/awx:17.1.0   "/usr/bin/tini -- /u…"   2 minutes ago   Up 2 minutes   8052/tcp                                awx_task
65dd0c36334a   ansible/awx:17.1.0   "/usr/bin/tini -- /b…"   5 minutes ago   Up 2 minutes   0.0.0.0:80->8052/tcp, :::80->8052/tcp   awx_web
4119ca4a1d24   postgres:12          "docker-entrypoint.s…"   5 minutes ago   Up 2 minutes   5432/tcp                                awx_postgres
212b73bfe362   redis                "docker-entrypoint.s…"   5 minutes ago   Up 2 minutes   6379/tcp                                awx_redis

Доступ к веб-интерфейсу

Откройте браузер и перейдите по адресу http://your-server-ip (или по имени хоста). На странице логина используйте admin_user и admin_password, заданные в inventory.

Логин в Ansible AWX

Панель управления Ansible AWX

Поздравляем — AWX должен быть доступен и готов к настройке проектов, инвентарей и шаблонов задач.

Мини-методология установки (шаги в одном абзаце)

  1. Подготовить сервер и зависимости; 2) Установить Ansible; 3) Установить Docker и Docker Compose; 4) Скачать AWX, отредактировать inventory и запустить ansible-playbook; 5) Проверить контейнеры и зайти в веб-интерфейс.

Чек-лист по ролям

  • Системный администратор: убедиться в доступе root, настроить firewall и SELinux/AppArmor политики.
  • DevOps-инженер: подготовить репозитории, CI/CD для обновлений AWX и бэкапов БД.
  • Безопасность: проверить учетные записи, настроить TLS, изменить дефолтные пароли.

Критерии приёмки

  • Веб-интерфейс доступен по адресу сервера.
  • Как минимум один контейнер awx_web и awx_task в статусе Up.
  • БД Postgres и Redis запущены и в сети контейнеров AWX.
  • Вход в систему под настроенным admin-пользователем успешен.

Частые проблемы и способы устранения

  • Сервис Docker не стартует: посмотреть логи systemd (journalctl -u docker) и проверить конфликты с версией ядра.
  • Не хватает прав при запуске ansible-playbook: запускать от root или через sudo.
  • Порт 80 занят: убедиться, что другой процесс (nginx/apache) не слушает порт, либо использовать проксирование/изменить порт.
  • Проблемы с загрузкой образов: проверьте доступ в интернет или приватные прокси/registry.

Безопасность и рекомендации

  • Сразу смените admin_password на сложный и уникальный пароль.
  • Настройте TLS (рекомендуется) через обратный прокси (nginx, Traefik) или встроенный механизм, если используете 443.
  • Ограничьте доступ к интерфейсу по IP или VPN.
  • Выполняйте регулярные бэкапы БД Postgres и volume’ов Docker.

Альтернативы и когда AWX не подходит

  • Если вам нужен полностью управляемый сервис с SLA — рассмотрите Ansible Tower (коммерческая версия от Red Hat).
  • Для простых одноразовых сценариев автоматизации GUI может быть избыточен — достаточно Ansible CLI и git-репозитория.

Краткий глоссарий

  • AWX: открытая версия Red Hat Ansible Tower.
  • Playbook: файл с задачами Ansible в YAML.
  • Inventory: список хостов и групп для Ansible.

Команды-справочник

  • apt-get update -y — обновление индексов пакетов
  • apt-get install -y — установка пакета
  • docker ps — список запущенных контейнеров
  • docker images — список образов
  • ansible-playbook -i inventory install.yml — запустить установку AWX

Резюме

  • Ansible AWX предоставляет удобный веб-интерфейс и API для централизованного управления Ansible.
  • Процесс установки состоит из подготовки системы, установки Ansible, Docker и зависимостей, скачивания релиза AWX и запуска playbook’а установки.
  • После установки обязательно изменить дефолтные учётные данные, настроить TLS и организовать бэкап данных.

Важная заметка: проверяйте совместимость версий компонентов (Docker, docker-compose, Python) с выбранной версией AWX и адаптируйте команды под вашу инфраструктуру.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро