17 oct. 2017

cgit

Cgit est une web interface pour git écrit en c.

Site : https://git.zx2c4.com/cgit/

Ref pour la config : https://medspx.fr/blog/Debian/naviguer%5C_dans%5C_ses%5C_depots%5C_Git/

1 Installation

Installation sous jessie avec les backports aptitude install -t jessie-backports cgit

Pour la couleur ajout des packages python aptitude install python-pygments

1.1 Basic authentification

Création du fichier .htpasswd htpasswd -c etc/apache2.htpasswd laurent

Soit créer un fichier .htaccess dans le répertoire:

AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user

Soit ajouter dans le virtual host les lignes suivantes :

criptAlias /cgit/ "/usr/lib/cgit/cgit.cgi/"
RedirectMatch ^/cgit$ /cgit/
Alias /cgit-css "/usr/share/cgit/"
<Directory "/usr/lib/cgit/">
   AllowOverride None
   Options ExecCGI FollowSymlinks
   AuthType Basic
   AuthName "CGit authentication"
   AuthUserFile /etc/apache2/webdav-users
   Require valid-user
</Directory>

1.2 Configuration du cgitrc

Le fichier se trouve dans /etc/apache2/cgitrc

# Un peu de cosmétique
css=/cgit-css/cgit.css
logo=/favicon.ico
favicon=/favicon.ico

# Customisation de la page d'accueil
root-title=Medspx Git repositories
root-desc=Git repositories navigation
root-readme=/etc/cgit-about.md

# Configuration d'options de base
enable-index-links=1
enable-commit-graph=1
enable-log-filecount=1
enable-log-linecount=1
side-by-side-diffs=1

# Je ne souhaite pas que les robots puissent indexer ce dépôt
robots=noindex, nofollow

# Ici, je veux indiquer une URL pour cloner le dépôt
clone-url=https://$HTTP_HOST/git/$CGIT_REPO_URL

# cgit peut générer des archives à télécharger suivant vos tags
snapshots=tar.gz tar.bz2 zip

# Coloration syntaxique des page A propos et du visualisateur de fichiers
source-filter=/usr/lib/cgit/filters/syntax-highlighting.py
about-filter=/usr/lib/cgit/filters/about-formatting.sh

# La taille des binaires affichés dans le visualisateur est limitée à 200 Ko
max-blob-size=200

# Gestion des mimetypes
mimetype-file=/etc/mime.types

# Les fichiers readme par défaut auront les noms qui suivent
readme=:README.md
readme=:readme.md

# Les dépôts git peuvent implémenter leurs propres filtres
enable-filter-overrides=1

# L'endroit où trouver les dépôts git (le truc le plus important)
scan-path=/var/local/git

# Gestion des mimetypes                           
mimetype-file=/etc/mime.types                     

# Les fichiers readme par défaut auront les noms qui suivent
readme=:README.md                                 
readme=:readme.md                                 

# Les dépôts git peuvent implémenter leurs propres filtres
enable-filter-overrides=1                         

# L'endroit où trouver les dépôts git (le truc le plus important)
scan-path=/home/laurent/git                       
Other posts