--- # tasks file for roles/zabbix-server - name: "Téléchargement fichier .deb" ansible.builtin.get_url: url: "https://repo.zabbix.com/zabbix/{{ zabbix_server_version }}/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian{{ zabbix_debian_version }}_all.deb" dest: "/root/debian{{ zabbix_debian_version }}_all.deb" - name: "Installation fichier DPKG" ansible.builtin.apt: deb: "/root/debian{{ zabbix_debian_version }}_all.deb" - name: "Mise à jour repository APT et install packages" ansible.builtin.apt: update_cache: yes pkg: - nginx - zabbix-server-pgsql - zabbix-frontend-php - "php{{ zabbix_phpfpm_version }}-pgsql" - zabbix-nginx-conf - zabbix-sql-scripts - zabbix-agent - postgresql - sudo - python3-psycopg2 - name: "Déplacement fichier de script SQL vers emplacement pour utilisateur postgres" ansible.builtin.copy: src: /usr/share/zabbix/sql-scripts/postgresql/server.sql.gz dest: /tmp/server.sql.gz mode: 0777 owner: postgres remote_src: true - name: "Décompression fichier" ansible.builtin.raw: gzip -d -f /tmp/server.sql.gz - name: "Configuration BDD" become: yes become_user: postgres import_tasks: bdd.yml - name: "Import schéma initial" ansible.builtin.shell: "cat /tmp/server.sql | sudo -u zabbix psql {{ zabbix_postgresql_database }}" - name: "Configuration zabbix_server.conf via template" ansible.builtin.template: src: roles/zabbix-server/templates/zabbix_server.conf.j2 dest: /etc/zabbix/zabbix_server.conf - name: "Retrait présence infos de config" ansible.builtin.lineinfile: path: /etc/zabbix/nginx.conf regexp: "{{ item }}" state: absent with_items: - "^listen.*" - "^server_name.*" - "#\\s*listen.*" - "#\\s*server_name.*" - name: "Configuration nginx.conf de zabbix" ansible.builtin.lineinfile: path: /etc/zabbix/nginx.conf insertafter: "^server {" line: "{{ item }}" state: present firstmatch: true with_items: - "listen {{ zabbix_http_port }};" - "server_name {{ zabbix_server_name }};" register: regextest - name: "Copie fichier template" ansible.builtin.template: src: roles/zabbix-server/templates/zabbix.conf.php.j2 dest: /usr/share/zabbix/ui/conf/zabbix.conf.php owner: www-data group: www-data mode: 0660 - name: "Activation services nginx et php fpm" ansible.builtin.systemd: name: "{{ item }}" state: restarted enabled: true with_items: - nginx - "php{{ zabbix_phpfpm_version }}-fpm" - zabbix-server - zabbix-agent