In this tutorial, we will show you how to install Ansible on Ubuntu 20.04 LTS. For those of you who didn’t know, Ansible is a radically simple IT automation engine that simplifies cloud computing, configuration management, program setup, intra-service orchestration, and several other IT needs. Ansible uses a very simple language (YAML, in the form of Ansible Playbooks) that allows you to spell out your automation jobs in a way that means plain English. Using Ansible you can control multi-host or device simultaneously using a single command. You don’t need to install the client in the apparatus or each server.
This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo
‘ to the commands to get root privileges. I will show you the step-by-step installation of Ansible on Ubuntu 20.04 (Focal Fossa). You can follow the same instructions for Ubuntu 18.04, 16.04, and any other Debian-based distribution like Linux Mint.
Prerequisites
- A server running one of the following operating systems: Ubuntu 20.04, and any other Debian-based distribution like Linux Mint.
- It’s recommended that you use a fresh OS install to prevent any potential issues.
- SSH access to the server (or just open Terminal if you’re on a desktop).
- A
non-root sudo user
or access to theroot user
. We recommend acting as anon-root sudo user
, however, as you can harm your system if you’re not careful when acting as the root.
Install Ansible on Ubuntu 20.04 LTS Focal Fossa
Step 1. First, make sure that all your system packages are up-to-date by running the following apt
commands in the terminal.
sudo apt update sudo apt upgrade
Step 2. Installing Ansible on Ubuntu 20.04.
Install Ansible on Ubuntu using following the command:
sudo apt install ansible
Check installation was successful by using this command:
ansible --version
Step 3. Configure Ansible.
Ansible inventory is a file that lists or defines the hosts to be managed via Ansible. /etc/ansible/hosts
is the default Ansible inventory file. To configure the inventory file you can open /etc/ansible/hosts
the file and adjust the configurations:
sudo nano /etc/ansible/hosts
Here you can configure multiple groups and their own variables. A sample configuration of remote server connection details:
[google_cloud] gcp_instance_1 ansible_host=EXTERNAL_IP [google_cloud:vars] ansible_ssh_user=username ansible_ssh_private_key_file=path_to_private-key [aws] aws_instance_1 ansible_host=EXTERNAL_IP [aws:vars] ansible_ssh_user=username ansible_ssh_private_key_file=path_to_private-key-or-pem-key [all:vars] ansible_python_interpreter=/usr/bin/python3
We have created two groups google_cloud
and aws
and their own corresponding variables with SSH username and the private keys. Once done, you can check the inventory using the following command:
ansible-inventory --list -y
all: children: google_cloud: hosts: gcp_instance_1: ansible_host: EXTERNAL_IP ansible_python_interpreter: /usr/bin/python3 ansible_ssh_user=username ansible_ssh_private_key_file=path_to_private-key aws: hosts: aws_instance_1: ansible_host: EXTERNAL_IP ansible_python_interpreter: /usr/bin/python3 ansible_ssh_user=username ansible_ssh_private_key_file=path_to_private-key-or-pem-key ungrouped: {}
Step 4. Test Connection Ansible.
Now Ansible should be able to connect to the servers listed in the inventory file using SSH.
- To check the connection on all servers you can use the following command:
ansible all -m ping
- To check the connection on a specific group you can use this command:
ansible google_cloud -m ping
Congratulations! You have successfully installed Ansible. Thanks for using this tutorial for installing Ansible on Ubuntu 20.04 LTS Focal Fossa. For additional help or useful information, we recommend you check the official Ansible website.