So installierst du Gitea mit PostgreSQL unter Debian 11

Gitea ist eine kostenlose, quelloffene und selbstgehostete Lösung für Git-Server. Gitea wurde in der Programmiersprache Go geschrieben und ist eine leichtgewichtige Anwendung, die als Binärpaket verfügbar ist und auf den meisten Plattformen installiert werden kann, darunter Windows, Linux und macOS. Es ist eine der robusten, skalierbaren, schnellen und einfach zu bedienenden Alternativen zu GitLab.

Gitea bietet viele Funktionen, darunter einen Editor für Repository-Dateien, Fehler- und Zeitverfolgung, Repository-Branching, Dateisperren, ein eingebautes Wiki, Merging, Unterstützung für mehrere Datenbanken, einen einfachen Upgrade-Prozess, eine eingebaute Container-Registry und vieles mehr.

In diesem Tutorial zeige ich dir, wie du Gitea als Binärpaket mit PostgreSQL auf Debian 11 installierst.

Voraussetzungen

  • Ein Server, auf dem Debian 11 läuft.
  • Ein Root-Passwort ist auf dem Server eingerichtet.

Schritt 1 – Betriebssystem aktualisieren

Bevor du mit der Installation von Gitea beginnst, führe den folgenden Befehl aus, um dein System mit der neuesten Version zu aktualisieren.

sudo apt-get update -y

sudo apt-get upgrade -y

Schritt 2 – PostgreSQL installieren und konfigurieren

Gitea unterstützt alle gängigen Datenbanken wie MySQL, MariaDB, SQLite, MySQL und PostgreSQL. In dieser Anleitung wird jedoch PostgreSQL als Gitea-Datenbank verwendet.

Erstelle zunächst das PostgreSQL-Repository mit dem folgenden Befehl:

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

Als Nächstes musst du den Signierschlüssel des Repositorys importieren:

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

Installiere nun PostgreSQL mit den folgenden Befehlen:

sudo apt-get update

sudo apt-get -y install postgresql

Starte als Nächstes den PostgreSQL-Dienst, aktiviere ihn beim Systemstart und überprüfe den PostgreSQL-Dienststatus mit folgendem Befehl:

sudo systemctl start postgresql

sudo systemctl enable postgresql

sudo systemctl status postgresql

PostgreSQL installieren

Als Nächstes musst du das md5-Verschlüsselungsverfahren durch das SCRAM-SHA-256-Verschlüsselungsverfahren ersetzen, um die Sicherheit zu erhöhen. Wenn du dich aus der Ferne mit PostgreSQL verbinden willst, musst du deine IP-Adresse in der PostgreSQL-Konfigurationsdatei zulassen. Öffne die Konfigurationsdatei und nimm die Änderungen mit dem folgenden Befehl vor:

sudo vim /etc/postgresql/14/main/postgresql.conf

Wenn du eine andere PostgreSQL-Version installiert hast, ändere den obigen Befehlspfad entsprechend ab.

Als Nächstes änderst du die folgenden Variablen entsprechend deinen Anforderungen:

listen_addresses = 'localhost, 134.122.38.45'
password_encryption = scram-sha-256

Speichere und beende die Datei und starte den PostgreSQL-Dienst neu, um die Änderungen zu übernehmen.

sudo systemctl restart postgresql

Melde dich mit folgendem Befehl in der PostgreSQL-Shell an:

sudo -u postgres psql

Erstelle dann eine Benutzerrolle und eine Datenbank für Gitea, indem du den folgenden Befehl ausführst:

postgres=# CREATE ROLE gitea WITH LOGIN PASSWORD 'secure@123';

postgres=# CREATE DATABASE giteadb;

postgres=# GRANT ALL PRIVILEGES ON DATABASE giteadb TO gitea;

postgres=# exit

Hier musst du den Benutzernamen, den Datenbanknamen und dein Passwort für Gitea festlegen.

Rolle in Postgres erstellen

Jetzt ist PostgreSQL eingerichtet und bereit für Gitea. Überprüfe die Authentifizierungseinstellungen in der Datei /etc/postgresql/14/main/pg_hba.conf.

PostgreSQL akzeptiert standardmäßig alle lokalen Verbindungen.

host    all             all             127.0.0.1/32            scram-sha-256

Wenn du Giteadb aus der Ferne nutzen willst, füge die folgende Zeile mit deiner IP-Adresse in /etc/postgresql/14/main/pg_hba.conf ein

host    giteadb        gitea            134.122.38.0/32           scram-sha-256

Host konfigurieren

Schritt 3 – Git installieren und konfigurieren

Als Nächstes installierst du Git mit dem folgenden Befehl:

sudo apt install git

Überprüfe die Git-Installation, indem du die Git-Version überprüfst:

git --version

Ausgabe:-

git version 2.30.2

Als nächstes musst du deinen Namen und deine E-Mail-Adresse für Git festlegen.

git config --global user.name "Your Name"

git config –global user.email „youremail@domain.com”

Du kannst deine Git-Konfiguration mit dem folgenden Befehl überprüfen.

git config --list

Ausgabe:-

user.name=Your Name
user.email=youremail@domain.com

Schritt 4 – Erstelle einen Git-Benutzer für Gitea

Jetzt musst du einen Gitea-Benutzer anlegen. Das kannst du mit dem folgenden Befehl tun:

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

Damit wird ein neuer Benutzer git erstellt.

Schritt 5 – Gitea installieren und konfigurieren

Gehe auf die Gitea Download Seite und lade die neueste Version des Gitea Binary herunter. Zum Zeitpunkt der Erstellung dieses Tutorials ist die neueste Version von Gitea 1.15.7. Du kannst die Variable VERSION im folgenden Befehl ändern, um eine andere Version zu installieren.

cd /tmp
GITEAVERSION=1.15.7
wget -O gitea https://dl.gitea.io/gitea/${GITEAVERSION}/gitea-${GITEAVERSION}-linux-amd64

Als Nächstes verschiebst du das Gitea-Binary mit dem folgenden Befehl in den Systempfad:

sudo mv /tmp/gitea /usr/local/bin

Lege die Ausführungsberechtigung für die Gitea-Binärdatei fest, indem du den folgenden Befehl im Terminal ausführst:

chmod +x /usr/local/bin/gitea

Als Nächstes musst du eine Verzeichnisstruktur für Gitea erstellen; führe dazu die folgenden Befehle aus:

sudo mkdir -p /etc/gitea

sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}

Als Nächstes gibst du mit den folgenden Befehlen die erforderlichen Berechtigungen für Gitea ein, damit es richtig funktioniert:

sudo chown -R git:git /var/lib/gitea/

sudo chown root:git /etc/gitea

sudo chmod -R 750 /var/lib/gitea/

sudo chmod 770 /etc/gitea

Als Nächstes erstellst du eine systemd-Dienstdatei für Gitea mit dem folgenden Befehl:

vim /etc/systemd/system/gitea.service

Füge den folgenden Code in die Datei ein.

[Unit]
Description=Gitea
After=syslog.target
After=network.target
After=postgresql.service

[Service]
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea

[Install]
WantedBy=multi-user.target

Speichere und beende die Datei. Lade dann den systemd-Daemon neu und starte den Gitea-Dienst mit dem folgenden Befehl:

sudo systemctl daemon-reload
sudo systemctl start gitea

Als nächstes musst du den Gitea-Dienst beim Neustart des Systems aktivieren:

sudo systemctl enable gitea

Als Nächstes überprüfst du den Status von Gitea mit dem folgenden Befehl:

sudo systemctl status gitea

Du solltest die folgende Ausgabe sehen:

Gitea Status prüfen

Wie du siehst, ist Gitea gestartet und läuft standardmäßig auf Port 3000. Du kannst den Gitea-Port mit dem folgenden Befehl überprüfen:

netstat -tulpan | grep 3000

Du solltest eine Ausgabe wie die folgende sehen:

tcp6       0      0 :::3000                 :::*                    LISTEN      43778/gitea

Schritt 6 – Zugriff auf das Gitea-Webinterface

Gitea ist nun gestartet und wird standardmäßig auf Port 3000 überwacht. Öffne deinen Browser und gib https://YOURIPADDRESS:3000 ein.

Als Nächstes gibst du die erforderlichen Parameter wie folgt ein:

Datenbankeinstellungen

Datenbanktyp: PostgreSQL
Host: 127.0.0.1:5432
Benutzername: gitea
Passwort: Gib das Passwort ein, das du bei der Erstellung der Postgres-Rolle gewählt hast.
Datenbankname: giteadb
SSL: Deaktivieren

Gitea Datenbank Konfiguration

Allgemeine Einstellungen

Website-Titel: Ein Titel deiner Wahl.
Repository Root Path: /var/lib/gitea/data/repositories
Git LFS Root Path: /var/lib/gitea/data/lfs
Run As Username: git
SSH Server Domain: your_domain/IP
SSH Server Port: 22
Gitea HTTP Listen Post: 3000
Gitea Base URL: http://YOURIPADDRESS:3000
Log Path: /var/lib/gitea/log

Gitea Allgemeine Einstellungen

In diesem Stadium kannst du deine E-Mail- und Server- und Drittanbieter-Einstellungen konfigurieren, oder du kannst dies später tun. Du solltest jedoch den Administratorkonfigurieren

Benutzernamen , um dich bei Gitea anzumelden. Gehe also zu Optionale Einstellung und gib die Details der Administrator-Kontoeinstellung ein und erstelle ‚Administrator-Benutzer‘ für Gitea.

Gitea Optionale Einstellungen

Als nächstes klickst du auf die Schaltfläche „Gitea installieren“. Sobald die Installation erfolgreich abgeschlossen ist, wirst du zum Gitea Dashboard weitergeleitet, das auf der folgenden Seite zu sehen ist:

Gitea Dashboard

Jetzt kannst du Gitea erkunden und über die Option „Website-Verwaltung“ deines Administratorkontos andere Dienste von Drittanbietern einrichten, z. B. die Integration des Active Directory von Windows mit Gitea.

Gitea Zusammenfassung

Schritt 7 – E-Mail-Benachrichtigungen einrichten

Du kannst E-Mail-Benachrichtigungen in Gitea mit Sendmail oder über einen E-Mail-Dienst eines Drittanbieters wie Amazon SES oder Sendgrid aktivieren.

Um E-Mail-Benachrichtigungen zu aktivieren, öffne die Gitea-Konfigurationsdatei mit dem folgenden Befehl:

vim /etc/gitea/app.in

Als Nächstes bearbeitest du den folgenden Abschnitt in der Datei und fügst den folgenden Code entsprechend deiner E-Mail-Einstellungen hinzu.

[mailer]
ENABLED        = true
FROM           = gitea@example.com
MAILER_TYPE    = smtp
HOST           = mail.example.com:587
IS_TLS_ENABLED = true
USER           = gitea@example.com
PASSWD         = password

Speichere und beende die Datei und starte den Gitea-Dienst neu, um die Änderungen zu übernehmen:

sudo systemctl restart gitea

Schritt 10 – Gitea aktualisieren

Die Aktualisierung von Gitea ist ein müheloser Prozess, bei dem du nur die Gitea-Binärdatei herunterladen und ersetzen musst.

Beende zunächst den Gitea-Dienst:

sudo systemctl stop gitea

Lade die Gitea-Binärdatei herunter und installiere sie mit dem folgenden Befehl:

cd /tmp
GITEAVERSION=LATESTVERSION
wget -O gitea https://dl.gitea.io/gitea/${GITEAVERSION}/gitea-${GITEAVERSION}-linux-amd64
sudo mv gitea /usr/local/bin
sudo chmod +x /usr/local/bin/gitea

Starte dann den Gitea-Dienst mit dem folgenden Befehl:

sudo systemctl start gitea

Jetzt ist dein Gitea auf dem neuesten Stand, ohne dass es zu Ausfallzeiten kommt.

Fazit

Herzlichen Glückwunsch! Du hast den Gitea-Git-Dienst erfolgreich auf Debian 11 installiert. Jetzt kannst du Gitea ganz einfach über einen Webbrowser aktualisieren und dein Git-Repository verwalten. Außerdem kannst du dich gerne an mich wenden, wenn du Fragen hast.

Das könnte dich auch interessieren …