Gogs ist der einfachste Weg, einen lokalen Git-Server zu betreiben (So richten Sie ihn ein)

Veröffentlicht: 2023-01-03
Gogs-Logo auf blauem Hintergrund.
Gut

Sie möchten Ihren Code nicht in ein gehostetes Git-Repository übertragen? Dann betreiben Sie Ihren eigenen Git-Server im Haus. Gogs ist der einfachste Weg, dies zu tun. So richten Sie es ein.

Inhaltsverzeichnis

Das Problem mit Cloud-gehosteten Repositories
Was ist Goggs?
So installieren Sie Gogs
Eine kurze Tour durch Gogs
Der einfachste Git-Server – Bar None

Das Problem mit Cloud-gehosteten Repositories

Ohne Zweifel ist Git das herausragende Versionskontrollsystem. Selbst bei Einzelentwicklerprojekten bietet Git aufgrund seiner Versionierungsfunktionalität einen Mehrwert und Nutzen. Für Projekte mit mehreren Entwicklern bringt Git eine ganz andere Dimension. Mit einem zentralen Remote-Repository ermöglicht Git eine Zusammenarbeitsfähigkeit, die die Sichtweise Ihrer Entwicklungsteams auf die Versionskontrolle verändern wird.

Was ist GitHub und wofür wird es verwendet?
RELATED Was ist GitHub und wofür wird es verwendet?

Aus diesem Grund gibt es Dienste wie GitHub, GitLab und BitBucket und sie haben eine solche Akzeptanz und ein solches Wachstum erlebt. Allein GitHub hostet über 200 Millionen Repositories. Aber in der Cloud gehostete Repositories sind nicht für jeden geeignet. Die meisten von ihnen erheben Gebühren für das Hosten privater Repositories. Einige von ihnen legen Speicherbeschränkungen, Benutzerbeschränkungen oder Datenübertragungsbeschränkungen für kostenlose Konten fest.

Selbst wenn Ihre Nutzung und Teamgröße in die Beschränkungen der kostenlosen Konten passt oder Sie bereit sind, für eine kommerzielle Lizenz zu zahlen, fühlen Sie sich möglicherweise nicht wohl dabei, Ihre Codebasis in der Cloud zu speichern.

Die Alternative besteht darin, Ihren eigenen Git-Server entweder lokal in Ihrem eigenen Netzwerk oder privat zugänglich in Ihrer eigenen privaten Cloud zu hosten. Die Einrichtung eines Git-Servers, der eine Weboberfläche mit dem Look, Feel und den Optionen bietet, die GitHub und Co. so populär gemacht haben, erforderte früher ein gewisses Maß an technischem Geschick. Hier kommt Gogs ins Spiel.

Was ist Goggs?

Gogs ist ein relativ neues, in Go geschriebenes Projekt, das eine einfach zu installierende und dennoch voll funktionsfähige Git-Instanz liefert. Es gibt keine Grenzen für Teamgröße, Speicherplatz oder irgendetwas anderes.

Selbst wenn Sie ein Hobby-Programmierer sind, können Sie mit Gogs als Git-Dienst in Ihrem lokalen Netzwerk eine Kopie Ihres Codes außerhalb Ihres Entwicklungscomputers speichern. Wenn Sie – oder jemand anderes – auf einem anderen oder neuen Computer arbeiten möchten, klonen Sie einfach ein Repository von Ihrem Gogs-Server, genau wie Sie es von GitHub tun würden.

Wenn Sie Gogs häufig verwenden, werden Sie es wahrscheinlich bequem finden, es zu den Startanwendungen des Computers hinzuzufügen, auf dem es ausgeführt wird.

RELATED: So führen Sie ein Linux-Programm beim Start mit systemd aus

So installieren Sie Gogs

Um Gogs zu installieren, laden Sie die entsprechende Archivdatei herunter, entpacken sie und führen die Hauptbinärdatei aus. Sie füllen einige Formulare aus, und Gogs initialisiert Ihr Repository und fügt Sie als Administrator hinzu. Sie können dann zu Ihrer Gogs-Instanz navigieren und Benutzer hinzufügen und Repositories erstellen.

Gogs verwendet eine Datenbank für seinen Back-End-Speicher. Es unterstützt MySQL, MariaDB, PostgreSQL und TiDB. Wenn Sie eine dieser leistungsstarken Datenbank-Engines verwenden möchten, müssen Sie sie selbst suchen und installieren, bevor Sie Gogs installieren. Für kleinere Teams können Sie SQLite3 verwenden. Wenn Sie sich für SQLite3 entscheiden, wird es für Sie installiert. Natürlich muss auch git installiert sein.

Laden Sie die entsprechende Binärdatei herunter.

  • Laden Sie für die meisten modernen Linux-Distributionen die Datei „Linux amd64“ herunter.
  • Wenn Sie eine 32-Bit-Version von Linux verwenden, laden Sie die Datei „Linux 386“ herunter.
  • Wenn Sie auf einem Raspberry Pi 2 oder früher installieren, laden Sie die Datei „Linux armv7“ herunter.
  • Wenn Sie auf einem Raspberry Pi 3, 3+ oder höher installieren, laden Sie die „Linux armv8“-Datei herunter.
  • Wenn Sie einen Intel-Mac verwenden, laden Sie die Datei „macOS amd64“ herunter.
  • Laden Sie für einen Apple Silicon Mac die Datei „macOS arm64“ herunter.

Wir haben die ZIP-Datei „Linux amd64“ zur Installation auf einem 64-Bit-Computer mit Ubuntu 22.10 heruntergeladen. Die Datei ist klein – nur etwa 25 MB – also seien Sie nicht überrascht, wenn sie sehr schnell heruntergeladen wird. Das ist normal.

Suchen Sie die Datei in Ihrem Dateisystem. Wenn Sie den standardmäßigen Download-Speicherort Ihres Browsers beibehalten haben, befindet sich die Datei wahrscheinlich in Ihrem „~/Downloads“-Verzeichnis. Klicken Sie mit der rechten Maustaste darauf und wählen Sie im Kontextmenü „Extrahieren“. Einige Dateibrowser verwenden möglicherweise stattdessen „Hier extrahieren“.

Aus der ZIP-Datei wird ein Verzeichnis extrahiert. Es ist nach der heruntergeladenen Datei benannt. In unserem Fall hieß es „gogs_0.11.91_linux_amd64“.

Das extrahierte Verzeichnis, benannt nach der heruntergeladenen Datei

Doppelklicken Sie auf das extrahierte Verzeichnis und Sie sehen ein weiteres Verzeichnis namens „gogs“.

Das gogs-Verzeichnis

Doppelklicken Sie auf das Verzeichnis „gogs“. Sie sehen die Gogs-Dateien und -Verzeichnisse. Klicken Sie mit der rechten Maustaste in das Dateibrowser-Fenster und wählen Sie im Kontextmenü „In Terminal öffnen“.

Geben Sie zum Starten Ihrer Gogs-Instanz diesen Befehl ein:

./gogs-Web

Gogs-Git-Server starten

Gogs startet und teilt Ihnen mit, dass es auf Port 3000 lauscht.

Stellen Sie eine Verbindung zu Ihrem Gogs-Server her, indem Sie einen Webbrowser öffnen und zur IP-Adresse oder zum Netzwerknamen des Computers navigieren, auf dem Gogs ausgeführt wird. Fügen Sie „:3000“ nach der IP-Adresse oder dem Netzwerknamen hinzu. Fügen Sie keine Leerzeichen ein.

Wenn Sie auf dem Computer surfen, auf dem Gogs ausgeführt wird, können Sie „localhost“ als Computernamen verwenden, z. B. „localhost:3000“. Unser Gogs-Computer heißt „ubuntu-22-10.local“, also müssen wir von einem anderen Computer im selben Netzwerk aus die Adresse „ubuntu-22-10.local:3000“ aufrufen, einschließlich der Portnummer.

Wenn Sie dies zum ersten Mal tun, sehen Sie das Formular, das einige anfängliche Einrichtungsinformationen erfasst.

Der Abschnitt des Datenbankauswahlmenüs des Gogs-Konfigurationsbildschirms

Als erstes müssen wir „SQLite3“ aus dem Dropdown-Menü „Database Type“ auswählen und Ihren Benutzernamen in das Feld „Run User“ eingeben.

Das Feld "Run User" des Gogs-Konfigurationsbildschirms

Wenn Sie E-Mail-Benachrichtigungen einrichten möchten, müssen Sie einige zusätzliche Schritte konfigurieren. Sie müssen die E-Mails über einen SMTP-Mailserver (Simple Mail Transfer Protocol) weiterleiten, zu dessen Verwendung Sie berechtigt sind. Wenn Sie ein Nutzer von Google Gmail sind, können Sie den Gmail-SMTP-Server von Google verwenden.

Dies erfordert Einstellungen auf dem Mailserver, damit Ihr Konto die E-Mail annehmen und weiterleiten kann. Diese Einstellungen variieren von Mailserver zu Mailserver.

Für Gogs müssen Sie die folgenden Informationen zu Ihrem E-Mail-Server eingeben.

  • SMTP-Host : Die Adresse und der Port des E-Mail-Servers. In unserem Beispiel ist dies der SMTP-Server von Google unter smtp.gmail.com:587.
  • Von : Die E-Mail-Adresse, von der die E-Mail gesendet wird. Für Gmail sollte dies die Gmail-E-Mail-Adresse des Kontos sein, das Sie verwenden.
  • Absender-E-Mail : Muss die gleiche wie oben sein. Dies ist die E-Mail-Konto-ID, die Gogs verwendet, um mit dem SMTP-Server zu kommunizieren.
  • Absenderpasswort : Dies ist nicht das Passwort für das Gmail-Konto. Es ist das anwendungsspezifische Passwort , das Sie von Google erhalten, wenn Sie Ihr Konto so konfigurieren, dass eine Anwendung E-Mails in Ihrem Namen senden kann.
  • Registrierungsbestätigung aktivieren: Aktivieren Sie dieses Kontrollkästchen, damit Gogs die E-Mails der Benutzer überprüft. Neue Benutzer erhalten eine E-Mail mit einem darin enthaltenen Link. Sie müssen auf klicken, um zu beweisen, dass die E-Mail-Adresse echt ist und unter ihrer Kontrolle steht.
  • E- Mail -Benachrichtigung aktivieren: Aktivieren Sie dieses Kontrollkästchen, um E-Mail-Benachrichtigungen von Gogs zuzulassen.

Der Abschnitt "E-Mail-Diensteinstellungen" des Gogs-Konfigurationsbildschirms

Wenn Sie nicht von E-Mails belästigt werden möchten, können Sie natürlich alle E-Mail-Einstellungen überspringen.

Klicken Sie auf die blaue Schaltfläche „Install Gogs“, wenn Sie fortfahren möchten. Gogs schreibt eine Konfigurationsdatei, initialisiert den Datenbankspeicher und startet Ihre Git-Instanz.

Sie sehen die Hauptseite von Gogs.

Die Gogs-Homepage

Das erste von Ihnen erstellte Benutzerkonto erhält automatisch Administratorrechte. Klicken Sie auf den Link „Registrieren“.

Erstellen eines Kontos auf dem Gogs-Server

Füllen Sie das „Anmelden“-Formular mit Ihrem Kontonamen, einem Passwort für dieses Konto (zweimal eingeben) und den Ziffern aus dem Captcha aus. Klicken Sie auf die grüne Schaltfläche „Neues Konto erstellen“. Sie sehen die Seite „Anmelden“.

Anmeldung bei Gogs

Geben Sie Ihren Kontonamen und Ihr Passwort ein und klicken Sie auf die grüne Schaltfläche „Anmelden“.

Eine kurze Tour durch Gogs

Wenn Sie mit einer anderen Git-Instanz mit Webzugriff vertraut sind, werden Sie sich in Gogs sehr leicht zurechtfinden.

Das Gogs-Dashboard, bevor Repositorys erstellt wurden

Die Ansicht „Dashboard“ von Gogs ist etwas spärlich, bis Sie ein Repository haben, mit dem Sie arbeiten können. Klicken Sie auf die blaue Schaltfläche „+“ und füllen Sie das Formular „Neues Repository“ aus.

Es fragt nach einem Repository-Namen, ob privat oder öffentlich, und einer Beschreibung.

Erstellen eines neuen Repositorys durch Angabe eines Namens und anderer Details

Die nächsten drei Felder erstellen Dateien aus Vorlagen.

Drei Felder, die die Erstellung von Standarddateien aus Vorlagen steuern

  • Im Menü „.gitignore“ können Sie eine Vorlage für Ihre „.gitignore“-Datei auswählen, die mit Einstellungen gemäß den ausgewählten Sprachen konfiguriert ist. Sie können in diesem Menü mehr als eine Auswahl treffen, um Repositories gerecht zu werden, die eine Mischung aus Entwicklungstechnologien verwenden.
  • Im Menü „Lizenz“ können Sie eine Lizenz aus einer umfassenden Liste auswählen.
  • Das Menü „Readme“ hat eine einzige Option, eine Standarddatei „README.md“.

Aktivieren Sie das Kontrollkästchen „Dieses Repository mit ausgewählten Dateien und Vorlagen initialisieren“ und klicken Sie auf die grüne Schaltfläche „Repository erstellen“.

Ein neu erstelltes Repository mit drei automatisch generierten Dateien

Ihr neues Repository wird Ihnen angezeigt. Gogs hat unsere drei Standarddateien für uns erstellt und sie mit der Commit-Nachricht „Initial commit“ zum Repository hinzugefügt.

Wir haben das Repository auf unseren Computer geklont, eine Datei namens „ack.c“ hinzugefügt, sie festgeschrieben und in unser entferntes Gogs-Repository gepusht. All dies wurde mit Standard-Git-Befehlen durchgeführt.

Hinzufügen einer Datei zum lokalen Repository und Pushen an Gogs

Wie erwartet wird unsere neue Datei in unserem Gogs-Repository angezeigt.

Das Repository mit der neuen Datei wurde erfolgreich dorthin gepusht

Ein Klick auf eine Datei zeigt uns den Inhalt der einzelnen Datei. Markdown-Dateien werden für Sie interpretiert, mit Überschriften, Links, Listen und allen anderen Markdown-Funktionen. „README.md“-Dateien werden normalerweise in Markdown geschrieben.

Der Inhalt der automatisch generierten README.md-Datei

Durch Klicken auf das Stiftsymbol „Bearbeiten“ können wir unsere Datei „README.md“ direkt bearbeiten. Wir haben etwas mehr Text hinzugefügt, Markdown-Tags verwendet, um Hyperlinks und Kursivschrift einzufügen, und unsere Änderungen übernommen. Alles innerhalb von Gogs.

Die aktualisierte README.md-Datei

Zurück in unserer Repository-Ansicht wird unsere aktualisierte „README.md“-Datei angezeigt, und der „README.md“-Eintrag in der Dateiliste zeigt eine neue Commit-Nachricht und eine Aktualisierungszeit.

Die aktualisierte README.md-Datei mit einer neuen Commit-Nachricht und einem neuen Zeitstempel

Der einfachste Git-Server – Bar None

Gogs ist ein absoluter Triumph. Es verbindet Funktionalität perfekt mit Schlichtheit.

Sofort einsatzbereit erfüllt es die Anforderungen der meisten Bastler oder kleinen Entwicklungsteams. Einige der erweiterten Optionen werden durch Bearbeiten der Konfigurationsdatei aktiviert, die sich standardmäßig unter „~/Downloads/gogs_0.12.10_linux_amd64/gogs/custom/conf/app.ini“ befindet. Beachten Sie, dass der Pfad die Version von Gogs widerspiegelt, die Sie verwenden.

Die allgemeine Systemverwaltung kann über das Admin-Panel durchgeführt werden, das Sie unter Your Profile > Admin panel finden.

Obwohl die Gogs-Dokumentation so kurz ist, dass sie knapp ist, bedeutet dies, dass Sie leicht finden, wonach Sie suchen, und die Beschreibungen detailliert genug sind, damit Sie ihnen folgen können.

Wenn Sie Cloud-gehostete Repositorys misstrauen, die letztendlich unter der Kontrolle anderer stehen, sollten Sie Gogs lokal verwenden. Sie werden keine Funktionalität verlieren, aber Sie gewinnen Kontrolle und garantierte Privatsphäre.

VERWANDT: So überprüfen und aktualisieren Sie Ihre Git-Version