GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Ansible AWX s Nginx Reverse Proxy na Ubuntu 18.04 LTS

AWX je webová aplikace s otevřeným zdrojovým kódem, která poskytuje uživatelské rozhraní, REST API a modul úloh pro Ansible. Je to open source verze Ansible Tower. AWX vám umožňuje spravovat Ansible playbooky, inventáře a plánovat spouštění úloh pomocí webového rozhraní.

V tomto tutoriálu vám ukážeme, jak nainstalovat a nakonfigurovat AWX na serveru Ubuntu 18.04. Chystáme se nainstalovat AWX s Nginx jako reverzní proxy a postavené na zabezpečeném připojení HTTPS.

Předpoklad

  • Server Ubuntu 18.04
  • Paměť RAM + 4 GB a 2 jádra
  • Oprávnění uživatele root

Co uděláme:

  1. Nainstalujte Docker a Ansible
  2. Instalovat další balíčky
  3. Stáhněte a nakonfigurujte zdrojový kód Ansible AWX
  4. Nainstalujte Ansible AWX
  5. Nainstalujte a nakonfigurujte Nginx jako reverzní proxy
  6. Nastavení brány UFW Firewall
  7. Testování

Krok 1 – Instalace Docker a Ansible

Nejprve nainstalujeme hlavní balíčky potřebné pro instalaci AWX, je to samotný Docker a Ansible. Před instalací těchto balíčků aktualizujte úložiště Ubuntu pomocí následujícího příkazu.

sudo apt update

Nyní nainstalujte Docker a Ansible.

sudo apt install ansible -y
sudo apt install docker.io -y

Po dokončení instalace zkontrolujte docker a ansible pomocí následujících příkazů.

docker version
ansible --version

Níže je výsledek.

Krok 2 – Instalace dalších balíčků

Nyní nainstalujeme další balíčky pro instalaci AWX. Nainstalujeme balíček 'python-pip' do systému a poté nainstalujeme docker-compose a docker-py z PyPI python repozitáře.

Nainstalujte 'python-pip' pomocí příkazu apt níže.

sudo apt install python-pip -y

Po dokončení instalace nainstalujte balíčky docker-compose 1.9.0 a docker-py z úložiště PyPI pomocí příkazů pip níže.

pip install docker-compose==1.9.0
pip install docker-py

Dále musíme nainstalovat nodejs a npm na server.

Spusťte následující příkaz.

sudo apt install nodejs npm -y

Po dokončení upgradujte npm na nejnovější verzi.

npm install npm --global

V důsledku toho byly do systému nainstalovány všechny závislosti. A jsme připraveni nainstalovat AWX.

Krok 3 – Stáhněte si zdrojový kód AWX a nakonfigurujte jej

V tomto kroku stáhneme zdrojový kód AWX a nakonfigurujeme soubor inventáře pro instalaci AWX.

Stáhněte si zdrojový kód AWX z úložiště git a přejděte do instalačního adresáře awx.

git clone https://github.com/ansible/awx.git
cd awx/installer/

Poté vygenerujte nový tajný klíč pro awx pomocí příkazu openssl níže.

openssl rand -hex 32

Zkopírujte vygenerovaný tajný klíč do poznámky.

Nyní upravte konfigurační soubor 'inventář'.

vim inventory

Změňte 'postgres_data_dir' na adresář '/var/lib/pgdocker'.

postgres_data_dir=/var/lib/pgdocker

Změňte 'host_port' na '8080'.

host_port=8080

Odkomentujte řádek 'use_docker_compose' a změňte hodnotu na 'true', protože awx budeme spravovat pomocí docker compose.

use_docker_compose=true

Nyní se ujistěte, že 'docker_compose_dir' je umístěn v adresáři '/var/lib/awx'.

docker_compose_dir=/var/lib/awx

Změňte přihlašovací údaje pro 'pg_password', 'rabbitmq_password', 'rabbitmq_erlang_cookie', 'admin_user' a 'admin_password' pomocí vlastního hesla.

...
pg_password=hakaseposgresawx
...
rabbitmq_password=hakaserabbitmqawx
rabbitmq_erlang_cookie=cookiemonster
...
admin_user=hakase
admin_password=hakasepass
...

poté změňte tajný klíč konfigurace awx pomocí vygenerovaného klíče nahoře.

secret_key=cbdd4c70bbf82d572bfbdd454b28172642e6b8061b8c8b4937d9134294d30e33

Poté odkomentujte 'project_data_dir' a ponechte hodnotu jako výchozí.

project_data_dir=/var/lib/awx/projects

Uložte a zavřete konfiguraci.

Níže je upraven soubor 'inventář'.

grep -v '^#' inventory

konfigurační soubor inventáře.

localhost ansible_connection=local ansible_python_interpreter="/usr/bin/env python"

[all:vars]

dockerhub_base=ansible

awx_task_hostname=awx
awx_web_hostname=awxweb
postgres_data_dir=/var/lib/pgdocker
host_port=8080

use_docker_compose=true
docker_compose_dir=/var/lib/awx

pg_username=awx
pg_password=hakaseposgresawx
pg_database=awx
pg_port=5432

rabbitmq_password=hakaserabbitmqawx
rabbitmq_erlang_cookie=cookiemonster

admin_user=hakase
admin_password=hakasepass

create_preload_data=True

secret_key=cbdd4c70bbf82d572bfbdd454b28172642e6b8061b8c8b4937d9134294d30e33

project_data_dir=/var/lib/awx/projects

A v důsledku toho jsme připraveni nainstalovat awx v další fázi.

Krok 4 – Instalace Ansible AWX

Nainstalujte awx pomocí následujícího příkazu ansible-playbook.

ansible-playbook -i inventory install.yml

Příručka provede některé úkoly, včetně stahování obrázků dockeru a vytváření nových kontejnerů postgresql, memcached, rabbitmq, webové aplikace awx a úlohy awx.

A níže je výsledek.

Dále přejděte do adresáře '/var/lib/awx' a získáte konfiguraci 'docker-compose.yml'. Poté zkontrolujte všechny dostupné kontejnery dockeru pomocí příkazu docker-compose.

cd /var/lib/awx
docker-compose ps

A zobrazí se vám kontejnery awx, jak je uvedeno níže.

Kromě toho můžete zkontrolovat protokoly služby 'task' pomocí následujícího příkazu.

docker-compose logs task

Krok 5 – Instalace a konfigurace Nginx jako reverzního proxy

Po instalaci awx nainstalujeme a nakonfigurujeme Nginx jako reverzní proxy pro awx s portem '8080'.

Nainstalujte Nginx pomocí následujícího příkazu apt.

sudo apt install nginx -y

Po dokončení instalace přejděte do adresáře '/etc/nginx/sites-available/' a vytvořte novou konfiguraci virtuálního hostitele s názvem 'awx' pomocí editoru vim.

cd /etc/nginx/sites-available/
vim awx

Nyní vložte konfiguraci níže.

server {
   listen 80;
   server_name awx.hakase-labs.io;
   add_header Strict-Transport-Security max-age=2592000;
   rewrite ^ https://$server_name$request_uri? permanent;
}

server {
    listen 443 ssl http2;
    server_name awx.hakase-labs.io;

    access_log /var/log/nginx/awx.access.log;
    error_log /var/log/nginx/awx.error.log;

    ssl on;
    ssl_certificate /etc/nginx/ssl/fullchain.pem;
    ssl_certificate_key /etc/nginx/ssl/privkey.pem;
    ssl_session_timeout 5m;
    ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    ssl_protocols TLSv1.2;
    ssl_prefer_server_ciphers on;

location / {
    proxy_http_version 1.1;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_pass http://10.5.5.20:8080/;
    }
}

Změňte název domény a IP adresu proxy_pass na vlastní, poté uložte a ukončete.

Nyní aktivujte virtuálního hostitele 'awx' a otestujte konfiguraci nginx.

ln -s /etc/nginx/sites-available/awx /etc/nginx/sites-enabled/
nginx -t

Ujistěte se, že v konfiguraci nginx nedošlo k chybě, a poté službu nginx restartujte.

sudo systemctl restart nginx

V důsledku toho byla dokončena instalace a konfigurace Nginx jako reverzní proxy pro awx.

Krok 6 – Konfigurace brány UFW

Přidejte služby SSH, HTTP a HTTPS do konfigurace brány firewall UFW.

ufw allow ssh
ufw allow http
ufw allow https

Nyní spusťte a povolte službu ufw firewall.

ufw enable

Napište 'y' do yes a ufw firewall byl nakonfigurován.

Krok 7 – Testování

Otevřete webový prohlížeč a do adresního řádku zadejte adresu URL awx.

https://awx.hakase-labs.io

Zobrazí se vám přihlašovací stránka awx, jak je uvedeno níže.

Nyní zadejte uživatele 'hakase' a heslo 'hakasepass' a poté klikněte na tlačítko 'přihlásit se'.

Nyní získáte řídicí panel správce awx, jak je uvedeno níže.

A instalace Ansible AWX s reverzním proxy serverem Nginx byla úspěšně dokončena.


Ubuntu
  1. Jak nasadit Modsecurity s Nginx na Ubuntu 20.04 LTS

  2. Jak nainstalovat Odoo 11 na Ubuntu 16.04 s Nginx jako reverzní proxy

  3. Jak nainstalovat Odoo 10 na Ubuntu 16.04 s Nginx jako reverzní proxy

  1. Jak nainstalovat Ansible AWX na Ubuntu 20.04 LTS

  2. Jak nainstalovat Flectru na Ubuntu 20.04 s Nginx jako reverzní proxy

  3. Jak nainstalovat Odoo 12 na Ubuntu 18.04 s Nginx jako reverzní proxy

  1. Jak nainstalovat Ansible na Ubuntu 20.04 LTS / 21.04

  2. Jak nainstalovat Seafile s Nginx na Ubuntu 20.04 LTS

  3. Jak nainstalovat Varnish Reverse Proxy s Nginx na Ubuntu 16.04 LTS