# cgit ~~ roles/cgit/tasks/main.yml # cgit web interface --- - name: ensure cgit is installed package: name: cgit state: present - name: generate cgit configuration file template: src: cgitrc.j2 dest: /var/www/conf/cgitrc owner: "{{ user_root }}" group: "{{ group_root }}" mode: 0644 - name: generate cgit configuration for httpd template: src: cgit.httpd.conf.j2 dest: /etc/httpd.d/cgit.conf owner: "{{ user_root }}" group: "{{ group_root }}" mode: 0644 - name: copy utility in httpd chroot copy: src: "/bin/{{ item }}" dest: /var/www/bin remote_src: true loop: - "sh" - "cat" - name: copy about-filter generator copy: src: about-filter.sh dest: /var/www/bin/about-filter.sh owner: "{{ user_root }}" group: "{{ group_root }}" mode: 0755 - name: unmount potential existing filesystem in target directory shell: "umount /var/www/{{ cgit_git_dir_chroot }}" - name: ensure cgit web directory exists file: path: /var/www/{{ cgit_git_dir_chroot }} owner: www group: daemon mode: 0644 state: directory - name: enable shared git directory in /etc/exports lineinfile: path: /etc/exports regexp: "^{{ cgit_git_dir }}" line: "{{ cgit_git_dir }} -mapall=root -alldirs -network=127.0.0.1 -mask=255.255.255.255 -ro" owner: "{{ user_root }}" group: "{{ group_root }}" mode: 0644 create: true - name: enable shared git directory in /etc/exports lineinfile: path: /etc/fstab regexp: "^localhost:{{ cgit_git_dir }}" line: "localhost:{{ cgit_git_dir }} /var/www/{{ cgit_git_dir_chroot }} nfs rw,nodev,nosuid,soft,intr 0 0" - name: start and enable share directory service: name: "{{ item }}" state: restarted enabled: true loop: - "portmap" - "nfsd" - name: start and enable mountd shell: | rcctl enable mountd pkill -9 mountd rcctl start mountd - name: ensure nfs volume is mounted shell: mount -A register: result failed_when: result.rc != 0 and "Device busy" is not in result.stderr - name: start and enable slowcgi service service: name: slowcgi state: restarted enabled: true