GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare Ansible AWX con Nginx Reverse Proxy su Ubuntu 18.04 LTS

AWX è un'applicazione Web open source che fornisce l'interfaccia utente, l'API REST e il motore delle attività per Ansible. È la versione open source di Ansible Tower. AWX ti consente di gestire playbook, inventari e pianificare i lavori da eseguire utilizzando l'interfaccia web.

In questo tutorial, ti mostreremo come installare e configurare AWX sul server Ubuntu 18.04. Installeremo l'AWX con Nginx come proxy inverso e basato sulla connessione sicura HTTPS.

Prerequisito

  • Server Ubuntu 18.04
  • Memoria RAM +4 GB e 2 core
  • Privilegi di root

Cosa faremo:

  1. Installa Docker e Ansible
  2. Installa pacchetti aggiuntivi
  3. Scarica e configura il codice sorgente Ansible AWX
  4. Installa Ansible AWX
  5. Installa e configura Nginx come proxy inverso
  6. Configura Firewall UFW
  7. Test

Passaggio 1:installazione di Docker e Ansible

In primo luogo, installeremo i pacchetti principali necessari per l'installazione di AWX, sono Docker e Ansible stesso. Prima di installare questi pacchetti, aggiorna il repository di Ubuntu usando il comando seguente.

sudo apt update

Ora installa Docker e Ansible.

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

Una volta completata l'installazione, controlla la finestra mobile e ansible utilizzando i seguenti comandi.

docker version
ansible --version

Di seguito il risultato.

Passaggio 2:installazione di pacchetti aggiuntivi

Ora installeremo pacchetti aggiuntivi per l'installazione di AWX. Installeremo il pacchetto 'python-pip' sul sistema, quindi installeremo docker-compose e docker-py dal repository python PyPI.

Installa 'python-pip' usando il comando apt di seguito.

sudo apt install python-pip -y

Una volta completata l'installazione, installa i pacchetti docker-compose 1.9.0 e docker-py dal repository PyPI utilizzando i comandi pip seguenti.

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

Successivamente, dobbiamo installare nodejs e npm sul server.

Esegui il comando seguente.

sudo apt install nodejs npm -y

Una volta completato, aggiorna il npm all'ultima versione.

npm install npm --global

E di conseguenza, tutte le dipendenze sono state installate nel sistema. E siamo pronti per installare l'AWX.

Fase 3:scarica il codice sorgente AWX e configura

In questo passaggio, scaricheremo il codice sorgente AWX e configureremo il file di inventario per l'installazione AWX.

Scarica il codice sorgente AWX dal repository git e vai alla directory di installazione di awx.

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

Successivamente, genera la nuova chiave segreta per awx utilizzando il comando openssl di seguito.

openssl rand -hex 32

Copia la chiave segreta generata nella tua nota.

Ora modifica il file di configurazione 'inventario'.

vim inventory

Cambia la 'postgres_data_dir' nella directory '/var/lib/pgdocker'.

postgres_data_dir=/var/lib/pgdocker

Cambia 'host_port' in '8080'.

host_port=8080

Decommenta la riga 'use_docker_compose' e cambia il valore in 'true', perché gestiremo awx usando la finestra mobile compose.

use_docker_compose=true

Ora assicurati che 'docker_compose_dir' si trovi nella directory '/var/lib/awx'.

docker_compose_dir=/var/lib/awx

Modifica le credenziali per 'pg_password', 'rabbitmq_password', 'rabbitmq_erlang_cookie', 'admin_user' e 'admin_password' con le tue credenziali password.

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

dopodiché, cambia la chiave segreta della configurazione awx usando la chiave generata in alto.

secret_key=cbdd4c70bbf82d572bfbdd454b28172642e6b8061b8c8b4937d9134294d30e33

Quindi decommenta 'project_data_dir' e lascia il valore come predefinito.

project_data_dir=/var/lib/awx/projects

Salva e chiudi la configurazione.

Di seguito è riportato il file modificato 'inventario'.

grep -v '^#' inventory

file di configurazione dell'inventario.

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

E di conseguenza, siamo pronti per installare awx nella fase successiva.

Passaggio 4:installazione di Ansible AWX

Installa awx usando il seguente comando ansible-playbook.

ansible-playbook -i inventory install.yml

Il playbook eseguirà alcune attività tra cui il download di immagini docker e la creazione di nuovi contenitori postgresql, memcached, rabbitmq, l'applicazione web awx e l'attività awx.

E sotto c'è il risultato.

Quindi, vai alla directory '/var/lib/awx' e otterrai la configurazione 'docker-compose.yml'. Quindi controlla tutti i contenitori docker disponibili utilizzando il comando docker-compose.

cd /var/lib/awx
docker-compose ps

E ti verranno mostrati i contenitori awx come di seguito.

Inoltre, puoi controllare i registri del servizio "attività" utilizzando il comando seguente.

docker-compose logs task

Passaggio 5 - Installa e configura Nginx come proxy inverso

Dopo aver installato awx, installeremo e configureremo Nginx come proxy inverso per awx che esegue la porta '8080'.

Installa Nginx usando il seguente comando apt.

sudo apt install nginx -y

Una volta completata l'installazione, vai alla directory '/etc/nginx/sites-available/' e crea una nuova configurazione di host virtuale chiamata 'awx' usando vim editor.

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

Ora incolla la configurazione qui sotto.

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/;
    }
}

Modifica il nome di dominio e l'indirizzo IP proxy_pass con il tuo, quindi salva ed esci.

Ora attiva l'host virtuale 'awx' e testa la configurazione di nginx.

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

Assicurati che non ci siano errori con la configurazione di nginx, quindi riavvia il servizio nginx.

sudo systemctl restart nginx

Di conseguenza, l'installazione e la configurazione di Nginx come proxy inverso per awx sono state terminate.

Passaggio 6:configurazione del firewall UFW

Aggiungi i servizi SSH, HTTP e HTTPS alla configurazione del firewall UFW.

ufw allow ssh
ufw allow http
ufw allow https

Ora avvia e abilita il servizio firewall ufw.

ufw enable

Digita 'y' su yes e il firewall ufw è stato configurato.

Fase 7 - Test

Apri il tuo browser web e digita il tuo URL awx nella barra degli indirizzi.

https://awx.hakase-labs.io

E ti verrà mostrata la pagina di accesso awx come di seguito.

Ora digita l'utente "hakase" e la password "hakasepass", quindi fai clic sul pulsante "accedi".

Ora ottieni la dashboard dell'amministratore awx come di seguito.

E l'installazione di Ansible AWX con proxy inverso Nginx è stata completata con successo.


Ubuntu
  1. Come distribuire Modsecurity con Nginx su Ubuntu 20.04 LTS

  2. Come installare Odoo 11 su Ubuntu 16.04 con Nginx come proxy inverso

  3. Come installare Odoo 10 su Ubuntu 16.04 con Nginx come proxy inverso

  4. Come installare Flectra su Ubuntu 20.04 con Nginx come proxy inverso

  5. Come installare Odoo 12 su Ubuntu 18.04 con Nginx come proxy inverso

Come installare GitBucket con Nginx su Ubuntu 20.04 LTS

Come installare WildFly Java Application Server con Nginx Reverse Proxy su Ubuntu 20.04

Come installare nginx come proxy inverso per Apache su Ubuntu 16.04

Come installare Rocket.chat con proxy inverso nginx su Ubuntu 20.04

Come installare phpMyAdmin con Nginx (LEMP) su Ubuntu 18.04 LTS

Come installare phpMyAdmin con Nginx su Ubuntu 20.04 LTS