exam 2

















=================

Using a playbook ~/playbooks/apache.yml (create new if doesn't exist) perform the below given tasks on node01:


a. Install httpd and php packages.

b. Change default document root of Apache to /var/www/html/myroot in default Apache config /etc/httpd/conf/httpd.conf. Make sure /var/www/html/myroot path exists.

c. There is a template ~/playbooks/templates/phpinfo.php.j2 on ansible controller node. Copy this template to Apache document root on node01 host as phpinfo.php file and make sure owner and group owner is apache user.

d. Start and enable httpd service.

e. Add rule in firewalld public zone to open http port 80 for public access so that phpinfo.php page is accessible in browser, also rule should be permanent.






Create apache.yml playbook and add below given code
---
- hosts: node01
  tasks:
    - name: remove httpd and php packages
      yum:
        name: httpd, php
        state: present

    - name: Create doc root
      file:
        path: /var/www/html/myroot
        state: directory
        owner: apache
        group: apache

    - name: change document root
      replace:
        path: /etc/httpd/conf/httpd.conf
        regexp: 'DocumentRoot "/var/www/html"'
        replace: 'DocumentRoot "/var/www/html/myroot"'

    - name: copy template
      template:
        src: phpinfo.php.j2
        dest: /var/www/html/myroot/phpinfo.php
        owner: apache
        group: apache

    - name: Start service httpd
      service:
        name: httpd
        state: started
        enabled: yes

    - name: open port httpd
      firewalld:
        port: 80/tcp
        state: enabled
        zone: public
        permanent: yes

Comments

Popular posts from this blog

exam 16

ansible 5

practical 3