En este post, os mostraré cómo instalar Ansible AWX.
Ansible AWX es la versión open source de Ansible Tower, una interfaz gráfica para manejar Ansible de forma cómoda y más amigable (lo dice uno qué viene de puppet y Foreman XD)
1) Requisitos del servidor
- CentOS 7
- 2GB de memoria
- 1 vCPU
- 20GB de espacio en disco
Verificamos la configuración SElinux y que esté en modo permisivo:
[root@localhost ~]# sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: permissive
Mode from config file: permissive
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 28
[root@localhost ~]#
NOTA: Se puede modificar con el fichero /etc/selinux/config
Editamos el fichero de hosts /etc/hosts para que se resuelva a si mismo:
[root@localhost ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.150 ansible-awx
Habilitamos el firewall:
[root@localhost ~]# systemctl enable firewalld
[root@localhost ~]# systemctl start firewalld
[root@localhost ~]# firewall-cmd --add-service=http --permanent;firewall-cmd --add-service=http --permanent
success
success
[root@localhost ~]# systemctl restart firewalld
Habilitamos el repositorio EPEL para CentOS7:
[root@localhost ~]# yum install -y epel-release
Complementos cargados:fastestmirror
base | 3.6 kB 00:00:00
extras | 3.4 kB 00:00:00
updates | 3.4 kB 00:00:00
(1/4): base/7/x86_64/group_gz | 166 kB 00:00:00
(2/4): extras/7/x86_64/primary_db | 156 kB 00:00:00
(3/4): updates/7/x86_64/primary_db | 1.3 MB 00:00:00
(4/4): base/7/x86_64/primary_db | 6.0 MB 00:00:05
Determining fastest mirrors
* base: centos.uvigo.es
* extras: centos.uvigo.es
* updates: ftp.rediris.es
Resolviendo dependencias
--> Ejecutando prueba de transacción
---> Paquete epel-release.noarch 0:7-11 debe ser instalado
--> Resolución de dependencias finalizada
Dependencias resueltas
=====================================================================================================================================================================================
Package Arquitectura Versión Repositorio Tamaño
=====================================================================================================================================================================================
Instalando:
epel-release noarch 7-11 extras 15 k
Resumen de la transacción
=====================================================================================================================================================================================
Instalar 1 Paquete
Tamaño total de la descarga: 15 k
Tamaño instalado: 24 k
Downloading packages:
advertencia:/var/cache/yum/x86_64/7/extras/packages/epel-release-7-11.noarch.rpm: EncabezadoV3 RSA/SHA256 Signature, ID de clave f4a80eb5: NOKEY
No se ha instalado la llave pública de epel-release-7-11.noarch.rpm
epel-release-7-11.noarch.rpm | 15 kB 00:00:00
Obteniendo clave desde file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Importando llave GPG 0xF4A80EB5:
Usuarioid : "CentOS-7 Key (CentOS 7 Official Signing Key) <[email protected]>"
Huella : 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
Paquete : centos-release-7-4.1708.el7.centos.x86_64 (@anaconda)
Desde : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Instalando : epel-release-7-11.noarch 1/1
Comprobando : epel-release-7-11.noarch 1/1
Instalado:
epel-release.noarch 0:7-11
¡Listo!
[root@localhost ~]#
Necesitaremos posgresql para instalar AWX así que, habilitamos el repositorio:
[root@localhost ~]# yum install -y http://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
Complementos cargados:fastestmirror
pgdg-centos96-9.6-3.noarch.rpm | 4.7 kB 00:00:00
Examinando /var/tmp/yum-root-0SnzF2/pgdg-centos96-9.6-3.noarch.rpm: pgdg-centos96-9.6-3.noarch
Marcando /var/tmp/yum-root-0SnzF2/pgdg-centos96-9.6-3.noarch.rpm para ser instalado
Resolviendo dependencias
--> Ejecutando prueba de transacción
---> Paquete pgdg-centos96.noarch 0:9.6-3 debe ser instalado
--> Resolución de dependencias finalizada
Dependencias resueltas
=====================================================================================================================================================================================
Package Arquitectura Versión Repositorio Tamaño
=====================================================================================================================================================================================
Instalando:
pgdg-centos96 noarch 9.6-3 /pgdg-centos96-9.6-3.noarch 2.7 k
Resumen de la transacción
=====================================================================================================================================================================================
Instalar 1 Paquete
Tamaño total: 2.7 k
Tamaño instalado: 2.7 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Instalando : pgdg-centos96-9.6-3.noarch 1/1
Comprobando : pgdg-centos96-9.6-3.noarch 1/1
Instalado:
pgdg-centos96.noarch 0:9.6-3
¡Listo!
[root@localhost ~]#
Instalamos posgreSQL:
[root@localhost ~]# yum install postgresql96-server -y
Complementos cargados:fastestmirror
epel/x86_64/metalink | 16 kB 00:00:00
epel | 4.7 kB 00:00:00
pgdg96 | 4.1 kB 00:00:00
(1/5): epel/x86_64/group_gz | 88 kB 00:00:00
epel/x86_64/updateinfo FAILED
http://mirror.uv.es/mirror/fedora-epel/7/x86_64/repodata/b62e792850fe8655cca05e6a7487b8d89320ee5518dea64da995a6f484581831-updateinfo.xml.bz2: [Errno 14] HTTP Error 404 - Not FoundA
Intentando con otro espejo.
To address this issue please refer to the below knowledge base article
http://access.redhat.com/articles/1320623
If above article doesn't help to resolve this issue please create a bug on http://bugs.centos.org/
(2/5): epel/x86_64/updateinfo | 950 kB 00:00:00
(3/5): pgdg96/7/x86_64/group_gz | 249 B 00:00:00
(4/5): pgdg96/7/x86_64/primary_db | 207 kB 00:00:00
(5/5): epel/x86_64/primary_db | 6.5 MB 00:00:01
Loading mirror speeds from cached hostfile
* base: centos.uvigo.es
* epel: mirrors.colocall.net
* extras: centos.uvigo.es
* updates: ftp.rediris.es
Resolviendo dependencias
--> Ejecutando prueba de transacción
---> Paquete postgresql96-server.x86_64 0:9.6.11-1PGDG.rhel7 debe ser instalado
--> Procesando dependencias: postgresql96-libs(x86-64) = 9.6.11-1PGDG.rhel7 para el paquete: postgresql96-server-9.6.11-1PGDG.rhel7.x86_64
--> Procesando dependencias: postgresql96(x86-64) = 9.6.11-1PGDG.rhel7 para el paquete: postgresql96-server-9.6.11-1PGDG.rhel7.x86_64
--> Procesando dependencias: libpq.so.5()(64bit) para el paquete: postgresql96-server-9.6.11-1PGDG.rhel7.x86_64
--> Ejecutando prueba de transacción
---> Paquete postgresql96.x86_64 0:9.6.11-1PGDG.rhel7 debe ser instalado
---> Paquete postgresql96-libs.x86_64 0:9.6.11-1PGDG.rhel7 debe ser instalado
--> Resolución de dependencias finalizada
Dependencias resueltas
=====================================================================================================================================================================================
Package Arquitectura Versión Repositorio Tamaño
=====================================================================================================================================================================================
Instalando:
postgresql96-server x86_64 9.6.11-1PGDG.rhel7 pgdg96 4.5 M
Instalando para las dependencias:
postgresql96 x86_64 9.6.11-1PGDG.rhel7 pgdg96 1.4 M
postgresql96-libs x86_64 9.6.11-1PGDG.rhel7 pgdg96 318 k
Resumen de la transacción
=====================================================================================================================================================================================
Instalar 1 Paquete (+2 Paquetes dependientes)
Tamaño total de la descarga: 6.3 M
Tamaño instalado: 28 M
Downloading packages:
(1/3): postgresql96-9.6.11-1PGDG.rhel7.x86_64.rpm | 1.4 MB 00:00:01
(2/3): postgresql96-libs-9.6.11-1PGDG.rhel7.x86_64.rpm | 318 kB 00:00:01
(3/3): postgresql96-server-9.6.11-1PGDG.rhel7.x86_64.rpm | 4.5 MB 00:00:00
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 3.6 MB/s | 6.3 MB 00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Instalando : postgresql96-libs-9.6.11-1PGDG.rhel7.x86_64 1/3
Instalando : postgresql96-9.6.11-1PGDG.rhel7.x86_64 2/3
Instalando : postgresql96-server-9.6.11-1PGDG.rhel7.x86_64 3/3
Comprobando : postgresql96-libs-9.6.11-1PGDG.rhel7.x86_64 1/3
Comprobando : postgresql96-server-9.6.11-1PGDG.rhel7.x86_64 2/3
Comprobando : postgresql96-9.6.11-1PGDG.rhel7.x86_64 3/3
Instalado:
postgresql96-server.x86_64 0:9.6.11-1PGDG.rhel7
Dependencia(s) instalada(s):
postgresql96.x86_64 0:9.6.11-1PGDG.rhel7 postgresql96-libs.x86_64 0:9.6.11-1PGDG.rhel7
¡Listo!
Instalamos el resto de paquetería necesaria (nginx, ansible, wget…)
[root@localhost ~]# yum install -y rabbitmq-server wget memcached nginx ansible
2) Instalación Ansible AWX
Añadimos el repositorio:
[root@localhost ~]# wget -O /etc/yum.repos.d/awx-rpm.repo http://copr.fedorainfracloud.org/coprs/mrmeee/awx/repo/epel-7/mrmeee-awx-epel-7.repo
--2019-01-11 12:04:34-- http://copr.fedorainfracloud.org/coprs/mrmeee/awx/repo/epel-7/mrmeee-awx-epel-7.repo
Resolviendo copr.fedorainfracloud.org (copr.fedorainfracloud.org)... 209.132.184.54
Conectando con copr.fedorainfracloud.org (copr.fedorainfracloud.org)[209.132.184.54]:443... conectado.
Petición HTTP enviada, esperando respuesta... 200 OK
Longitud: 306 [text/plain]
Grabando a: “/etc/yum.repos.d/awx-rpm.repo”
100%[===========================================================================================================================================>] 306 --.-K/s en 0s
2019-01-11 12:04:39 (96,0 MB/s) - “/etc/yum.repos.d/awx-rpm.repo” guardado [306/306]
[root@localhost ~]#
Instalamos con yum:
[root@localhost ~]# yum install -y awx
Inicializamos la BBDD:
[root@localhost ~]# /usr/pgsql-9.6/bin/postgresql96-setup initdb
Initializing database ... OK
[root@localhost ~]#
Inicializamos el servicio de mensajeria Rabbitmq:
[root@localhost ~]# systemctl start rabbitmq-server
[root@localhost ~]# systemctl enable rabbitmq-server
Created symlink from /etc/systemd/system/multi-user.target.wants/rabbitmq-server.service to /usr/lib/systemd/system/rabbitmq-server.service.
[root@localhost ~]#
Arrancamos el servicio PosgreSQL:
[root@localhost ~]# systemctl enable postgresql-9.6
Created symlink from /etc/systemd/system/multi-user.target.wants/postgresql-9.6.service to /usr/lib/systemd/system/postgresql-9.6.service.
[root@localhost ~]# systemctl start postgresql-9.6
Arrancamos el servicio memcached:
[root@localhost ~]# systemctl enable memcached
Created symlink from /etc/systemd/system/multi-user.target.wants/memcached.service to /usr/lib/systemd/system/memcached.service.
[root@localhost ~]# systemctl start memcached
Creamos el usuario para la BBDD (ignoramos el error):
[root@localhost ~]# sudo -u postgres createuser -S awx
could not change directory to "/root": Permiso denegado
Creamos la BBDD (ignoramos también el error):
[root@localhost ~]# sudo -u postgres createdb -O awx awx
could not change directory to "/root": Permiso denegado
Importamos los datos en la BBDD:
[root@localhost ~]# sudo -u awx /opt/awx/bin/awx-manage migrate
Operations to perform:
Apply all migrations: auth, conf, contenttypes, main, oauth2_provider, sessions, sites, social_django, sso, taggit
Running migrations:
Applying contenttypes.0001_initial... OK
Applying taggit.0001_initial... OK
Applying taggit.0002_auto_20150616_2121... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0001_initial... OK
Applying main.0001_initial... OK
Applying main.0002_squashed_v300_release... OK
Applying main.0003_squashed_v300_v303_updates... OK
Applying main.0004_squashed_v310_release... OK
Applying conf.0001_initial... OK
Applying conf.0002_v310_copy_tower_settings... OK
Applying main.0005_squashed_v310_v313_updates... OK
Applying main.0006_v320_release... OK
Applying main.0007_v320_data_migrations...2019-01-11 11:12:12,521 DEBUG awx.main.migrations Removing all Rackspace InventorySource from database.
2019-01-11 11:12:12,840 DEBUG awx.main.migrations Removing all Azure Credentials from database.
2019-01-11 11:12:13,015 DEBUG awx.main.migrations Removing all Azure InventorySource from database.
2019-01-11 11:12:13,187 DEBUG awx.main.migrations Removing all InventorySource that have no link to an Inventory from database.
2019-01-11 11:12:13,919 DEBUG awx.main.models.credential adding Machine credential type
2019-01-11 11:12:13,922 DEBUG awx.main.models.credential adding Source Control credential type
2019-01-11 11:12:13,925 DEBUG awx.main.models.credential adding Vault credential type
2019-01-11 11:12:13,927 DEBUG awx.main.models.credential adding Network credential type
2019-01-11 11:12:13,929 DEBUG awx.main.models.credential adding Amazon Web Services credential type
2019-01-11 11:12:13,932 DEBUG awx.main.models.credential adding OpenStack credential type
2019-01-11 11:12:13,934 DEBUG awx.main.models.credential adding VMware vCenter credential type
2019-01-11 11:12:13,937 DEBUG awx.main.models.credential adding Red Hat Satellite 6 credential type
2019-01-11 11:12:13,939 DEBUG awx.main.models.credential adding Red Hat CloudForms credential type
2019-01-11 11:12:13,942 DEBUG awx.main.models.credential adding Google Compute Engine credential type
2019-01-11 11:12:13,944 DEBUG awx.main.models.credential adding Microsoft Azure Resource Manager credential type
2019-01-11 11:12:13,946 DEBUG awx.main.models.credential adding Insights credential type
2019-01-11 11:12:13,949 DEBUG awx.main.models.credential adding Red Hat Virtualization credential type
2019-01-11 11:12:13,951 DEBUG awx.main.models.credential adding Ansible Tower credential type
OK
Applying main.0008_v320_drop_v1_credential_fields... OK
Applying main.0009_v322_add_setting_field_for_activity_stream... OK
Applying main.0010_v322_add_ovirt4_tower_inventory... OK
Applying main.0011_v322_encrypt_survey_passwords... OK
Applying main.0012_v322_update_cred_types... OK
Applying main.0013_v330_multi_credential... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying conf.0003_v310_JSONField_changes... OK
Applying conf.0004_v320_reencrypt... OK
Applying conf.0005_v330_rename_two_session_settings... OK
Applying conf.0006_v331_ldap_group_type... OK
Applying sessions.0001_initial... OK
Applying main.0014_v330_saved_launchtime_configs... OK
Applying main.0015_v330_blank_start_args... OK
Applying main.0016_v330_non_blank_workflow... OK
Applying main.0017_v330_move_deprecated_stdout... OK
Applying main.0018_v330_add_additional_stdout_events... OK
Applying main.0019_v330_custom_virtualenv... OK
Applying main.0020_v330_instancegroup_policies... OK
Applying main.0021_v330_declare_new_rbac_roles... OK
Applying main.0022_v330_create_new_rbac_roles... OK
Applying main.0023_v330_inventory_multicred... OK
Applying main.0024_v330_create_user_session_membership... OK
Applying main.0025_v330_add_oauth_activity_stream_registrar... OK
Applying oauth2_provider.0001_initial... OK
Applying main.0026_v330_delete_authtoken... OK
Applying main.0027_v330_emitted_events... OK
Applying main.0028_v330_add_tower_verify... OK
Applying main.0030_v330_modify_application... OK
Applying main.0031_v330_encrypt_oauth2_secret... OK
Applying main.0032_v330_polymorphic_delete... OK
Applying main.0033_v330_oauth_help_text... OK
Applying main.0034_v330_delete_user_role...2019-01-11 11:12:45,224 INFO rbac_migrations Computing role roots..
2019-01-11 11:12:45,225 INFO rbac_migrations Found 0 roots in 0.000160 seconds, rebuilding ancestry map
2019-01-11 11:12:45,225 INFO rbac_migrations Rebuild completed in 0.000004 seconds
2019-01-11 11:12:45,225 INFO rbac_migrations Done.
OK
Applying main.0035_v330_more_oauth2_help_text... OK
Applying main.0036_v330_credtype_remove_become_methods... OK
Applying main.0037_v330_remove_legacy_fact_cleanup... OK
Applying main.0038_v330_add_deleted_activitystream_actor... OK
Applying main.0039_v330_custom_venv_help_text... OK
Applying main.0040_v330_unifiedjob_controller_node... OK
Applying main.0041_v330_update_oauth_refreshtoken... OK
Applying main.0042_v330_org_member_role_deparent...2019-01-11 11:12:48,635 INFO rbac_migrations Computing role roots..
2019-01-11 11:12:48,636 INFO rbac_migrations Found 0 roots in 0.000145 seconds, rebuilding ancestry map
2019-01-11 11:12:48,636 INFO rbac_migrations Rebuild completed in 0.000005 seconds
2019-01-11 11:12:48,636 INFO rbac_migrations Done.
OK
Applying main.0043_v330_oauth2accesstoken_modified... OK
Applying main.0044_v330_add_inventory_update_inventory... OK
Applying main.0045_v330_instance_managed_by_policy... OK
Applying main.0046_v330_remove_client_credentials_grant... OK
Applying main.0047_v330_activitystream_instance... OK
Applying main.0048_v330_django_created_modified_by_model_name... OK
Applying main.0049_v330_validate_instance_capacity_adjustment... OK
Applying main.0050_v340_drop_celery_tables... OK
Applying main.0051_v340_job_slicing... OK
Applying main.0052_v340_remove_project_scm_delete_on_next_update... OK
Applying main.0053_v340_workflow_inventory... OK
Applying main.0054_v340_workflow_convergence... OK
Applying oauth2_provider.0002_08_updates... OK
Applying oauth2_provider.0003_auto_20160316_1503... OK
Applying oauth2_provider.0004_auto_20160525_1623... OK
Applying oauth2_provider.0005_auto_20170514_1141... OK
Applying oauth2_provider.0006_auto_20171214_2232... OK
Applying sites.0001_initial... OK
Applying sites.0002_alter_domain_unique... OK
Applying social_django.0001_initial... OK
Applying social_django.0002_add_related_name... OK
Applying social_django.0003_alter_email_max_length... OK
Applying social_django.0004_auto_20160423_0400... OK
Applying social_django.0005_auto_20160727_2333... OK
Applying social_django.0006_partial... OK
Applying social_django.0007_code_timestamp... OK
Applying social_django.0008_partial_timestamp... OK
Applying sso.0001_initial... OK
Applying sso.0002_expand_provider_options... OK
[root@localhost ~]#
Inicializamos la configuración de AWX:
[root@localhost ~]# echo "from django.contrib.auth.models import User; User.objects.create_superuser('admin', 'root@localhost', 'password')" | sudo -u awx /opt/awx/bin/awx-manage shell
[root@localhost ~]# sudo -u awx /opt/awx/bin/awx-manage create_preload_data
Default organization added.
Demo Credential, Inventory, and Job Template added.
(changed: True)
[root@localhost ~]# sudo -u awx /opt/awx/bin/awx-manage provision_instance --hostname=$(hostname)
Successfully registered instance localhost.localdomain
(changed: True)
2019-01-11 11:14:43,068 DEBUG awx.main.dispatch publish awx.main.tasks.apply_cluster_membership_policies(047f737a-4f3e-48c6-9b90-7e9cf40fc4bf, queue=awx_private_queue)
[root@localhost ~]# sudo -u awx /opt/awx/bin/awx-manage register_queue --queuename=tower --hostnames=$(hostname)
2019-01-11 11:15:13,889 DEBUG awx.main.dispatch publish awx.main.tasks.apply_cluster_membership_policies(f994f4f4-73b3-458f-8d74-d25ec77fb7af, queue=awx_private_queue)
Creating instance group tower
2019-01-11 11:15:13,917 DEBUG awx.main.dispatch publish awx.main.tasks.apply_cluster_membership_policies(55edd072-140a-4bff-972b-d11c69b27c81, queue=awx_private_queue)
Added instance localhost.localdomain to tower
(changed: True)
[root@localhost ~]#
3) Configuración NGINX
Inicialmente hacemos un backup de la actual config:
[root@localhost ~]# cd /etc/nginx/
[root@localhost nginx]# pwd
/etc/nginx
[root@localhost nginx]# cp nginx.conf nginx.conf.bkp
[root@localhost nginx]#
Nos descargamos el nuevo fichero de configuración:
[root@localhost nginx]# wget -O /etc/nginx/nginx.conf http://raw.githubusercontent.com/sunilsankar/awx-build/master/nginx.conf
--2019-01-11 12:17:13-- http://raw.githubusercontent.com/sunilsankar/awx-build/master/nginx.conf
Resolviendo raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.120.133
Conectando con raw.githubusercontent.com (raw.githubusercontent.com)[151.101.120.133]:443... conectado.
Petición HTTP enviada, esperando respuesta... 200 OK
Longitud: 2621 (2,6K) [text/plain]
Grabando a: “/etc/nginx/nginx.conf”
100%[===========================================================================================================================================>] 2.621 --.-K/s en 0s
2019-01-11 12:17:14 (25,4 MB/s) - “/etc/nginx/nginx.conf” guardado [2621/2621]
[root@localhost nginx]#
Habilitamos y arrancamos el servicio NGINX:
[root@localhost nginx]# systemctl start nginx
[root@localhost nginx]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
[root@localhost nginx]#
Arrancamos los servicios AWX:
[root@localhost nginx]# systemctl start awx-cbreceiver
[root@localhost nginx]# systemctl start awx-channels-worker
[root@localhost nginx]# systemctl start awx-daphne
[root@localhost nginx]# systemctl start awx-web
Habilitamos los servicio para que arranquen automáticamente:
[root@localhost nginx]# systemctl enable awx-cbreceiver
Created symlink from /etc/systemd/system/multi-user.target.wants/awx-cbreceiver.service to /usr/lib/systemd/system/awx-cbreceiver.service.
[root@localhost nginx]# systemctl enable awx-channels-worker
Created symlink from /etc/systemd/system/multi-user.target.wants/awx-channels-worker.service to /usr/lib/systemd/system/awx-channels-worker.service.
[root@localhost nginx]# systemctl enable awx-daphne
Created symlink from /etc/systemd/system/multi-user.target.wants/awx-daphne.service to /usr/lib/systemd/system/awx-daphne.service.
[root@localhost nginx]# systemctl enable awx-web
Created symlink from /etc/systemd/system/multi-user.target.wants/awx-web.service to /usr/lib/systemd/system/awx-web.service.
[root@localhost nginx]#
4) Acceso al portal
Se accede al portal a través de un navegador web:
http://ip_or_fqdn/#/login
Usuario: admin Pass:password