Ansible Setup: Configure Ansible for IT Automation via IaC

Whether you want to manage configurations of your on-premises or cloud hosted server, Ansible is one of the most reliable tools in its category. It is an open-source, cross-platform automation tool that has revolutionized how IT professionals manage their servers, offering streamlined workflows and improved productivity. As you ramp on this technology, be sure check our informative articles, What is Ansible and What Does it Do? and An Introduction to Ansible Playbooks.
If you want to install and configure Ansible for harnessing its incredible power, this guide will help you navigate the process. This article explores everything you need to do to complete your Ansible setup — and then start managing your server configurations. It walks you through the Ansible setup and configuration instructions for three different operating systems, Ubuntu, Windows, and AlmaLinux. So, dive in and get started!
Overview of Ansible Setup & Configuration
Ansible is an IT automation tool — in the Infrastructure as Code (IaC) software category — intended to facilitate the management of remote servers. Ansible requires Python 2.7 or Python 3.5 or higher to run. Ansible is run from a centralized control node and can manage any server accessible over SSH. Remote servers that are managed by Ansible are called managed nodes.
By default, Ansible communicates with managed nodes using OpenSSH. SSH is not the only communication mechanism Ansible supports. You can run tasks on the control server locally, in a Docker container or even a Windows server. The control node will require Linux to run.
What is IT Automation?
Today, System Administrators and DevOps Engineers must manage complex IT infrastructure in the cloud and across multiple sites. Modern web applications typically consist of an API service, a front-end service, and a database service. Manually managing such complex systems would require a lot of time and would be prone to mistakes.
IT automation uses software to provision IT infrastructure, deploy applications and, to manage services configuration changes. The software you use to fill this role needs to provide a reliable and repeatable way to manage your IT tasks. Ansible’s approach to IT automation centers around the concept of a playbook. You can think of an Ansible playbook as a recipe that describes the steps needed to set up your IT infrastructure, deploy your applications and then configure those services.
Advantages of Ansible
Ansible is very easy to learn and allows you to get up and running with automation more quickly than other tools. Ansible is agentless, so you don’t have to install and maintain an Ansible client on your managed nodes. This dramatically simplifies the management of Ansible updates.
Drawbacks of Ansible
Ansible, of course, is not a perfect tool. If an SSH connection is interrupted partway through a playbook run, that node could end up in a partially configured state. Ansible also has a reputation for being slow and may require additional performance tuning to meet your requirements.
Prerequisites for Ansible Setup
Before we begin working on our Ansible setup, we’ll need root access for the Linux servers being used. Installing Ansible is pretty straightforward. We can get started in the next sections, assuming you have SSH access to the servers along with the following prerequisites established.
Ubuntu
- The Ubuntu 18.04 OS installed on your system or a later version of this OS.
- Sudo access or root privileges.
- Internet connectivity to download Ansible packages.
- Python 2.7 or Python 3.5 or later installed.
Windows
- The Windows Server 2012 OS or higher installed on your system.
- Administrative privileges to install the software.
- PowerShell version 3.0 or higher.
- Python 3.5 or later installed.
- Internet connectivity to download Ansible packages.
AlmaLinux
- The AlmaLinux 8.x OS or higher installed on your system.
- Sudo access or root privileges.
- Internet connectivity to download Ansible packages.
- Python 2.7 or Python 3.5 or later installed.
Ansible Setup — Install & Configure Ansible on Ubuntu
You must follow these steps to install Ansible on your Ubuntu server.
Step #1: Connect to Your Soon-to-Be Ansible Controller
You can make this connection using your favorite Secure Socket Shell (SSH) client. With Ubuntu, you use Terminal to establish a secure connection to your host.
Step #2: Update the Packaging Lists
Any time you are installing new software, it is a good idea to ensure your existing operating system software is up to date. Let's start with that task first.
Use the command below to update the package lists. This command will update the local package lists on your Ubuntu system to ensure that you have the latest information about available software packages:
sudo apt update
Step #3: Install the software-properties-common Package
This step is necessary for managing software repositories. Run the following command to install the software-properties-common package:
sudo apt install software-properties-common
Step #4: Add the Ansible Personal Package Archive (PPA)
It must be added as an apt repository. Run the command below to add it. This command adds the Ansible PPA as a software repository, allowing you to install Ansible through the apt package manager:
sudo apt-add-repository --yes --update ppa:ansible/ansible
Step #5: Install Ansible
Run the following command to install Ansible on your machine:
sudo apt install ansible
Step #6: Verifying Ansible is Installed
After the installation is complete, you need to verify that Ansible is installed by running the following command:
ansible --version
When you run the above command, it will display the version information for Ansible on your Ubuntu system. If Ansible has been installed successfully, you should see the version number along with other details.
If you don't get this information, then you might have done something wrong along the way. Simply revisit all the steps to ensure they were well executed.
Ansible Setup — Install & Configure Ansible on Windows
Follow these steps to install and configure Ansible on your Windows server.
Step #1: Install Python
First, you must install the latest version of Python. Download the latest version of Python for Windows from the official website.
After downloading Python, run its installer and follow the instructions to complete the installation. As you install Python, remember to check the Add Python checkbox with regard to the PATH environment variable option.
Step #2: Install PIP
Launch the Windows PowerShell tool as an administrator and run the following command. This command will install PIP and also ensure it is added to the PATH environment variable:
python -m ensurepip --default-pip
Step #3: Install Ansible
In the same PowerShell window, you must run the command below to install Ansible using the PIP package:
pip install ansible
The above command will download and install Ansible and all its dependencies. After the installation, you will need to verify if Ansible is properly installed by running the command below:
ansible --version
Step #4: Ansible Setup — Final Configurations
Before using Ansible, you must make a few more configurations to ensure everything is running properly.
- Start by creating an inventory file and setting up SSH.
- Create a text file named inventory using a text editor.
- In the inventory file, list the IP addresses or hostnames of the Windows machines you want to manage, one per line under a group name (for example, [windows]).
- Save the inventory file in a location you can easily remember.
- Install an SSH server on the Windows machines you want to manage. OpenSSH is a popular option for Windows. Use the official download link for OpenSSH.
- Configure the SSH server by editing the sshd_config file located in the installation directory of OpenSSH (usually C:\Program Files\OpenSSH\sshd_config).
- Uncomment the following line to allow remote access:
#ListenAddress 0.0.0.0
- You should now save the file and restart the OpenSSH service.
Step #5: Test Ansible
To test Ansible, run the following command in PowerShell:
ansible windows -i <path/to/inventory> -m win_ping
Remember to replace with the actual path you chose for your inventory file. Running this command should ping the Windows machines listed in the inventory file and return a success message if everything is set up correctly.
Ansible Setup — Install & Configure Ansible on AlmaLinux
Follow these steps to install Ansible on your AlmaLinux machine.
Step #1: Update the System
Start by updating your system to the latest available packages using the command below:
sudo dnf update -y
Step #2: Configure the EPEL Repository
Since Ansible and its dependencies are unavailable in AlmaLinux's default repositories, you need to configure the Extra Packages for Enterprise Linux (EPEL) repository. Use the command below to install the EPEL repository:
sudo dnf install -y epel-release
The above command will add the EPEL repository to your AlmaLinux system, allowing you to access Ansible packages.
Step #3: Install Ansible With the dnf Command
You can install Ansible using the following dnf command:
sudo dnf install ansible -y
Running the above command will install Ansible and its dependencies from the EPEL repository.
Step #4: Verify the Ansible Installation
Finally, you must verify your Ansible installation using the following command:
ansible --version
Running the above command will display the version information for Ansible on your AlmaLinux system, which confirms that the installation was successful.
Wrapping Up
This guide walks through the essential steps for installing and setting up Ansible on various server operating systems, including Ubuntu, Windows, and AlmaLinux. Ensure you have the prerequisites for each OS and carefully follow the provided steps to avoid encountering errors during the installation process. By correctly installing Ansible, you can leverage its capabilities to manage your server configurations effectively.
If you found this guide helpful, you may also check our article about using Ansible in DevOps to learn more about how you can use this tool in DevOps. We’ve only scratched the surface with Ansible so far. All in all, Ansible is an excellent tool you can use to save time, money and effort to automate tasks across a single or multiple remote servers.
Original Publication Date
This article was originally published in August 2020. It has since been updated for accuracy and comprehensiveness.
Related Articles:

About the Author: Chika Ibeneme
Chika Ibeneme is a Community Support Agent at The Events Calendar. He received his BA in Computer Science in 2017 from Northern Caribbean University and has over 5 years of technical experience assisting customers and clients. You can find him working on various WordPress and Shopify projects.
Our Sales and Support teams are available 24 hours by phone or e-mail to assist.
Latest Articles
2024 cPanel and Plesk pricing breakdown
Read ArticleCentOS Linux 7 EOL — everything you need to know
Read ArticleHow to install Node.js on Linux (AlmaLinux)
Read ArticleUpgrading or installing PHP on Ubuntu — PHP 7.2 and Ubuntu 22.04
Read ArticleWhy is your IP blocked?
Read Article