From 6c3dfc1c6b404373c2f2c1750c36ee390b5a7137 Mon Sep 17 00:00:00 2001 From: Thomas Constans Date: Tue, 22 Sep 2020 15:42:05 +0200 Subject: [PATCH] initial commit --- 25_vaults.odt | Bin 0 -> 10678 bytes Readme.md | 23 ++++++++ apache.yml | 7 +++ myapache/README.md | 45 ++++++++++++++ myapache/defaults/main.yml | 2 + myapache/files/index.html | 1 + myapache/handlers/main.yml | 11 ++++ myapache/meta/main.yml | 57 ++++++++++++++++++ myapache/tasks/main.yml | 74 ++++++++++++++++++++++++ myapache/templates/vhost.conf.jj | 28 +++++++++ myapache/tests/inventory | 2 + myapache/tests/test.yml | 5 ++ myapache/vars/apache_sensitive_data.yml | 6 ++ myapache/vars/centos.yml | 1 + myapache/vars/debian.yml | 7 +++ myapache/vars/main.yml | 15 +++++ myapache/vars/redhat.yml | 7 +++ 17 files changed, 291 insertions(+) create mode 100644 25_vaults.odt create mode 100644 Readme.md create mode 100644 apache.yml create mode 100644 myapache/README.md create mode 100644 myapache/defaults/main.yml create mode 100644 myapache/files/index.html create mode 100644 myapache/handlers/main.yml create mode 100644 myapache/meta/main.yml create mode 100644 myapache/tasks/main.yml create mode 100644 myapache/templates/vhost.conf.jj create mode 100644 myapache/tests/inventory create mode 100644 myapache/tests/test.yml create mode 100644 myapache/vars/apache_sensitive_data.yml create mode 120000 myapache/vars/centos.yml create mode 100644 myapache/vars/debian.yml create mode 100644 myapache/vars/main.yml create mode 100644 myapache/vars/redhat.yml diff --git a/25_vaults.odt b/25_vaults.odt new file mode 100644 index 0000000000000000000000000000000000000000..798ecb3de25ec90b7c4c1f4e265fda6325b22de4 GIT binary patch literal 10678 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 diff --git a/myapache/defaults/main.yml b/myapache/defaults/main.yml new file mode 100644 index 0000000..8c667e1 --- /dev/null +++ b/myapache/defaults/main.yml @@ -0,0 +1,2 @@ +--- +# defaults file for myapache \ No newline at end of file diff --git a/myapache/files/index.html b/myapache/files/index.html new file mode 100644 index 0000000..416474e --- /dev/null +++ b/myapache/files/index.html @@ -0,0 +1 @@ +

hello World

\ No newline at end of file diff --git a/myapache/handlers/main.yml b/myapache/handlers/main.yml new file mode 100644 index 0000000..2a19def --- /dev/null +++ b/myapache/handlers/main.yml @@ -0,0 +1,11 @@ +--- +# handlers file for myapache +- name: reload httpd + service: + name: "{{ service_name }}" + state: reloaded + +- name: reload firewalld + service: + name: firewalld + state: reloaded diff --git a/myapache/meta/main.yml b/myapache/meta/main.yml new file mode 100644 index 0000000..7223799 --- /dev/null +++ b/myapache/meta/main.yml @@ -0,0 +1,57 @@ +galaxy_info: + author: your name + description: your description + company: your company (optional) + + # If the issue tracker for your role is not on github, uncomment the + # next line and provide a value + # issue_tracker_url: http://example.com/issue/tracker + + # Some suggested licenses: + # - BSD (default) + # - MIT + # - GPLv2 + # - GPLv3 + # - Apache + # - CC-BY + license: license (GPLv2, CC-BY, etc) + + min_ansible_version: 1.2 + + # If this a Container Enabled role, provide the minimum Ansible Container version. + # min_ansible_container_version: + + # Optionally specify the branch Galaxy will use when accessing the GitHub + # repo for this role. During role install, if no tags are available, + # Galaxy will use this branch. During import Galaxy will access files on + # this branch. If Travis integration is configured, only notifications for this + # branch will be accepted. Otherwise, in all cases, the repo's default branch + # (usually master) will be used. + #github_branch: + + # + # platforms is a list of platforms, and each platform has a name and a list of versions. + # + # platforms: + # - name: Fedora + # versions: + # - all + # - 25 + # - name: SomePlatform + # versions: + # - all + # - 1.0 + # - 7 + # - 99.99 + + galaxy_tags: [] + # List tags for your role here, one per line. A tag is a keyword that describes + # and categorizes the role. Users find roles by searching for tags. Be sure to + # remove the '[]' above, if you add tags to this list. + # + # NOTE: A tag is limited to a single word comprised of alphanumeric characters. + # Maximum 20 tags per role. + +dependencies: [] + # List your role dependencies here, one per line. Be sure to remove the '[]' above, + # if you add dependencies to this list. \ No newline at end of file diff --git a/myapache/tasks/main.yml b/myapache/tasks/main.yml new file mode 100644 index 0000000..d98bbe7 --- /dev/null +++ b/myapache/tasks/main.yml @@ -0,0 +1,74 @@ +--- +# tasks file for myapache +- name: import distribution specific variables + tags: http + include_vars: "{{ ansible_distribution|lower }}.yml" + +- name: include sensitive information + tags: http + include_vars: apache_sensitive_data.yml + +- name: install apache + tags: httpd + package: + name: "{{ package_name }}" + state: latest + +- name: conf httpd + tags: httpd + notify: reload httpd + template: + src: vhost.conf.jj + dest: "{{ apache_conf_dir }}/vhost.conf" + mode: 0640 + owner: root + group: "{{ apache_group }}" + +- name: activate apache + tags: httpd + service: + name: "{{ service_name }}" + enabled: yes + +- name: open firewall port + tags: httpd + firewalld: + service: http + permanent: yes + immediate: yes + state: enabled + ignore_errors: yes + notify: reload firewalld + when: ansible_distribution|lower != "debian" + +- name: create documentroot + tags: httpd + file: + name: "{{ item.documentroot }}" + state: directory + with_items: + - "{{ apache_vhosts }}" + +- name: install python passlib package + tags: req,httpd + package: + name: python-passlib + state: latest + +- name: create index file + tags: httpd + copy: + src: index.html + dest: "{{ item.documentroot }}/index.html" + mode: 0644 + with_items: + - "{{ apache_vhosts }}" + +- name: passwd file + htpasswd: + path: "{{ apache_conf_dir }}/passwd" + name: tom + password: "{{ httpasswd }}" + mode: 0640 + owner: root + group: "{{ apache_group }}" \ No newline at end of file diff --git a/myapache/templates/vhost.conf.jj b/myapache/templates/vhost.conf.jj new file mode 100644 index 0000000..be39939 --- /dev/null +++ b/myapache/templates/vhost.conf.jj @@ -0,0 +1,28 @@ +{% for vhost in apache_vhosts %} + + ServerName {{ vhost.servername|lower }} + ServerAlias {{ vhost.serveralias }} + DocumentRoot {{ vhost.documentroot }} + CustomLog {{ vhost.accesslog }} combined + ErrorLog {{ vhost.errorlog }} + + Options none + Allowoverride none + Require all denied + + + + Options {{ vhost.documentrootoptions|default( "none" ) }} + Require all granted + + + Alias /private /usr/share/doc + + Options indexes + AuthName "stop" + AuthType Basic + AuthUserFile {{ apache_conf_dir }}/passwd + require valid-user + + +{% endfor %} \ No newline at end of file diff --git a/myapache/tests/inventory b/myapache/tests/inventory new file mode 100644 index 0000000..878877b --- /dev/null +++ b/myapache/tests/inventory @@ -0,0 +1,2 @@ +localhost + diff --git a/myapache/tests/test.yml b/myapache/tests/test.yml new file mode 100644 index 0000000..797e379 --- /dev/null +++ b/myapache/tests/test.yml @@ -0,0 +1,5 @@ +--- +- hosts: localhost + remote_user: root + roles: + - myapache \ No newline at end of file diff --git a/myapache/vars/apache_sensitive_data.yml b/myapache/vars/apache_sensitive_data.yml new file mode 100644 index 0000000..782663b --- /dev/null +++ b/myapache/vars/apache_sensitive_data.yml @@ -0,0 +1,6 @@ +$ANSIBLE_VAULT;1.1;AES256 +31653731393732623239623030633932666534613931666630313335346338306362356263366261 +6465393132643537613161343263613530656263623236390a633835613663643464313930613562 +31306535323538633664393032386665396239626563343736636266333436336265386639323035 +6530326539336236320a613631653861303464353066353961383738396639313831323065623639 +32663763333138613435653438363734343739303838303232313337313230646364 diff --git a/myapache/vars/centos.yml b/myapache/vars/centos.yml new file mode 120000 index 0000000..ba2f905 --- /dev/null +++ b/myapache/vars/centos.yml @@ -0,0 +1 @@ +redhat.yml \ No newline at end of file diff --git a/myapache/vars/debian.yml b/myapache/vars/debian.yml new file mode 100644 index 0000000..03ceb9d --- /dev/null +++ b/myapache/vars/debian.yml @@ -0,0 +1,7 @@ +--- +apache_conf_dir: /etc/apache2/sites-enabled +apache_log_dir: /var/log/apache2 +package_name: apache2 +service_name: apache2 +apache_user: www-data +apache_group: www-data diff --git a/myapache/vars/main.yml b/myapache/vars/main.yml new file mode 100644 index 0000000..1fb822e --- /dev/null +++ b/myapache/vars/main.yml @@ -0,0 +1,15 @@ +--- +# vars file for myapache +http_port: 80 +apache_vhosts: +- servername: ORSYS.Fr + serveralias: www.orsys.fr + documentroot: /var/www/html/orsys.fr + accesslog: "{{ apache_log_dir }}/access_orsys.fr_log" + errorlog: "{{ apache_log_dir }}/error_orsys.fr_log" +- servername: thomas.fr + serveralias: www.thomas.fr + documentroot: /var/www/html/thomas.fr + accesslog: "{{ apache_log_dir }}/access_thomas.fr_log" + errorlog: "{{ apache_log_dir }}/error_thomas.fr_log" + documentrootoptions: indexes \ No newline at end of file diff --git a/myapache/vars/redhat.yml b/myapache/vars/redhat.yml new file mode 100644 index 0000000..c77ed08 --- /dev/null +++ b/myapache/vars/redhat.yml @@ -0,0 +1,7 @@ +--- +apache_conf_dir: /etc/httpd/conf.d/ +apache_log_dir: /var/log/httpd +package_name: httpd +service_name: httpd +apache_user: apache +apache_group: apache