Ansible: Step-by-Step Guide to Apache Web Server Setup

Avnish Kumar Thakur
3 min readJan 9, 2024

--

Introduction:

Ansible, a powerful automation tool, takes centre stage in this realm. In this article, we will delve into the core concept of configuration management using Ansible, with a focus on setting up the Apache web server on a target node from the controller node.

Understanding the Basics: Ansible Modules and Idempotence

At the heart of Ansible’s intelligence lies its modules, which are small, self-contained units of work that can be used to perform various tasks. One of the key aspects that make Ansible robust is its idempotent nature. But what does idempotence mean in the context of Ansible?

Idempotence Concept: A Quick Overview

Ansible follows the idempotent concept, ensuring that running the same configuration task multiple times has the same result as running it once. When executing Ansible commands, the output colour provides valuable insights into the state of the target node:

  • Yellow Color: Indicates that a task has been executed successfully on the target node.
  • Green Color: Indicates that Ansible recognizes the software is already configured or working as intended.

Step-by-Step Guide to Apache Web Server Setup

Step 1: Installing Apache Web Server

To initiate the Apache web server setup, use the following Ansible command:

ansible -m package -a "name=httpd state=present"

Step 2: Copying Files to the Target Node

Once the Apache web server is installed, the next step involves copying files from the source to the target node. Use the following Ansible command:

ansible all -m copy -a "src=/root/test.html dest=/var/www/test.html"

Step 3: Starting the Apache Web Server Service

To start the Apache web server service on the target node, execute the following Ansible command:

ansible all -m service -a "name=httpd state=started"

This command ensures that the Apache web server is up and running.

Conclusion

In this article, we’ve explored the fundamentals of configuration management using Ansible, specifically focusing on setting up the Apache web server on a target node.

What Next

The method we’ve covered for Apache web server setup so far has been somewhat manual, with individual commands executed from the controller to the target node. In upcoming vlogs, we’ll shift gears towards Ansible Playbooks — a more sophisticated and automated approach.

Follow for more !!!

--

--

Avnish Kumar Thakur

Software Engineer | Tech Enthusiast | Linux, DevOps, ML, Python, Java, C | AWS | Generative AI | Researcher | Vlogger | Uncovering Tech's Depths