Dein eigener Git-Server auf Deinem Rasberry Pi
Ein GitServer ist eine großartige Möglichkeit, Ihr Projekt zu teilen und mit anderen zusammenzuarbeiten. Oft möchten Sie Dinge wie Ihren Code oder Konfigurationsdateien unter einer Versionskontrolle haben.
Sie können zu Hause einen Gitlab-Server einrichten, wenn Sie die Kontrolle über Ihre eigenen Repository haben möchten. Wenn Sie aber nicht mit einem Team zusammenarbeiten, kann die Installation und Konfiguration ein Overkill und etwas zeitaufwändig sein.
Ich finde es besser, meine privaten Konfigurationsdateien und Skripte auf meinem eigenen RasPi zu verwalten, damit ich meine Skripte zwischen meinem Desktop, Laptop und PC synchronisieren kann.
Sobald Sie dieses Setup eingerichtet haben, können Sie sogar Sicherungen Ihrer Konfigurationen mit Hilfe von etckeeper automatisieren.
Grundlegende Übersicht
Sie benötigen auch einen laufenden SSH-Daemon. (z.B.: Putty)
Das Einrichten eines privaten Git-Repositorys ist fast zu einfach.
- Einloggen in den Raspberry Pi via SSH
- Git- Paket installieren
- Einen Git-User anlegen
sudo adduser –gecos “” git
Das war’s! Sie können nun einem nackten Repository in Ihrem Pi erstellen. Der Besitzer ist der User: git
mkdir -p /media/USBdrive/git/myrepo.git
sudo chown -R git git/media/usbdrive/git
cd /media/usbdrive/git/myrepo.git
git init –bare
So greifen Sie von Aussen darauf zu.
Angenommen Ihr Hostname (IP-oder Ihre Domain) für Ihren Raspberry Pi ist “Server”, dann wäre der Aufruf:
git clone ssh://git@server/media/USBdrive/git/myrepo.git
Die Endgültige Einrichtung
Natürlich ist dies etwas zu einfach. Wir wollen ein bisschen mehr Sicherheit.
Wenn Sie dies noch nicht haben, generieren Sie einen SSH-Schlüssel für das Gerät, auf das Sie zugreifen möchten.
ssh-keygen -t rsa -N “” -f ~/.ssh/id_rsa
Registrieren Sie Ihren öffentlichen Schlüssel im Git-Server
ssh-copy-id git@server
,was die Entsprechung zu
cat ~/.ssh/id_rsa.pub | ssh git@server “cat >> ~/.ssh/authorized_keys”
ist.
Disable login sessions und password für die git Benutzer, so das nur Benutzer in authorized_keys Zugriff haben.
sudo passwd -l git
Verwendung Git-Shell für den Benutzer Git als eingeschränkte Shell nur für Git-Operationen.
sudo usermod -s / usr / bin / git-shell git
Viel Spaß !!!