################################################################################ # installation de cgit et configuration de nginx et gitolite # # Copyright (C) 2022 rick G. # # This program is free software: you can redistribute it and/or modify it under # the terms of the GNU General Public License as published by the Free Software # Foundation, either version 3 of the License, or (at your option) any later # version. # # This program is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along with # this program. If not, see . ################################################################################ --- - name: cgit hosts: ubuntu become: true vars: git_user: "git" home_user: "/home/{{ git_user }}" path_tmp_cgit: "{{ home_user }}/tmp" path_cgit: "{{ home_user }}/cgit" path_gitolite: "{{ home_user }}/gitolite" cgit_site: "" tasks: - name: update de la machine apt: update_cache: true upgrade: yes - name: installation des paquets nécessaires apt: name: - libzip-dev - make - gcc - libssl-dev - zlib1g-dev - nginx - certbot - python3-certbot-nginx - fcgiwrap - python3-zipp - git - sudo - name: création utilisateur cgit ansible.builtin.user: name: "{{ git_user }}" shell: "/bin/bash" state: present #groups: "www" - name: clonage de cgit ansible.builtin.git: dest: "{{ path_tmp_cgit }}" repo: "https://git.zx2c4.com/cgit" single_branch: yes - name: configuration de cgit template: src: "config-cgit.conf" dest: "{{ path_tmp_cgit }}/cgit.conf" mode: 0644 - name: compilation de cgit community.general.make: chdir: "{{ path_tmp_cgit }}" - name: installation de cgit community.general.make: chdir: "{{ path_tmp_cgit }}" target: install - name: changement de droits file: name: "{{ path_cgit }}" owner: "{{ git_user }}" group: "{{ git_user }}" state: directory recurse: yes - name: démarrage par défaut de nginx ansible.builtin.service: name: nginx enabled: yes - name: démarrage par défaut de fcgiwrap ansible.builtin.service: name: fcgiwrap enabled: yes - name: configuration de Nginx template: src: "cgit-nginx" dest: "/etc/nginx/sites-available/cgit.conf" mode: 0644 - name: lien symbolique pour le site cgit file: src: /etc/nginx/sites-available/cgit.conf dest: /etc/nginx/sites-enabled/cgit.conf state: link notify: - start nginx - start fcgiwrap - name: clonage de gitolite ansible.builtin.git: dest: "{{ path_gitolite }}" repo: "https://github.com/sitaramc/gitolite" single_branch: yes - name: création du dossier etc file: path: "{{ home_user }}/etc" owner: "{{ git_user }}" group: "{{ git_user }}" state: directory - name: création du dossier bin file: path: "{{ home_user }}/bin" owner: "{{ git_user }}" group: "{{ git_user }}" recurse: yes state: directory - name: installation de gitolite command: cmd: "{{ path_gitolite }}/install -to {{ home_user }}/bin" - name: création de la liste de projets file: path: "{{ home_user }}/projects.list" mode: 0705 state: touch owner: "{{ git_user }}" group: "{{ git_user }}" - name: configuration des droits du dossier repositories file: path: "{{ home_user }}/repositories" mode: 0705 state: directory recurse: yes owner: "{{ git_user }}" group: "{{ git_user }}" - name: configuration des droits du dossier gitolite file: path: "{{ home_user }}/bin" owner: "{{ git_user }}" group: "{{ git_user }}" recurse: yes state: directory #- name: #- name: #- name: #- name: handlers: - name: start fcgiwrap service: name: fcgiwrap state: started - name: start nginx service: name: nginx state: started