playbook.yml 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. ---
  2. - name: Install & configure Apche
  3. hosts: webserver
  4. vars:
  5. web_pkg: httpd
  6. firewall_pkg: firewalld
  7. web_service: httpd
  8. firewall_service: firewalld
  9. python_pkg: python3-PyMySQL
  10. rule: http
  11. tasks:
  12. - name: Required Packages
  13. yum:
  14. name:
  15. - "{{ web_pkg }}"
  16. - "{{ firewall_pkg }}"
  17. - "{{ python_pkg }}"
  18. state: latest
  19. - name: Start firewall service
  20. service:
  21. name: "{{ firewall_service }}"
  22. enabled: true
  23. state: started
  24. - name: Start web service
  25. service:
  26. name: "{{ web_service }}"
  27. enabled: true
  28. state: started
  29. - name: web content is in place
  30. copy:
  31. content: "Example web content"
  32. dest: /var/www/html/index.html
  33. - name: open firewall
  34. firewalld:
  35. service: "{{ rule }}"
  36. permanent: true
  37. immediate: true
  38. state: enabled
  39. - name: Verify apache
  40. hosts: localhost
  41. become: false
  42. tasks:
  43. - name: Server reachable
  44. uri:
  45. url: http://servera.lab.example.com
  46. status_code: 200