GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren und konfigurieren Sie Gogs unter Ubuntu 18.04

Gogs ist ein selbst gehosteter Open-Source-Git-Server, der in Go geschrieben wurde. Es enthält einen Repository-Dateieditor, Projektproblemverfolgung und ein integriertes Wiki.

Gogs ist eine leichtgewichtige Anwendung und kann auf Systemen mit geringer Leistung installiert werden. Wenn Sie nach einer Alternative zu Gitlab mit viel geringerem Speicherbedarf suchen und nicht den ganzen Schnickschnack benötigen, den Gitlab bietet, dann sollten Sie unbedingt Gogs ausprobieren.

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

Bevor Sie beginnen #

Gogs kann SQLite, PostgreSQL oder MySQL/MariaDBdatabase verwenden, um alle seine Daten zu speichern.

In diesem Tutorial verwenden wir SQLite als bevorzugte Datenbank. 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 einfache Firewall einzurichten. Sie können den Schritten in unserem Leitfaden zum Einrichten einer Firewall mit UFW unter Ubuntu 18.04 folgen.

Installation von Gogs #

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 Giton 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 updatesudo apt install git

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

git --version
git version 2.17.1

Erstelle 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 setzt das Home-Verzeichnis auf /home/git . Die Ausgabe sieht in etwa 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' ...

Gogs-Binärdatei # herunterladen

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 den VERSION Variable im folgenden Befehl.

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

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

Extrahieren Sie nach Abschluss des Downloads die Gogs-tar.gz-Datei und verschieben Sie sie nach /home/git Verzeichnis:

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 auf den Benutzer und die Gruppe 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 so konfiguriert ist, dass sie unserem Setup entspricht.

Kopieren Sie die Datei nach /etc/systemd/system/ Verzeichnis durch Eingabe von:

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 gogssudo systemctl enable gogs

Überprüfen Sie, ob 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 wurde und ausgeführt wird, ist es an der Zeit, die Installation über die Weboberfläche abzuschließen.

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

Datenbankeinstellungen:

  • Datenbanktyp:SQLite3
  • Pfad:Verwenden Sie einen absoluten Pfad, /home/git/gogs/gogs.db

Allgemeine Anwendungseinstellungen

  • Anwendungsname:Geben Sie den Namen Ihrer Organisation ein
  • Repository-Stammpfad:Belassen Sie den Standard /home/git/gogs-repositories
  • Benutzer ausführen:git
  • Domäne:Geben Sie Ihre Domäne oder Server-IP-Adresse ein.
  • SSH-Port:22, ändern Sie ihn, wenn SSH auf einem anderen Port lauscht
  • HTTP-Port:3000
  • Anwendungs-URL:Verwenden Sie http und Ihre Domain- oder Server-IP-Adresse.
  • Protokollpfad:Belassen Sie den Standard /home/git/gogs/log
Später können Sie die Einstellungen ändern, indem Sie die Gogs-Konfigurationsdatei bearbeiten.

Wenn Sie fertig sind, klicken Sie auf die Schaltfläche „Install Gogs“. Die Installation erfolgt sofort und nach Abschluss werden Sie zur Anmeldeseite weitergeleitet.

Klicken Sie auf den Link „Jetzt anmelden“.

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-Terminierungsproxy #

Dieser Schritt ist optional, wird aber dringend empfohlen. Um Nginx als Reverse-Proxy zu verwenden, benötigen Sie eine Domain oder Subdomain, die auf die öffentliche IP Ihres Servers verweist. In diesem Tutorial verwenden wir gogs.example.com .

Installieren Sie zunächst Nginx und generieren Sie ein kostenloses SSL-Zertifikat von Let’s Encrypt, indem Sie die folgenden Anleitungen befolgen:

  • So installieren Sie Nginx unter Ubuntu 18.04
  • Nginx mit Let’s Encrypt auf Ubuntu 18.04 sichern

Sobald Sie fertig sind, öffnen Sie Ihren Texteditor und bearbeiten Sie die Blockdatei des Domänenservers:

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 richtigen Pfad zu den SSL-Zertifikatsdateien 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
[server]
DOMAIN           = gogs.example.com
ROOT_URL         = https://gogs.example.com/

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

sudo systemctl restart gogs

An diesem Punkt ist Gogs konfiguriert und Sie können darauf zugreifen unter:https://gogs.example.com

E-Mail-Benachrichtigungen konfigurieren #

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

Um E-Mail-Benachrichtigungen zu aktivieren, öffnen Sie die Konfigurationsdatei und bearbeiten Sie die folgenden Zeilen:

sudo nano /home/git/gogs/custom/conf/app.ini
/home/git/gogs/custom/conf/app.ini
[mailer]
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 sich auch mit Slack verbinden, indem Sie Webhooks erstellen und Benachrichtigungen an Ihre Slack-Kanäle senden.

Upgrade von Gogs #

Um Gogs zu aktualisieren, sind mehrere manuelle Schritte erforderlich.

  1. Stoppen Sie zuerst den Gogs-Dienst:

    sudo systemctl stop gogs
  2. Benennen Sie das Gogs-Installationsverzeichnis um.

    sudo mv /home/git/gogs{,_old}
  3. Laden Sie die neueste Gogs-Version herunter und verschieben Sie sie nach /home/git Verzeichnis:

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

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

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

    sudo rsync -a /home/git/gogs_old/{custom,data,log,gogs.db} /home/git/gogs/
  5. Starten Sie abschließend den Gogs-Dienst:

    sudo systemctl restart gogs

Das ist es.


Ubuntu
  1. So installieren und konfigurieren Sie Redis unter Ubuntu 18.04

  2. So installieren und konfigurieren Sie Redmine unter Ubuntu 18.04

  3. So installieren und konfigurieren Sie Samba unter Ubuntu 18.04

  4. So installieren und konfigurieren Sie Redis unter Ubuntu 20.04

  5. So installieren und konfigurieren Sie Jenkins unter Ubuntu 20.04

So installieren und konfigurieren Sie Redis in Ubuntu 20.04

So installieren und konfigurieren Sie Neo4j unter Ubuntu 20.04

So installieren und konfigurieren Sie Ubuntu SDK in Ubuntu 16.04 und 14.04

So installieren und konfigurieren Sie PostgreSQL unter Ubuntu

So installieren und konfigurieren Sie Git unter Ubuntu 20.04

So installieren und konfigurieren Sie den Gogs Git-Dienst unter Ubuntu Linux