How to install Gogs on Ubuntu 16.04
Inhaltsverzeichnis:
- Bevor Sie beginnen
- Gogs installieren
- Installieren Sie Git
- Erstellen Sie einen Git-Benutzer
- Laden Sie Gogs binary herunter
- Erstellen Sie eine systemd Unit-Datei
- Installieren Sie Gogs mit dem Web-Installer
- Konfigurieren von Nginx als SSL Termination Proxy
- E-Mail-Benachrichtigungen konfigurieren
- Gogs aufrüsten
- Fazit
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
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.
-
Stoppen Sie zuerst den Gogs-Dienst:
sudo systemctl stop gogsBenennen 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 /tmpsudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/gitVERSIONSie sicher, dass SieVERSIONmit der aktuellen Gogs-Release-Version ändern.Kopieren Sie
customVerzeichnisse,dataundlogmit 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 GogsSo installieren und konfigurieren Sie einen NFS-Server unter Ubuntu 18.04
Network File System (NFS) ist ein verteiltes Dateisystemprotokoll, mit dem Sie Remoteverzeichnisse über ein Netzwerk freigeben können. In diesem Tutorial erfahren Sie, wie Sie einen NFSv4-Server unter Ubuntu 18.04 einrichten.
So installieren und konfigurieren Sie redis unter Ubuntu 18.04
Redis ist ein Open-Source-Speicher für In-Memory-Datenstrukturen. Es kann als Datenbank-, Cache- und Nachrichtenbroker verwendet werden und unterstützt verschiedene Datenstrukturen wie Strings, Hashes, Listen, Sets usw. Dieses Tutorial beschreibt die Installation und Konfiguration von Redis auf einem Ubuntu 18.04-Server.
So installieren und konfigurieren Sie den Squid-Proxy unter Ubuntu 18.04
Squid ist ein voll ausgestatteter Caching-Proxy, der gängige Netzwerkprotokolle wie HTTP, HTTPS, FTP und mehr unterstützt. Dieses Tutorial führt Sie durch die Einrichtung eines Squid-Proxys unter Ubuntu 18.04.







