Cgit
Aus Fedorawiki.de
cgit ist eine CGI-Anwendung, welche in C geschrieben worden ist und ein Web-Interface zur Verfügung stellt. Sie kann als weiteren Befehl angesehen werden, der HTML generiert aus den Repository-Daten. Es ist kein Fork von git, sondern arbeitet mit einer Verbindung zu libgit.a.
Inhaltsverzeichnis |
Installation
Die Installation ist mit yum, PackageKit oder yumex schnell erledigt, da sich das Paket im Repository von Fedora befindet.
Konfiguration
Die Basis-Daten für die Konfiguration befindet sich in der Datei /etc/cgitrc. Sie kann mit einem Text-Editor (nano oder vim) bearbeitet werden. Für eine Basis-Konfiguration reicht eine kleine Änderung.
Folgende Zeile darf nicht mehr auskommentiert sein.
include=/etc/cgitrepos
Damit klarer ist, welche cgit-Instanz man verwendet, ist es ratsam, den Titel und die Beschreibung anzupassen.
root-title=Local git repositories root-desc=Tracking the local development
Repositories
Die Datei cgitrepos muss nun angelegt werden.
In der Datei /etc/cgitrc befindet sich am Ende ein Beispiel, wie ein Repository eingetragen werden muss. Diese Zeilen können kopiert werden und in die Datei /etc/cgitrepos eingefügt werden. repo.path muss auf ein bare-Repository zeigen, sprich die normalen Entwicklungs-Repositories funktionieren nicht. Der Standard-Pfad für die Repositories ist /var/lib/git/.
Falls noch kein Repository angelegt wurde, kann es mit nachfolgendem Befehl gemacht werden.
git init --bar /var/lib/git/repository.git
Die Berechtigungen lassen standardmässig nur das Erzeugen von Repositories durch root zu. Es wird empfohlen, die den eigenen Gegebenheiten anzupassen.
Der Konfigurationsblock sieht wie folgt aus:
repo.url=test repo.path=/var/lib/git/repository.git/ repo.desc=The master test repository repo.owner=test@beispiel.com
Weitere Repositories lassen sich nach dem gleichen Schema hinzufügen. Nur die Einträge kopieren und die Daten ändern.
Für eine Gruppierung der Repositories kann der Konfigurationsblock zum eine Zeile mit der Gruppe erweitert werden.
repo.group=Gruppe
SELinux
Da die meisten Repositories sich wahrscheinlich irgendwo im System befinden, müssen die SELinux-Einstellungen angepasst werden.
Die Datei /usr/share/doc/cgit-0.8.2.1/README.SELinux enthält weitere Details.
Der httpd_enable_cgi-Boolean muss entsprechend gesetzt sein.
Die Repository-Verzeichnisse müssen von cgi gelesen werden können.
Alternative kann auch mit public_content_t oder public_content_rw_t statt httpd_sys_content_t gearbeitet werden, wenn
Nun muss noch der Kontext aktualisiert werden.
Starten
Der Webserver muss gestartet werden.
Danach kann mit http://localhost/cgit auf die entsprechende Webseite zugegriffen werden.
Siehe auch