################################################################################ # 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: update de la machine apt: update_cache: true upgrade: yes - name: installation des paquets nécessaires apt: name: - libzip-dev - libssl-dev - zlib1g-dev - python3-certbot-nginx - fcgiwrap - python3-zipp - 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: 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 - name: clonage de gitolite ansible.builtin.git: dest: "{{ path_gitolite }}" repo: "https://github.com/sitaramc/gitolite" single_branch: yes - name: configuration des droits des dossiers file: path: "{{ item }}" owner: "{{ git_user }}" group: "{{ git_user }}" recurse: yes state: directory loop: - "{{ home_user }}/bin" - "{{ home_user }}/etc" - "{{ path_cgit }}" - "{{ path_gitolite }}" - 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: démarrage par défaut de fcgiwrap ansible.builtin.service: name: fcgiwrap enabled: yes notify: - restart fcgiwrap # TODO fin de configuration de gitolite (premier utilisateur)