Installation de cgit
Par Orgrim le dimanche 10 avril 2011, 23:17 - Unix Libre - Lien permanent
Cgit est un programme CGI écrit en C qui permet d'obtenir une interface web de navigation pour un ensemble de dépôts git.
Cgit a besoin de OpenSSL, le paquet Debian est libssl-dev.
On récupère la version de stable de cgit :
$ wget http://hjemli.net/git/cgit/snapshot/cgit-0.9.tar.bz2 $ tar xjf cgit-0.9.tar.bz2
Il faut d'abord configurer l'installation en éditant le fichier Makefile. L'interface a besoin d'un endroit accessible par un serveur web, nous allons prendre /var/www/orgrim.net/git. On configure donc les chemins dans le Makefile, de cette façon :
CGIT_SCRIPT_PATH = /var/www/orgrim.net/git prefix = /usr/local/cgit
Les binaires iront donc dans /var/www/orgrim.net/git/, les bibliothèques et autres fichiers dans une arborescence sous /usr/local/cgit, le fichier de configuration, sera /etc/cgitrc, la valeur par défaut.
Ensuite, il faut suivre les instructions données dans le README. On doit récupérer le dépôt git de git :
$ make get-git
Puis on compile et on installe :
$ make $ sudo make install
On configure ensuite un virtual host Apache :
$ cat /etc/apache2/sites-enabled/git.orgrim.net
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName git.orgrim.net
DocumentRoot /var/www/orgrim.net/git
<Directory /var/www/orgrim.net/git>
Addhandler cgi-script .cgi
DirectoryIndex cgit.cgi
Options +FollowSymLinks +ExecCGI
AllowOverride None
Order allow,deny
allow from all
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) cgit.cgi/$1
RewriteRule ^cgit.cgi$ cgit.cgi/
</Directory>
## Logs
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
ErrorLog /var/log/apache2/orgrim.net/git_error.log
CustomLog /var/log/apache2/orgrim.net/git_access.log combined
</VirtualHost>
On peut aller voir le site, il doit afficher une page générée par cgit montrant qu'aucun dépôt n'est configuré pour l'affichage.
Il faut maintenant créer le fichier de configuration, /etc/cgitrc en recopiant la partie exemple du fichier source de la doc cgit-0.9/cgitrc.5.txt.
Ici, l'important est de définir le paramètre de configuration pour matcher avec la configuration des rewrite rules du virtual host :
virtual-root=/
Enfin, les chemins vers la CSS et le logo sont à adapter, par rapport au document root du virtual host :
css=/cgit.css logo=/cgit.png
Le reste de la configuration est assez facile à adapter, pour pouvoir ajouter ses dépôts.
Commentaires
Merci Orgrim pour ce tuto que je viens de suivre, il est clair, light !
@zat : cgit est en effet simple à mettre en place. C'est un projet prometteur à suivre de près...
Là, vous m'avez tué...
J'ai passé une heure à essayer d'installer ce truc sans réussir à vaincre la reticence d'Apache (que je déteste par la même occasion).
Je me décide à suivre vos instructions, je les adapte un tantinet, et PAF ! ça fonctionne !
Un grand merci ! Vous avez réussi à me faire apprécier (un couïa hein !) Apache. Installer un site en 6 commandes, joli coup.
Merci et bonne continuation !