Android

Installieren und Konfigurieren von Gogs unter Ubuntu 18.04

How to install Gogs on Ubuntu 16.04

How to install Gogs on Ubuntu 16.04

Inhaltsverzeichnis:

Anonim

Gogs ist ein selbst gehosteter Open-Source-Git-Server, der in Go geschrieben wurde. Es enthält einen Repository-Datei-Editor, die Nachverfolgung von Projektproblemen und ein eingebautes Wiki.

Gogs ist eine leichte Anwendung und kann auf Systemen mit geringem Stromverbrauch installiert werden. Wenn Sie nach einer Alternative zu Gitlab mit viel kleinerem Speicherbedarf suchen und nicht alle Schnickschnack benötigen, die Gitlab bietet, sollten Sie auf jeden Fall Gogs ausprobieren.

Dieses Tutorial beschreibt die Schritte zum Installieren und Konfigurieren von Gogs unter Ubuntu 18.04. Die gleichen Anweisungen gelten für Ubuntu 16.04 und alle anderen Ubuntu-basierten Distributionen.

Bevor Sie beginnen

Gogs können SQLite-, PostgreSQL- oder MySQL / MariaDB-Datenbanken verwenden, um alle Daten zu speichern.

In diesem Tutorial verwenden wir SQLite als Datenbank Ihrer Wahl. Wenn SQLite nicht auf Ihrem System installiert ist, können Sie es installieren, indem Sie Folgendes eingeben:

sudo apt install sqlite3

Für eine zusätzliche Sicherheitsebene wird empfohlen, eine grundlegende Firewall einzurichten. Befolgen Sie die Schritte in unserer Anleitung zum Einrichten einer Firewall mit UFW unter Ubuntu 18.04.

Gogs installieren

Wir werden Gogs aus der Binärdatei installieren. Die Installation ist ein ziemlich einfacher Prozess.

Installieren Sie Git

Der erste Schritt ist die Installation von Git auf Ihrem Server. Aktualisieren Sie dazu den lokalen Paketindex und installieren Sie das Git-Paket, indem Sie die folgenden Befehle als sudo-Benutzer ausführen:

sudo apt update sudo apt install git

Überprüfen Sie die Installation, indem Sie die Git-Version anzeigen:

git --version

git version 2.17.1

Erstellen Sie einen Git-Benutzer

Erstellen Sie einen neuen Systembenutzer, um den Gogs-Dienst auszuführen, indem Sie Folgendes eingeben:

sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git

Der Befehl erstellt den Benutzer und legt das Ausgangsverzeichnis auf /home/git . Die Ausgabe sieht ungefähr so ​​aus:

Adding system user `git' (UID 111)… Adding new group `git' (GID 116)… Adding new user `git' (UID 111) with group `git'… Creating home directory `/home/git'…

Laden Sie Gogs binary herunter

Besuchen Sie die Gogs-Download-Seite und laden Sie die neueste Binärdatei für Ihre Architektur herunter. Zum Zeitpunkt des Schreibens ist die neueste Version 0.11.86. Wenn eine neue Version verfügbar ist, ändern Sie die Variable VERSION im folgenden Befehl.

Laden Sie das Gogs-Archiv im Verzeichnis /tmp mit dem folgenden Befehl wget herunter:

VERSION=0.11.86 wget https://dl.gogs.io/${VERSION}/gogs_${VERSION}_linux_amd64.tar.gz -P /tmp

Wenn der Download abgeschlossen ist, extrahieren Sie die Datei Gogs tar.gz und verschieben Sie sie in das Verzeichnis /home/git :

sudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/git

Führen Sie den folgenden Befehl aus, um den Besitz des Gogs-Installationsverzeichnisses in den Benutzer- und Gruppen-Git zu ändern:

sudo chown -R git: /home/git/gogs

Erstellen Sie eine systemd Unit-Datei

Gogs wird mit einer Systemd-Unit-Datei geliefert, die bereits für unser Setup konfiguriert ist.

Kopieren Sie die Datei in das Verzeichnis /etc/systemd/system/ indem Sie Folgendes eingeben:

sudo cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/

Sobald Sie fertig sind, starten und aktivieren Sie den Gogs-Dienst:

sudo systemctl start gogs sudo systemctl enable gogs

Stellen Sie sicher, dass der Dienst erfolgreich gestartet wurde:

* gogs.service - Gogs Loaded: loaded (/etc/systemd/system/gogs.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2019-04-25 04:13:44 PDT; 9s ago Main PID: 14376 (gogs) Tasks: 8 (limit: 2319) CGroup: /system.slice/gogs.service `-14376 /home/git/gogs/gogs web

Installieren Sie Gogs mit dem Web-Installer

Nachdem Gogs heruntergeladen und ausgeführt wurde, ist es Zeit, die Installation über die Weboberfläche abzuschließen.

Öffnen Sie Ihren Browser und geben Sie http://YOUR_DOMAIN_IR_IP:3000 ein. Ein Bildschirm ähnlich dem folgenden wird angezeigt:

Der erste registrierte Benutzer wird automatisch zur Admin-Gruppe hinzugefügt.

Das ist es. Gogs wurde auf Ihrem Ubuntu-Rechner installiert.

Konfigurieren von Nginx als SSL Termination Proxy

Dieser Schritt ist optional, wird jedoch dringend empfohlen. Um Nginx als Reverse-Proxy zu verwenden, muss eine Domain oder Subdomain auf Ihre öffentliche IP-Adresse des Servers verweisen. In diesem Tutorial verwenden wir gogs.example.com .

Installieren Sie zunächst Nginx und erstellen Sie ein kostenloses Let's Encrypt-SSL-Zertifikat. Befolgen Sie dazu die nachstehenden Anleitungen:

Öffnen Sie anschließend Ihren Texteditor und bearbeiten Sie die Domänenserver-Blockdatei:

sudo nano /etc/nginx/sites-enabled/gogs.example.com /etc/nginx/sites-enabled/gogs.example.com

server { listen 80; server_name gogs.example.com; include snippets/letsencrypt.conf; return 301 https://gogs.example.com$request_uri; } server { listen 443 ssl http2; server_name gogs.example.com; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; client_max_body_size 50m; # Proxy headers proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; # SSL parameters ssl_certificate /etc/letsencrypt/live/gogs.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/gogs.example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/gogs.example.com/chain.pem; include snippets/letsencrypt.conf; include snippets/ssl.conf; # log files access_log /var/log/nginx/gogs.example.com.access.log; error_log /var/log/nginx/gogs.example.com.error.log; # Handle / requests location / { proxy_redirect off; proxy_pass http://127.0.0.1:3000; } } Vergessen Sie nicht, gogs.example.com durch Ihre Gogs-Domain zu ersetzen und den korrekten Pfad zu den SSL-Zertifikatdateien festzulegen. Alle HTTP-Anforderungen werden an HTTPS umgeleitet

Starten Sie den Nginx-Dienst neu, damit die Änderungen wirksam werden:

sudo systemctl restart nginx

Als nächstes müssen wir die Gogs-Domain und die Root-URL ändern. Öffnen Sie dazu die Konfigurationsdatei und bearbeiten Sie die folgenden Zeilen:

sudo nano /home/git/gogs/custom/conf/app.ini /home/git/gogs/custom/conf/app.ini

DOMAIN = gogs.example.com ROOT_URL =

Starten Sie den Gogs-Dienst neu, indem Sie Folgendes eingeben:

sudo systemctl restart gogs

Zu diesem Zeitpunkt ist Gogs konfiguriert und Sie können unter https://gogs.example.com zugreifen

E-Mail-Benachrichtigungen konfigurieren

Damit Gogs Benachrichtigungs-E-Mails senden kann, können Sie entweder Postfix installieren oder einen Transaktions-E-Mail-Dienst wie SendGrid, MailChimp, MailGun oder SES verwenden.

Öffnen Sie zum Aktivieren von E-Mail-Benachrichtigungen die Konfigurationsdatei und bearbeiten Sie die folgenden Zeilen:

sudo nano /home/git/gogs/custom/conf/app.ini /home/git/gogs/custom/conf/app.ini

ENABLED = true HOST = SMTP_SERVER:SMTP_PORT FROM = SENDER_EMAIL USER = SMTP_USER PASSWD = YOUR_SMTP_PASSWORD

Stellen Sie sicher, dass Sie die richtigen SMTP-Serverinformationen eingeben.

Starten Sie den Gogs-Dienst neu, damit die Änderungen wirksam werden:

sudo systemctl restart gogs

Mit Gogs können Sie auch eine Verbindung zu Slack herstellen, indem Sie einen Web-Webhook erstellen und Benachrichtigungen an Ihre Slack-Kanäle senden.

Gogs aufrüsten

Um Gogs zu aktualisieren, sind mehrere manuelle Schritte erforderlich.

  1. Stoppen Sie zuerst den Gogs-Dienst:

    sudo systemctl stop gogs

    Benennen Sie das Gogs-Installationsverzeichnis um.

    sudo mv /home/git/gogs{, _old}

    Laden Sie die neueste Gogs-Version herunter und verschieben Sie sie in das Verzeichnis /home/git :

    VERSION= wget https://dl.gogs.io/${VERSION}/gogs_${VERSION}_linux_amd64.tar.gz -P /tmp sudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/git

    VERSION Sie sicher, dass Sie VERSION mit der aktuellen Gogs-Release-Version ändern.

    Kopieren Sie custom Verzeichnisse, data und log mit dem folgenden Befehl rsync in das extrahierte Verzeichnis:

    sudo rsync -a /home/git/gogs_old/{custom, data, log} /home/git/gogs/

    Starten Sie abschließend den Gogs-Dienst:

    sudo systemctl restart gogs

Das ist es.

Fazit

Dieses Tutorial führte Sie durch die Installation und Konfiguration von Gogs unter Ubuntu 18.04. Sie können jetzt Ihr erstes Projekt erstellen und Ihren neuen Gogs-Server verwenden.

Ubuntu Gogs