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

So installieren Sie den Gogs Go Git-Dienst unter Ubuntu 16.04

Gogs ist ein kostenloser Open-Source-Git-Dienst, der in der Go-Sprache geschrieben ist. Gogs ist ein schmerzloser, selbst gehosteter Git-Dienst, mit dem Sie Ihren eigenen Git-Server auf einem minimalen Hardware-Server erstellen und ausführen können. Gogs Web-UI ist GitHub sehr ähnlich und bietet Unterstützung für MySQL-, PostgreSQL- und SQLite-Datenbanken.

In diesem Tutorial zeigen wir Ihnen Schritt für Schritt, wie Sie Ihren eigenen Git-Dienst mit Gogs auf Ubuntu 16.04 installieren und konfigurieren. Dieses Tutorial behandelt Details, einschließlich der Installation von Go auf einem Ubuntu-System, der Installation von PostgreSQL und der Installation und Konfiguration des Nginx-Webservers als Reverse-Proxy für die Go-Anwendung.

Voraussetzungen

  • Ubuntu 16.04
  • Root-Rechte

Was wir tun werden

  1. System aktualisieren und upgraden
  2. PostgreSQL installieren und konfigurieren
  3. Installieren Sie Go und Git
  4. Installieren Sie Gogs
  5. Gogs konfigurieren
  6. Gogs als Dienst ausführen
  7. Installieren und konfigurieren Sie Nginx als Reverse Proxy
  8. Testen

Schritt 1 - System aktualisieren und aktualisieren

Bevor Sie fortfahren, aktualisieren Sie alle Ubuntu-Repositories und aktualisieren Sie alle Pakete.

Führen Sie die folgenden apt-Befehle aus.

sudo apt update
sudo apt upgrade

Schritt 2 – PostgreSQL installieren und konfigurieren

Gogs bietet Unterstützung für MySQL-, PostgreSQL-, SQLite3-, MSSQL- und TiDB-Datenbanksysteme.

In diesem Handbuch verwenden wir PostgreSQL als Datenbank für unsere Gogs-Installationen.

Installieren Sie PostgreSQL mit dem folgenden apt-Befehl.

sudo apt install -y postgresql postgresql-client libpq-dev

Nachdem die Installation abgeschlossen ist, starten Sie den PostgreSQL-Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart gestartet wird.

systemctl start postgresql
systemctl enable postgresql

Die PostgreSQL-Datenbank wurde auf einem Ubuntu-System installiert.

Als nächstes müssen wir eine neue Datenbank und einen neuen Benutzer für Gogs erstellen.

Melden Sie sich als Benutzer „postgres“ an und führen Sie den Befehl „psql“ aus, um die PostgreSQL-Shell abzurufen.

su - postgres
psql

Erstellen Sie einen neuen Benutzer namens „git“ und geben Sie dem Benutzer Berechtigungen für „CREATEDB“.

CREATE USER git CREATEDB;
\password git

Erstellen Sie eine Datenbank mit dem Namen „gogs_production“ und legen Sie den Benutzer „git“ als Besitzer der Datenbank fest.

CREATE DATABASE gogs_production OWNER git;

Die neue PostgreSQL-Datenbank „gogs_production“ und der Benutzer „git“ für die Gogs-Installation wurden erstellt.

Schritt 3 – Go und Git installieren

Installieren Sie Git aus dem Repository mit dem folgenden apt-Befehl.

sudo apt install git

Fügen Sie nun den neuen Benutzer „git“ zum System hinzu.

sudo adduser --disabled-login --gecos 'Gogs' git

Melden Sie sich als „git“-Benutzer an und erstellen Sie ein neues „lokales“ Verzeichnis.

su - git
mkdir -p /home/git/local

Wechseln Sie in das „lokale“ Verzeichnis und laden Sie „Go“ (die neueste Version) mit dem wget-Befehl herunter, wie unten gezeigt.

cd ~/local
wget https://dl.google.com/go/go1.9.2.linux-amd64.tar.gz

Extrahieren Sie die komprimierte go-Datei und entfernen Sie sie dann.

tar -xf go1.9.2.linux-amd64.tar.gz
rm -f go1.9.2.linux-amd64.tar.gz

Die Binärdatei „Go“ wurde in das Verzeichnis „~/local/go“ heruntergeladen. Jetzt müssen wir die Umgebung einrichten – wir müssen die Verzeichnisse „GOROOT“ und „GOPATH“ definieren, damit wir einen „go“-Befehl auf dem System unter dem Benutzer „git“ ausführen können.

Führen Sie alle folgenden Befehle aus.

cd ~/
echo 'export GOROOT=$HOME/local/go' >> $HOME/.bashrc
echo 'export GOPATH=$HOME/go' >> $HOME/.bashrc
echo 'export PATH=$PATH:$GOROOT/bin:$GOPATH/bin' >> $HOME/.bashrc

Laden Sie Bash neu, indem Sie den Befehl „source ~/.bashrc“ wie unten gezeigt ausführen.

source ~/.bashrc

Stellen Sie sicher, dass Sie Bash als Standard-Shell verwenden.

Führen Sie nun den 'go'-Befehl aus, um die Version zu überprüfen.

go version

Und stellen Sie sicher, dass Sie das im folgenden Screenshot gezeigte Ergebnis erhalten.

Go ist jetzt auf dem System unter dem Benutzer „git“ installiert.

Schritt 4 – Gogs Go Git-Dienst installieren

Melden Sie sich als Benutzer „git“ an und laden Sie „Gogs“ von GitHub mit dem Befehl „go“ herunter.

su - git
go get -u github.com/gogits/gogs

Der Befehl lädt den gesamten Gogs-Quellcode im Verzeichnis „GOPATH/src“ herunter.

Gehen Sie zum Verzeichnis „$GOPATH/src/github.com/gogits/gogs“ und erstellen Sie Gogs mit den folgenden Befehlen.

cd $GOPATH/src/github.com/gogits/gogs
go build

Und stellen Sie sicher, dass keine Fehlermeldung angezeigt wird.

Führen Sie nun Gogs Go Git Service mit dem folgenden Befehl aus.

./gogs web

Der Befehl führt Gogs auf dem Standardport 3000 aus.

Öffnen Sie Ihren Webbrowser und geben Sie Ihre Server-IP-Adresse mit Port 3000 ein, meine ist http://192.168.33.10:3000/

Und Sie sollten das unten gezeigte Ergebnis erhalten.

Gogs ist auf dem Ubuntu-System installiert. Kehren Sie nun zu Ihrem Terminal zurück und drücken Sie zum Beenden 'Strg + C'.

Schritt 5 – Gogs Go Git-Dienst konfigurieren

In diesem Schritt erstellen wir eine benutzerdefinierte Konfiguration für Gogs.

Wechseln Sie in das Gogs-Installationsverzeichnis und erstellen Sie ein neues ‚custom/conf‘-Verzeichnis.

cd $GOPATH/src/github.com/gogits/gogs
mkdir -p custom/conf/

Kopieren Sie die Standardkonfiguration in das benutzerdefinierte Verzeichnis und bearbeiten Sie sie mit vim.

cp conf/app.ini custom/conf/app.ini
vim custom/conf/app.ini

Im '[Server] ' Abschnitt, ändern Sie den Server 'HOST_ADDR' mit '127.0.0.1'.

[server]
PROTOCOL = http
DOMAIN = localhost
ROOT_URL = %(PROTOCOL)s://%(DOMAIN)s:%(HTTP_PORT)s/
HTTP_ADDR = 127.0.0.1
HTTP_PORT = 3000

In der '[Datenbank] ' Abschnitt, ändern Sie alles mit Ihren eigenen Datenbankinformationen.

[database]
DB_TYPE = postgres
HOST = 127.0.0.1:5432
NAME = gogs_production
USER = git
PASSWD = [email protected]#

Speichern und beenden.

Überprüfen Sie nun die Konfiguration, indem Sie den unten gezeigten Befehl ausführen.

./gogs web

Und stellen Sie sicher, dass Sie das folgende Ergebnis erhalten.

Gogs läuft jetzt mit unserer benutzerdefinierten Konfiguration unter 'localhost' mit Port 3000.

Schritt 6 – Ausführen von Gogs als Dienst

In diesem Schritt konfigurieren wir Gogs als Dienst auf dem Ubuntu-System. Wir werden eine neue Dienstdateikonfiguration ‚gogs.service‘ im Verzeichnis ‚/etc/systemd/system‘ erstellen.

Wechseln Sie in das Verzeichnis „/etc/systemd/system“ und erstellen Sie mit dem vim-Editor eine neue Dienstdatei „gogs.service“.

cd /etc/systemd/system
vim gogs.service

Fügen Sie dort die folgende gogs-Dienstkonfiguration ein.

[Unit]
Description=Gogs
After=syslog.target
After=network.target
After=mariadb.service mysqld.service postgresql.service memcached.service redis.service

[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
Type=simple
User=git
Group=git
WorkingDirectory=/home/git/go/src/github.com/gogits/gogs
ExecStart=/home/git/go/src/github.com/gogits/gogs/gogs web
Restart=always
Environment=USER=git HOME=/home/git

[Install]
WantedBy=multi-user.target

Speichern und beenden.

Laden Sie nun die systemd-Dienste neu.

systemctl daemon-reload

Starten Sie den gogs-Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart mit dem Befehl systemctl gestartet wird.

systemctl start gogs
systemctl enable gogs

Gogs läuft jetzt als Dienst auf dem Ubuntu-System.

Überprüfen Sie es mit den folgenden Befehlen.

netstat -plntu
systemctl status gogs

Und Sie sollten das unten gezeigte Ergebnis erhalten.

Schritt 7 – Nginx als Reverse-Proxy für Gogs konfigurieren

In diesem Schritt konfigurieren wir Nginx als Reverse-Proxy für Gogs. Wir werden Nginx-Pakete aus seinem eigenen Repository verwenden.

Fügen Sie das Nginx-Repository mit dem Befehl add-apt hinzu.

sudo add-apt-repository -y ppa:nginx/stable

Aktualisieren Sie nun alle Ubuntu-Repositories und installieren Sie Nginx mit dem folgenden apt-Befehl.

sudo apt update
sudo apt install nginx -y

Gehen Sie als Nächstes in das Verzeichnis „/etc/nginx/sites-available“ und erstellen Sie eine neue virtuelle Hostdatei „gogs“.

cd /etc/nginx/sites-available
vim gogs

Fügen Sie dort die folgende Konfiguration ein.

server {
    listen 80;
    server_name git.hakase-labs.co;

    location / {
        proxy_pass http://localhost:3000;
    }
}

Speichern und beenden.

Hinweis:

Ändern Sie die Zeile „server_name“ durch Ihren eigenen Domänennamen.

Aktivieren Sie nun einen neuen virtuellen Host und testen Sie die nginx-Konfiguration.

ln -s /etc/nginx/sites-available/gogs /etc/nginx/sites-enabled/
nginx -t

Stellen Sie sicher, dass kein Fehler vorliegt, und starten Sie dann den Nginx-Dienst neu.

systemctl restart nginx

Schritt 8 – Testen

Öffnen Sie Ihren Webbrowser und geben Sie Ihre gogs-URL ein, meine ist http://git.hakase-labs.co

Jetzt erhalten Sie die Installationsseite. Geben Sie oben auf der Seite alle Ihre PostgreSQL-Datenbankinformationen ein.

Scrollen Sie nun nach unten und klicken Sie auf das Dropdown-Menü "Admin-Kontoeinstellungen".

Geben Sie Ihren Admin-Benutzer, Ihr Passwort und Ihre E-Mail-Adresse ein.

Klicken Sie dann auf die Schaltfläche „Gogs installieren“.

Und Sie werden wie unten gezeigt zum Gogs-Benutzer-Dashboard weitergeleitet.

Unten ist das 'Admin Dashboard' von Gogs.

Gogs ist jetzt mit der PostgreSQL-Datenbank und dem Nginx-Webserver auf dem Ubuntu 16.04-Server installiert


Ubuntu
  1. So installieren Sie Git unter Ubuntu 18.04 / 20.04

  2. So installieren Sie PostgreSQL unter Ubuntu 18.04

  3. So installieren Sie Nginx unter Ubuntu 18.04

  4. So installieren Sie PostgreSQL 9.6 auf Ubuntu 20.04

  5. So installieren Sie Git unter Ubuntu 16.04

So installieren Sie TimescaleDB auf Ubuntu 20.04

So installieren Sie PostgreSQL 14 in Ubuntu 20.04

So installieren Sie TimescaleDB unter Ubuntu 20.04

So installieren Sie Git unter Ubuntu 15.04

So installieren Sie Git unter Ubuntu 16.04

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