first commit
This commit is contained in:
commit
1dff8396d7
12 changed files with 284 additions and 0 deletions
20
tasks/database.yml
Normal file
20
tasks/database.yml
Normal file
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
- name: "Database | Crate database"
|
||||
community.mysql.mysql_db:
|
||||
name: "{{ dmarcsrg_database }}"
|
||||
state: present
|
||||
login_unix_socket: "{{ mysql_socket }}"
|
||||
login_user: root
|
||||
register: mariadb_created
|
||||
delegate_to: "{{ database_host }}"
|
||||
|
||||
- name: "Database | Create database user"
|
||||
community.mysql.mysql_user:
|
||||
name: "{{ dmarcsrg_database }}"
|
||||
password: "{{ dmarcsrg_database_password }}"
|
||||
priv: "{{ dmarcsrg_database }}.*:ALL"
|
||||
host: "{{ inventory_hostname }}"
|
||||
state: present
|
||||
login_unix_socket: "{{ mysql_socket }}"
|
||||
login_user: root
|
||||
delegate_to: "{{ database_host }}"
|
56
tasks/install.yml
Normal file
56
tasks/install.yml
Normal file
|
@ -0,0 +1,56 @@
|
|||
---
|
||||
- name: "Install | Check for latest version"
|
||||
ansible.builtin.shell:
|
||||
cmd: curl -sL "{{ dmarcsrg_github_api_url }}" | jq -r ".tag_name"
|
||||
changed_when: false
|
||||
register: latest_version
|
||||
|
||||
- name: "Install | Get download URL"
|
||||
ansible.builtin.shell:
|
||||
cmd: curl -sL "{{ dmarcsrg_github_api_url }}" | jq -r ".tarball_url"
|
||||
changed_when: false
|
||||
register: download_url
|
||||
|
||||
- name: "Install | Create directories"
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
mode: "0755"
|
||||
loop:
|
||||
- "{{ dmarcsrg_home }}"
|
||||
- "{{ dmarcsrg_home }}/{{ latest_version.stdout }}"
|
||||
- "{{ overrides_path }}"
|
||||
|
||||
- name: "Install | Download install files"
|
||||
ansible.builtin.unarchive:
|
||||
src: "{{ download_url.stdout }}"
|
||||
dest: "{{ dmarcsrg_home }}/{{ latest_version.stdout }}"
|
||||
remote_src: true
|
||||
extra_opts:
|
||||
- "--strip-components=1"
|
||||
|
||||
- name: "Install | Copy configuration file"
|
||||
ansible.builtin.template:
|
||||
src: conf.php.j2
|
||||
dest: "{{ overrides_path }}/conf.php"
|
||||
mode: "0640"
|
||||
owner: "{{ dmarcsrg_user }}"
|
||||
group: "{{ dmarcsrg_user }}"
|
||||
|
||||
- name: "Install | Link data"
|
||||
ansible.builtin.file:
|
||||
src: "{{ item.src }}"
|
||||
dest: "{{ item.dest }}"
|
||||
state: link
|
||||
loop:
|
||||
- src: "{{ dmarcsrg_home }}/{{ latest_version.stdout }}"
|
||||
dest: "{{ dmarcsrg_home }}/current"
|
||||
- src: "{{ overrides_path }}/conf.php"
|
||||
dest: "{{ dmarcsrg_home }}/{{ latest_version.stdout }}/conf.php"
|
||||
|
||||
- name: "Install | Initiate database"
|
||||
ansible.builtin.command:
|
||||
cmd: php utils/database_admin.php init
|
||||
chdir: "{{ dmarcsrg_home }}/current"
|
||||
become: true
|
||||
become_user: "{{ dmarcsrg_user }}"
|
16
tasks/main.yml
Normal file
16
tasks/main.yml
Normal file
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
- name: Create user
|
||||
ansible.builtin.import_tasks: user.yml
|
||||
tags: user
|
||||
|
||||
- name: Create database
|
||||
ansible.builtin.import_tasks: database.yml
|
||||
tags: database
|
||||
|
||||
- name: Install dmarc-srg
|
||||
ansible.builtin.import_tasks: install.yml
|
||||
tags: install
|
||||
|
||||
- name: Configure PHP-FPM
|
||||
ansible.builtin.import_tasks: phpfpm.yml
|
||||
tags: phpfpm
|
47
tasks/phpfpm.yml
Normal file
47
tasks/phpfpm.yml
Normal file
|
@ -0,0 +1,47 @@
|
|||
---
|
||||
- name: "PHPFPM | Create logfile"
|
||||
ansible.builtin.file:
|
||||
path: "{{ php_fpm_log_dir }}/{{ dmarcsrg_user }}.log"
|
||||
state: touch
|
||||
mode: "0644"
|
||||
owner: "{{ dmarcsrg_user }}"
|
||||
group: "{{ dmarcsrg_user }}"
|
||||
|
||||
- name: "PHPFPM | Copy configuration"
|
||||
ansible.builtin.template:
|
||||
src: fpmpool.j2
|
||||
dest: "/etc/php/{{ php_version.stdout }}/fpm/pool.d/{{ dmarcsrg_user }}.cfg"
|
||||
mode: "0644"
|
||||
notify:
|
||||
- stop php-fpm-socket
|
||||
- stop php-fpm-service
|
||||
- start php-fpm-socket
|
||||
|
||||
- name: "PHPFPM | Create systemd override directory"
|
||||
ansible.builtin.file:
|
||||
path: "/etc/systemd/system/php-fpm@{{ dmarcsrg_user }}.service.d"
|
||||
state: directory
|
||||
mode: "0755"
|
||||
|
||||
- name: "PHPFPM | Copy systemd override configuration"
|
||||
ansible.builtin.template:
|
||||
src: systemd/override.conf.j2
|
||||
dest: "/etc/systemd/system/php-fpm@{{ dmarcsrg_user }}.service.d/override.conf"
|
||||
mode: "0644"
|
||||
notify:
|
||||
- stop php-fpm-socket
|
||||
- stop php-fpm-service
|
||||
- start php-fpm-socket
|
||||
|
||||
- name: "PHPFPM | Enable systemd socket"
|
||||
ansible.builtin.systemd:
|
||||
name: "php-fpm@{{ dmarcsrg_user }}.socket"
|
||||
enabled: true
|
||||
state: started
|
||||
daemon_reload: true
|
||||
|
||||
- name: "PHPFPM | Enable systemd service"
|
||||
ansible.builtin.systemd:
|
||||
name: "php-fpm@{{ dmarcsrg_user }}.service"
|
||||
enabled: true
|
||||
daemon-reload: true
|
14
tasks/user.yml
Normal file
14
tasks/user.yml
Normal file
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
- name: "User | Create system user"
|
||||
ansible.builtin.user:
|
||||
name: "{{ dmarcsrg_user }}"
|
||||
shell: /bin/false
|
||||
create_home: false
|
||||
password_lock: true
|
||||
system: true
|
||||
|
||||
- name: "User | Add www-data to user group"
|
||||
ansible.builtin.user:
|
||||
name: www-data
|
||||
groups: "{{ dmarcsrg }}"
|
||||
append: true
|
Loading…
Add table
Add a link
Reference in a new issue