- name: install nginx from official repo hosts: alma become: true tasks: - name: configure official nginx repo yum_repository: name: nginx-stable description: nginx stable baseurl: https://nginx.org/packages/centos/$releasever/$basearch/ enabled: true gpgcheck: true gpgkey: https://nginx.org/keys/nginx_signing.key module_hotfixes: true - name: install nginx dnf: name: nginx state: present - name: enable and start nginx service: name: nginx state: started enabled: true - name: install php and modules dnf: name: - php - php-fpm - php-opcache - name: enable and start php-fpm service: name: php-fpm state: started enabled: true - name: remove default config ansible.builtin.file: path: /etc/nginx/conf.d/default.conf state: absent - name: replace base nginx configuration copy: src: ../config/nginx dest: /etc/nginx/nginx.conf owner: root group: root mode: 0644 - name: create directories file: path: "{{ item }}" state: directory loop: - /etc/nginx/sites-available - /etc/nginx/sites-enabled - name: make tobiastime available copy: src: ../nginx/tobiastime dest: /etc/nginx/sites-available/tobiastime owner: root group: root mode: 0644 - name: make tobiastime enabled file: src: /etc/nginx/sites-available/tobiastime dest: /etc/nginx/sites-enabled/tobiastime state: link - name: copy tobiastime ansible.builtin.synchronize: src: ../nginx/tobiastime_data dest: /var/www recursive: yes - name: copy snippets ansible.builtin.synchronize: src: ../nginx/snippets dest: /etc/nginx/ recursive: yes - name: Reload nginx systemd: name: nginx state: reloaded