GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie Ansible AWX mit Nginx Reverse Proxy unter Ubuntu 18.04 LTS

AWX ist eine Open-Source-Webanwendung, die die Benutzeroberfläche, die REST-API und die Task-Engine für Ansible bereitstellt. Es ist die Open-Source-Version des Ansible Tower. Mit AWX können Sie Ansible-Playbooks und -Inventare verwalten und Jobs für die Ausführung über die Weboberfläche planen.

In diesem Tutorial zeigen wir Ihnen, wie Sie AWX auf dem Ubuntu-Server 18.04 installieren und konfigurieren. Wir werden AWX mit Nginx als Reverse-Proxy installieren und auf der sicheren HTTPS-Verbindung aufbauen.

Voraussetzung

  • Ubuntu-Server 18.04
  • RAM-Speicher +4 GB und 2 Kerne
  • Root-Rechte

Was wir tun werden:

  1. Installieren Sie Docker und Ansible
  2. Zusätzliche Pakete installieren
  3. Ansible AWX-Quellcode herunterladen und konfigurieren
  4. Installieren Sie Ansible AWX
  5. Installieren und konfigurieren Sie Nginx als Reverse Proxy
  6. UFW-Firewall einrichten
  7. Testen

Schritt 1 – Docker und Ansible installieren

Zuerst werden wir die Hauptpakete installieren, die für die AWX-Installation benötigt werden, nämlich Docker und Ansible selbst. Aktualisieren Sie vor der Installation dieser Pakete das Ubuntu-Repository mit dem folgenden Befehl.

sudo apt update

Installieren Sie nun Docker und Ansible.

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

Sobald die Installation abgeschlossen ist, überprüfen Sie Docker und Ansible mit den folgenden Befehlen.

docker version
ansible --version

Unten ist das Ergebnis.

Schritt 2 - Zusätzliche Pakete installieren

Jetzt werden wir zusätzliche Pakete für die AWX-Installation installieren. Wir werden das Paket „python-pip“ auf dem System installieren und dann docker-compose und docker-py aus dem PyPI-Python-Repository installieren.

Installieren Sie 'python-pip' mit dem folgenden apt-Befehl.

sudo apt install python-pip -y

Installieren Sie nach Abschluss der Installation die Pakete docker-compose 1.9.0 und docker-py aus dem PyPI-Repository mit den folgenden Pip-Befehlen.

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

Als nächstes müssen wir nodejs und npm auf dem Server installieren.

Führen Sie den folgenden Befehl aus.

sudo apt install nodejs npm -y

Aktualisieren Sie npm nach Abschluss auf die neueste Version.

npm install npm --global

Als Ergebnis wurden alle Abhängigkeiten auf dem System installiert. Und wir sind bereit, AWX zu installieren.

Schritt 3 – AWX-Quellcode herunterladen und konfigurieren

In diesem Schritt laden wir den AWX-Quellcode herunter und konfigurieren die Inventardatei für die AWX-Installation.

Laden Sie den AWX-Quellcode aus dem Git-Repository herunter und wechseln Sie in das awx-Installationsverzeichnis.

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

Generieren Sie danach den neuen geheimen Schlüssel für das awx mit dem Befehl openssl unten.

openssl rand -hex 32

Kopieren Sie den generierten geheimen Schlüssel in Ihre Notiz.

Bearbeiten Sie nun die Konfigurationsdatei 'inventory'.

vim inventory

Ändern Sie das „postgres_data_dir“ in das Verzeichnis „/var/lib/pgdocker“.

postgres_data_dir=/var/lib/pgdocker

Ändern Sie den 'host_port' auf '8080'.

host_port=8080

Entkommentieren Sie die Zeile „use_docker_compose“ und ändern Sie den Wert auf „true“, da wir die awx mit Docker Compose verwalten werden.

use_docker_compose=true

Stellen Sie nun sicher, dass sich „docker_compose_dir“ im Verzeichnis „/var/lib/awx“ befindet.

docker_compose_dir=/var/lib/awx

Ändern Sie die Zugangsdaten für „pg_password“, „rabbitmq_password“, „rabbitmq_erlang_cookie“, „admin_user“ und „admin_password“ mit Ihren eigenen Zugangsdaten.

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

Ändern Sie danach den geheimen Schlüssel der awx-Konfiguration mit dem generierten Schlüssel oben.

secret_key=cbdd4c70bbf82d572bfbdd454b28172642e6b8061b8c8b4937d9134294d30e33

Entkommentieren Sie dann das 'project_data_dir' und belassen Sie den Wert als Standard.

project_data_dir=/var/lib/awx/projects

Speichern und schließen Sie die Konfiguration.

Unten ist die Bearbeitung der 'inventory'-Datei.

grep -v '^#' inventory

Inventarkonfigurationsdatei.

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

Und als Ergebnis sind wir bereit, das awx in der nächsten Phase zu installieren.

Schritt 4 – Ansible AWX installieren

Installieren Sie awx mit dem folgenden ansible-playbook-Befehl.

ansible-playbook -i inventory install.yml

Das Playbook erledigt einige Aufgaben, darunter das Herunterladen von Docker-Images und das Erstellen neuer Container postgresql, memcached, rabbitmq, die awx-Webanwendung und die awx-Aufgabe.

Und unten ist das Ergebnis.

Als nächstes gehen Sie in das Verzeichnis ‚/var/lib/awx‘ und Sie erhalten die Konfiguration ‚docker-compose.yml‘. Überprüfen Sie dann alle verfügbaren Docker-Container mit dem Befehl docker-compose.

cd /var/lib/awx
docker-compose ps

Und Ihnen werden awx-Container wie unten angezeigt.

Außerdem können Sie mit dem folgenden Befehl Protokolle des 'Task'-Dienstes überprüfen.

docker-compose logs task

Schritt 5 – Nginx als Reverse-Proxy installieren und konfigurieren

Nach der Installation von awx installieren und konfigurieren wir Nginx als Reverse-Proxy für die awx, auf der Port „8080“ ausgeführt wird.

Installieren Sie Nginx mit dem folgenden apt-Befehl.

sudo apt install nginx -y

Gehen Sie nach Abschluss der Installation in das Verzeichnis „/etc/nginx/sites-available/“ und erstellen Sie mit dem vim-Editor eine neue virtuelle Hostkonfiguration namens „awx“.

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

Fügen Sie nun die Konfiguration unten ein.

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

Ändern Sie den Domänennamen und die Proxy_pass-IP-Adresse durch Ihre eigenen, speichern Sie dann und beenden Sie.

Aktivieren Sie nun den virtuellen Host „awx“ und testen Sie die nginx-Konfiguration.

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

Stellen Sie sicher, dass die nginx-Konfiguration fehlerfrei ist, und starten Sie dann den nginx-Dienst neu.

sudo systemctl restart nginx

Als Ergebnis ist die Installation und Konfiguration von Nginx als Reverse-Proxy für awx abgeschlossen.

Schritt 6 – Konfigurieren Sie die UFW-Firewall

Fügen Sie die SSH-, HTTP- und HTTPS-Dienste zur UFW-Firewallkonfiguration hinzu.

ufw allow ssh
ufw allow http
ufw allow https

Starten und aktivieren Sie nun den ufw-Firewall-Dienst.

ufw enable

Geben Sie 'y' für yes ein und die ufw-Firewall wurde konfiguriert.

Schritt 7 – Testen

Öffnen Sie Ihren Webbrowser und geben Sie Ihre awx-URL in die Adressleiste ein.

https://awx.hakase-labs.io

Und Ihnen wird die awx-Anmeldeseite wie unten angezeigt.

Geben Sie nun den Benutzer „hakase“ und das Passwort „hakasepass“ ein und klicken Sie dann auf die Schaltfläche „Anmelden“.

Jetzt erhalten Sie das awx-Admin-Dashboard wie unten gezeigt.

Und die Installation von Ansible AWX mit Nginx-Reverse-Proxy wurde erfolgreich abgeschlossen.


Ubuntu
  1. So stellen Sie Modsecurity mit Nginx auf Ubuntu 20.04 LTS bereit

  2. So installieren Sie Odoo 11 auf Ubuntu 16.04 mit Nginx als Reverse Proxy

  3. So installieren Sie Odoo 10 auf Ubuntu 16.04 mit Nginx als Reverse Proxy

  4. So installieren Sie Flectra auf Ubuntu 20.04 mit Nginx als Reverse Proxy

  5. So installieren Sie Odoo 12 auf Ubuntu 18.04 mit Nginx als Reverse Proxy

So installieren Sie GitBucket mit Nginx unter Ubuntu 20.04 LTS

So installieren Sie WildFly Java Application Server mit Nginx Reverse Proxy unter Ubuntu 20.04

So installieren Sie nginx als Reverse Proxy für Apache unter Ubuntu 16.04

So installieren Sie Rocket.chat mit nginx-Reverse-Proxy unter Ubuntu 20.04

So installieren Sie phpMyAdmin mit Nginx (LEMP) unter Ubuntu 18.04 LTS

So installieren Sie phpMyAdmin mit Nginx unter Ubuntu 20.04 LTS