main.yml 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. ---
  2. # tasks file for apache.developer_configs
  3. - name: Create user accounts
  4. user:
  5. name: "{{ item.username }}"
  6. state: present
  7. loop: "{{ web_developers }}"
  8. #Allows 'student' user to login to
  9. # any of the user accounts - for the lab only.
  10. # Jinja syntax for 'key' keyword available from the documentation.
  11. - name: Give student access to all accounts
  12. authorized_key:
  13. user: "{{ item.username }}"
  14. state: present
  15. key: "{{ lookup('file', '/home/student/.ssh/lab_rsa.pub') }}"
  16. loop: "{{ web_developers }}"
  17. - name: Create content directory
  18. file:
  19. path: /srv/{{ item.username }}/www
  20. state: directory
  21. owner: "{{ item.username }}"
  22. loop: "{{ web_developers }}"
  23. - name: Create skeleton index.html if needed
  24. copy:
  25. content: "This is index.html for user: {{ item.name }} ({{ item.username }})\n"
  26. dest: /srv/{{ item.username }}/www/index.html
  27. force: no
  28. owner: "{{ item.username }}"
  29. group: root
  30. mode: 0664
  31. loop: "{{ web_developers }}"
  32. - name: Set firewall port
  33. firewalld:
  34. port: "{{ item.user_port }}/tcp"
  35. permanent: yes
  36. state: enabled
  37. loop: "{{ web_developers }}"
  38. notify: restart firewalld
  39. - name: Copy Per-Developer Config files
  40. template:
  41. src: developer.conf.j2
  42. dest: "/etc/httpd/conf.d/developer_{{ item.username }}.conf"
  43. force: yes
  44. owner: root
  45. group: root
  46. mode: 0644
  47. loop: "{{ web_developers }}"
  48. notify: restart apache