developer_tasks.yml 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. owner: root
  44. group: root
  45. mode: 0644
  46. loop: "{{ web_developers }}"
  47. notify: restart apache