AWX 是 Ansible Tower 的上游開源專案,提供圖形化介面管理 Ansible Playbook、排程與憑證。雖然官方安裝程式主要支援 RHEL/CentOS 與 Ubuntu,但透過修改 Ansible Role 腳本,我們同樣可以在 Debian 系統上成功部署 AWX。本文記錄完整安裝流程與關鍵修改點。
wget https://github.com/ansible/awx/archive/refs/tags/17.1.0.tar.gz -O awx-setup-latest.tar.gz
tar zxvf awx-setup-latest.tar.gz
cd awx-17.1.0/installer
社群貢獻者 xuxiaodong 提供了關鍵的修補檔案,需下載並覆蓋對應的 Role 任務檔:
| 修補檔案來源 | 目標檔案路徑 |
|---|---|
| packages_ubuntu/tasks/main.yml | roles/packages_ubuntu/tasks/main.yml |
| postgres/tasks/main.yml | roles/postgres/tasks/main.yml |
| misc/tasks/main.yml | roles/misc/tasks/main.yml |
| site.yml | site.yml |
可使用 wget 或 curl 下載後以 cp 覆蓋,或直接以 curl -o 輸出至目標路徑。
編輯 inventory 檔案(或 group_vars/all),設定以下關鍵參數:
postgres_data_dir: "/var/lib/pgdocker"
awx_official: false
pg_username: awx
pg_password: "您的強密碼"
pg_database: awx
rabbitmq_username: guest
rabbitmq_password: "您的強密碼"
admin_user: admin
admin_password: "管理者密碼"
secret_key: "請產生一組 50 字元以上的隨機字串"
ansible-playbook -i inventory install.yml
安裝過程會自動建立 Docker 容器(awx_web、awx_task、postgres、rabbitmq、memcached 等),視網路速度約需 10-20 分鐘。
若需透過 Apache 以 HTTPS 存取 AWX,請在 /etc/apache2/sites-enabled/ 建立符號連結:
ln -s ../conf.d/awx.conf .
ln -s ../conf.d/awx-plain.conf .
並編輯 /etc/apache2/apache2.conf,將 Require all denied 註解掉:
<Directory />
Options FollowSymLinks
AllowOverride None
# Require all denied
</Directory>
重新載入 Apache:systemctl reload apache2
開啟瀏覽器造訪 https://您的伺服器IP/,以 admin 及設定的密碼登入。若看到 AWX 儀表板即代表安裝成功。
docker pull 所需映像檔。pg_password 無特殊字元導致 YAML 解析問題。journalctl -u docker。透過上述步驟,您即可在 Debian 系統上穩定運行 AWX,享受 Ansible 自動化操作的視覺化管理介面。
RHEL/CentOS 7 使用 nmcli 管理網路連線完整教學
Linux whiptail 互動式對話框完整開發指南:從選單、輸入框到進度條
CentOS 5.5 安装配置 Puppet 2.6 集中化配置管理:Master/Agent 部署全记录
Linux 建立與移除 swap 交換分區/檔案完整操作指南
Ubuntu 编译安装 Hypertable 完整指南:依赖准备、CMake 配置与构建
Linux 安裝 Python 第三方庫報錯「Python version 2.7 required」?註冊表修復腳本解決