Open In App

How to Install Apache in Ubuntu using Ansible?

Last Updated : 17 Apr, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

Apache HTTP Server, commonly referred to as Apache, is a robust and broadly used web server for open-source web server programming. It is exceptionally adaptable and extensible, and it is famous for hosting websites and web applications. Ansible, then again, is a strong automation device that improves on the most common way of designing and managing servers.

We set out on an excursion to install Apache on Ubuntu using the power and effortlessness of Ansible. By utilizing Ansible's playbook-driven automation, we expect to improve on the installation process while ensuring adaptability and consistency across servers, Through clear and compact guidelines, we attempt to engage clients to send Apache quickly and productively.

This guide expects to give a complete understanding of the installation interaction, covering fundamental ideas, terminologies, and best practices. We address normal FAQs and difficulties that users might experience, cultivating a more profound comprehension and working with smooth execution.

Go along with us as we dig into the domain of web server management, harnessing the combined abilities of Apache, Ubuntu, and Ansible to build robust and adaptable web hosting infrastructures.

Primary Terminologies for Install Apache in Ubuntu using Ansible

  • Apache HTTP Server: Apache HTTP Server, generally known as Apache, is open-source web server programming that serves web content over the web. It is famous for its dependability, versatility, and broad list of capabilities, making it a well-known decision for facilitating sites and web applications.
  • Ansible: Ansible is a radically simple IT automation and configuration platform that makes your applications easier to deploy. Ansible helps you avoid writing scripts or code to deploy and update your applications. Ansible automates in a language that uses simple English and SSH and with no agents to install on remote systems, we can drive complexity out of our environments
  • Ubuntu: Ubuntu is a generally utilized Linux distribution known for its easy-to-understand interface, stability, and broad local area support. It depends on Debian and is frequently liked by server organizations because of its installation and management.
  • Playbook: A playbook is a YAML file used by Ansible to define undertakings and designs for managing servers. It contains a progression of plays, each determining a rundown of tasks to be executed on remote hosts. Playbooks work with the automation of work processes and server arrangements.

Step-By-Step Process To Install Apache In Ubuntu Using Ansible

Step 1: Login to the AWS Console

Login to AWS Console

  • Launch two instances because we are dealing with master slave configuration. From Master node we are installing apache in slave node. That purpose we need two instances.

Ec2 Instances

  • Now connect with terminal like git bash, putty, power shell, visual studio code and so on.

SSH

Step 2: Install Ansible

  • Now in master slave install ansible by using following commands
sudo apt update
sudo apt install ansible

Install Ansible

ansible --version

ansible --version

Step 3: Create Playbook

---
- name: Install Apache on Ubuntu
hosts: your_target_server
become: yes

tasks:
- name: Update apt package cache
apt:
update_cache: yes

- name: Install Apache
apt:
name: apache2
state: present

- name: Start Apache service
service:
name: apache2
state: started

Playbook

Step 4: Define Inventory

  • Create an inventory file or edit host file, such as inventory.ini, to specify the target server(s) where you want to install Apache
  • Now move to host file by using this path cd /etc/ansible.

Inventory

  • In this host file we need to provide slave details like IP address, Host name and keypair details.

Host File

  • Now we need to import our keypair from local desktop to local machine that is master node by using following command
scp -i keyapir.pem keypair.pem ec2-user@public-IP-address:/home/ubuntu #this is our home directory path
  • Now we need to change file permission to only read. We only providing read permissions , so users cannot edit this file
sudo chmod 600 <filename> or sudo chmod 400 <filename>
  • Now test whether our master is connected to slave node are not
ansible all -m ping

Ansible Ping

Step 5: Running the Playbook

  • Now execute to run the playbook by using following command
ansible-playbook <filename.yml>

Running the Playbook

Step 6: Verify The Apache Installation

  • Now go to EC2 dashboard and copy slave node public IP and browse it.

Verify The Apache  Installation

  • Here we see default page of apache in ubuntu

Apache In Ubuntu

Conclusion

Deploying Apache web server on Ubuntu utilizing Ansible offers a streamlined and productive way to deal with managing server configurations and automating software installations. Using Ansible playbooks, users can define the ideal condition of their foundation and execute tasks in a reliable and repeatable way.

All through this guide, we've explored the fundamental ideas and wordings of Ansible, including playbooks, tasks, modules, and inventories, we've likewise given a step by step process for installing Apache on Ubuntu utilizing Ansible, exhibiting how to make a playbook, define inventory, and execute the playbook to convey Apache on track servers.

As organizations keep on taking on DevOps practices and make progress toward more prominent effectiveness and scalability in their infrastructure the management. Ansible fills in as a significant device for automating routine tasks, standardizing configurations, and accomplishing infrastructure as code (IaC) standards.

By utilizing Ansibles' automation abilities, associations can decrease manual intervention, limit human error, and speed up the deployment of web servers and other software components, moreover, Ansible's idempotent nature ensure that playbook executions are unsurprising and can be securely rerun without unintended incidental effects.


Next Article
Article Tags :

Similar Reads