Ich programmiere privat sehr gerne mal ein paar kleinere Apps, mache was am Raspberry Pi oder designe für den Verein meines Kumpels die Webseite.
Ab und an macht man dann mal ein paar kleinere oder größere Fehler und die alten Dateien sind weg. Oh Schreck! Für diese Fälle gibt es dann die Versionierungssoftware Git. Auf dem Pi ist diese sogar schon vorinstalliert.
Wie dem auch sei. Ich finde es ätzend ausschließlich über meine bevorzugte IDE die Änderungen des Codes ansehen und wiederherstellen zu können. Ab und an programmiert man halt ziemlich lange und merkt einen Fehler erst nach der x-ten Änderung. Also habe ich im Netz nach einer Möglichkeit gesucht eine grafische Oberfläche zu bekommen. Am besten wäre da natürlich eine grafische Web Oberfläche für Git und dann auch noch auf dem Pi.
Hier bietet sich Gitlist sehr gut an, denn diese Software benötigt keine Datenbank im Hintergrund und ist schnell installiert. Mein Wissen würde ich gerne mit euch teilen.
Server installieren
Achtung: Solltet ihr gleichzeitig Pi Hole verwenden wollen, dann überspringt bitte diesen Schritt.
Wir benötigen für die Web Oberfläche einen Server auf dem Raspberry Pi.
Diesen Server bietet uns die Apache Software. Installieren kann man diese über:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install apache2php7.0 libapache2-mod-php7.0 php7.0-xml
sudo service apache2 start
Gitlist installieren
Nachdem wir Apache2 installiert haben benötigen wir die Software Gitlist.
cd /var/www/html/
sudo wget https://s3.amazonaws.com/gitlist/gitlist-0.5.0.tar.gz
sudo tar -xvf gitlist-0.5.0.tar.gz
cd gitlist/
sudo mkdir cache
sudo chmod 777 cache
Super, Gitlist ist installiert!
Gitlist Konfiguration
Nun müssen wir Gitlist noch erzählen, wo unsere Git Repositories zu finden sind. Dazu bearbeitet ihr die Datei config.ini, mittels sudo nano config.ini
und bearbeitet die Zeile, in der “repositories” steht. Ich habe alle meine Repository Ordner in dem Hauptordner “/git”, deshalb steht dort bei mir “repositories[] = ‘/git/’ ; Path to your repositories”. Ihr könnt auch mehrere/einzelne Repository Ordner angeben (hier im Home Ordner des Nutzers pi), in dem ihr beispielsweise schreibt: repositories[] = '/home/pi/repo1/', '/home/pi/repo2/' ; Path to your repositories
.
Apache2 Konfiguration
Solltet ihr Pi Hole auf eurem Pi verwenden, dann nutzt bitte die Schritte unter “Lighttpd Konfiguration”.
Manchmal kann es sein, dass Apache2 Probleme mit der URL Struktur von Gitlist hat.
Wir konfigurieren Apache2 einfach :P
Führt den Befehl sudo nano /etc/apache2/conf-available/gitlist.conf
aus und schreibt in die Datei:
Options FollowSymLinks
AllowOverride All
Require all granted
Danach kommt noch ein Befehl zum laden der Konfiguration und zum Neustart von Apache2:
sudo a2enconf gitlist
service apache2 reload
Lighttpd Konfiguration
Solltet ihr Pi Hole oder aber einfach bereits Lighttpd verwenden, dann fügt bitte ans Ende der Datei “/etc/lighttpd/lighttpd.conf” mittels dem Befehl “sudo nano /etc/lighttpd/lighttpd.conf” folgendes ein:
$HTTP["url"] =~ "^/gitlist/" { url.rewrite-once = ( ".*\.(js|ico|gif|jpg|png|css|)$" => "$0", "^/gitlist/web/.+" => "$0", # directories with static files "^/gitlist/favicon\.ico$" => "$0", "^/gitlist(/[^\?]*)(\?.*)?" => "/gitlist/index.php$1$2" # default applicati$ ) }
und zusätzlich muss in der Klammer nach “server.modules =” noch der Eintrag “mod_rewrite” vorhanden sein.
Anschließend müssen wir noch ein Paket nachinstallieren, das standardmäßig nicht mit in Lighttpd enthalten ist. Dazu führen wir aus: sudo apt-get install php7.0-xml
.
Startet dann den Pi einmal neu.