Ansible is a radically simple IT automation engine that automates cloud provisioning, configuration management, application deployment, intra-service orchestration, and many other IT needs.
-
Simple
- Human readable automation
- No special coding skills needed
- Tasks executed in order
- Get productive quickly
-
Powerful
- App deployment
- Configuration management
- Workflow orchestration
- Orchestrate the app lifecycle
-
Agentless
- Agentless architecture
- Uses OpenSSH and WinRM
- No agents to exploit or update
- Predictable, reliable and secure
- Human readable automation
- No special coding skills needed
- Tasks executed in order
- Get productive quickly
- App deployment
- Configuration management
- Workflow orchestration
- Orchestrate the app lifecycle
- Agentless architecture
- Uses OpenSSH and WinRM
- No agents to exploit or update
- Predictable, reliable and secure
https://docs.ansible.com/
- The Apache HTTP Server, colloquially called Apache, is a free and open-source cross-platform web server software, released under the terms of Apache License 2.0.
- Apache is developed and maintained by an open community of developers under the auspices of the Apache Software Foundation.
- The vast majority of Apache HTTP Server instances run on a Linux distribution, but current versions also run on Microsoft Windows, OpenVMS and a wide variety of Unix-like systems.
For Apache HTTPD Documentation, visit the link mentioned below:
https://httpd.apache.org/docs/
The main purpose of this README, as you can understand from the title itself , is to make restart service of HTTPD Webserver idempotent in nature
Let's understand the version of software required
- HTTPD: 2.4.37
- Ansible: 2.9.11
- In the Ansible Playbook i.e., main.yml, the concept of notify-handlers is used for making HTTPD restart service idempotent i.e., as soon as any changes is detected in the HTTPD configuration file , the task specified in the handler executes and thereby HTTPD restarts.
- Some additional functionalities includes allowance of HTTPD port number specified through the Firewall, using the firewalld module in Ansible. Also, Document Root and Port Number could be modified as per requirement.
- In the Variable File i.e., vars.yml, tha value of Mount Directory, Document Root and HTTPD Port Number is specified to make the playbook more dynamic.
- Template file or Jinja2 template i.e., localconf.conf.j2 is created for HTTPD's configuration file.
- Test Page is created and could be modified as per requirement.
- It should be noted that if the output of "getenforce" command is Enforcing, it would prevent the service restart due to any change, thereby it is advisable to use "setenforce 0" to change the output to Permissive.
- Case I : No changes in the HTTPD's configuration file
- Case II : Change in HTTPD's configuration file i.e., Port Number is changed from 8080 to 8081
https://www.linkedin.com/in/satyam-singh-95a266182