AWX Installation Steps ###################### # By Waderni Lotfi ###################### # SELinux yum -y install policycoreutils-python semanage port -a -t http_port_t -p tcp 8050 semanage port -a -t http_port_t -p tcp 8051 semanage port -a -t http_port_t -p tcp 8052 setsebool -P httpd_can_network_connect 1 # Firewalld (NOT RECOMMENDED IN PRODUCTION ENVIROMENT) systemctl stop firewalld systemctl disable firewalld # Epel / Software Collections Repositories: yum -y install epel-release wget yum -y install centos-release-scl centos-release-scl-rh # AWX Repository: echo "[mrmeee-ansible-awx] name=Copr repo for ansible-awx owned by mrmeee baseurl=https://copr-be.cloud.fedoraproject.org/results/mrmeee/ansible-awx/epel-7-$basearch/ type=rpm-md skip_if_unavailable=True gpgcheck=1 gpgkey=https://copr-be.cloud.fedoraproject.org/results/mrmeee/ansible-awx/pubkey.gpg repo_gpgcheck=0 enabled=1 enabled_metadata=1" > /etc/yum.repos.d/ansible-awx.repo # RabbitMQ and Erlang Repositories: echo "[bintraybintray-rabbitmq-rpm] name=bintray-rabbitmq-rpm baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.7.x/el/7/ gpgcheck=0 repo_gpgcheck=0 enabled=1" > /etc/yum.repos.d/rabbitmq.repo echo "[bintraybintray-rabbitmq-erlang-rpm] name=bintray-rabbitmq-erlang-rpm baseurl=https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/21/el/7/ gpgcheck=0 repo_gpgcheck=0 enabled=1" > /etc/yum.repos.d/rabbitmq-erlang.repo # Installation: 01- Install RabbitMQ and Git: yum -y install rabbitmq-server rh-git29 systemctl enable rabbitmq-server && systemctl start rabbitmq-server 02- Install PostgreSQL, Initialize db && create awx db and user: yum install -y rh-postgresql10 scl enable rh-postgresql10 "postgresql-setup initdb" systemctl start rh-postgresql10-postgresql.service && systemctl enable rh-postgresql10-postgresql.service scl enable rh-postgresql10 "su postgres -c \"createuser -S awx\"" scl enable rh-postgresql10 "su postgres -c \"createdb -O awx awx\"" 03- Install memcached: yum install -y memcached systemctl enable memcached && systemctl start memcached 04- Install & configure NGINX: yum -y install nginx cp -p /etc/nginx/nginx.conf{,.org} wget -O /etc/nginx/nginx.conf https://raw.githubusercontent.com/faudeltn/AnsibleTower-awx/master/ansible-awx-install/nginx.conf systemctl enable nginx && systemctl start nginx 05- Install Python and dependcies: yum -y install rh-python36 yum -y install --disablerepo='*' --enablerepo='mrmeee-ansible-awx, base' -x *-debuginfo rh-python36* 06- Install AWX-RPM: yum install -y ansible-awx 07- Initialize AWX: sudo -u awx scl enable rh-python36 rh-postgresql10 rh-git29 "GIT_PYTHON_REFRESH=quiet awx-manage migrate" echo "from django.contrib.auth.models import User; User.objects.create_superuser('admin', 'root@localhost', 'password')" | sudo -u awx scl enable rh-python36 rh-postgresql10 "GIT_PYTHON_REFRESH=quiet awx-manage shell" sudo -u awx scl enable rh-python36 rh-postgresql10 rh-git29 "GIT_PYTHON_REFRESH=quiet awx-manage create_preload_data" # Optional Sample Configuration sudo -u awx scl enable rh-python36 rh-postgresql10 rh-git29 "GIT_PYTHON_REFRESH=quiet awx-manage provision_instance --hostname=$(hostname)" sudo -u awx scl enable rh-python36 rh-postgresql10 rh-git29 "GIT_PYTHON_REFRESH=quiet awx-manage register_queue --queuename=tower --hostnames=$(hostname)" 08- Enable and Start AWX: systemctl enable awx systemctl start awx