Gitea ist eine kostenlose, quelloffene und selbst gehostete Lösung für Git-Server. Gitea hat in der Programmiersprache Go geschrieben, eine leichtgewichtige Anwendung, die als Binärpaket verfügbar ist und auf den meisten Plattformen einschließlich Windows, Linux und macOS installiert werden kann. Es ist eine der robusten, skalierbaren, schnellen, benutzerfreundlichen Alternativen zu GitLab.
Gitea bietet viele Funktionen, darunter einen Repository-Dateieditor, Fehler- und Zeitverfolgung, Repository-Verzweigung, Dateisperrung, integrierte in Wiki, Zusammenführen, Unterstützung mehrerer Datenbanken, einfacher Aktualisierungsprozess, integrierte Containerregistrierung und vieles mehr.
In diesem Tutorial zeige ich Ihnen, wie Sie Gitea aus der Binärdatei mit PostgreSQL unter Debian 11 installieren .
Voraussetzungen
- Ein Server mit Debian 11.
- Auf dem Server ist ein Root-Passwort konfiguriert.
Schritt 1 – Betriebssystem aktualisieren
Führen Sie vor Beginn der Gitea-Installation den folgenden Befehl aus, um Ihr 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 wichtigen Datenbanken wie MySQL, MariaDB, SQLite, MySQL und PostgreSQL, aber in dieser Anleitung wird PostgreSQL als Gitea-Datenbank verwendet.
Erstellen Sie zuerst ein 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 müssen Sie den Repository-Signaturschlüssel importieren:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
Installieren Sie nun PostgreSQL mit den folgenden Befehlen:
sudo apt-get update
sudo apt-get -y install postgresql
Starten Sie als Nächstes den PostgreSQL-Dienst, aktivieren Sie ihn beim Systemstart und überprüfen Sie den PostgreSQL-Dienststatus mit dem folgenden Befehl:
sudo systemctl start postgresql
sudo systemctl enable postgresql
sudo systemctl status postgresql
Als nächstes müssen Sie zu 'SCRAM-SHA-256' wechseln Schema aus dem md5-Verschlüsselungsschema für eine bessere Sicherheit. Wenn Sie sich remote mit PostgreSQL verbinden möchten, müssen Sie Ihre IP-Adresse in der PostgreSQL-Konfigurationsdatei zulassen. Öffnen Sie die Konfigurationsdatei, um Änderungen mit dem folgenden Befehl vorzunehmen:
sudo vim /etc/postgresql/14/main/postgresql.conf
Wenn Sie eine andere PostgreSQL-Version installiert haben, ändern Sie den obigen Befehlspfad entsprechend.
Als nächstes ändern Sie die folgenden Variablen gemäß Ihren Anforderungen:
listen_addresses = 'localhost, 134.122.38.45'
password_encryption = scram-sha-256
Speichern und beenden Sie die Datei und starten Sie den PostgreSQL-Dienst neu, um die Änderungen zu übernehmen.
sudo systemctl restart postgresql
Melden Sie sich als Nächstes mit dem folgenden Befehl bei der PostgreSQL-Shell an:
sudo -u postgres psql
Erstellen Sie dann eine Benutzerrolle und eine Datenbank für Gitea, indem Sie den folgenden Befehl ausführen:
postgres=# CREATE ROLE gitea WITH LOGIN PASSWORD '[email protected]';
postgres=# CREATE DATABASE giteadb;
postgres=# GRANT ALL PRIVILEGES ON DATABASE giteadb TO gitea;
postgres=# exit
Hier müssen Sie den Benutzernamen, den Datenbanknamen und Ihr Passwort für Gitea festlegen.
An diesem Punkt, Ihr PostgreSQL-Setup und bereit für Gitea, überprüfen Sie 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 Sie giteadb remote verwenden möchten, fügen Sie die folgende Zeile mit Ihrer IP-Adresse in /etc/postgresql/14/main/pg_hba.conf
hinzuhost giteadb gitea 134.122.38.0/32 scram-sha-256
Schritt 3 – Git installieren und konfigurieren
Installieren Sie als Nächstes Git mit dem folgenden Befehl:
sudo apt install git
Überprüfen Sie die Git-Installation, indem Sie die Git-Version überprüfen:
git --version
Ausgabe:-
git version 2.30.2
Als Nächstes müssen Sie Ihren Namen und Ihre E-Mail-Adresse für Git festlegen.
git config --global user.name "Your Name"
git config --global user.email "[email protected]”
Sie können Ihre Git-Konfiguration mit dem folgenden Befehl überprüfen.
git config --list
Ausgabe:-
user.name=Your Name
[email protected]
Schritt 4 – Erstellen Sie einen Git-Benutzer für Gitea
Jetzt müssen Sie einen Gitea-Benutzer erstellen. Sie können dies mit dem folgenden Befehl tun:
sudo adduser \
--system \
--shell /bin/bash \
--gecos 'Git Version Control' \
--group \
--disabled-password \
--home /home/git \
git
Dadurch wird ein neuer Benutzer git erstellt.
Schritt 5 – Gitea installieren und konfigurieren
Gehen Sie zur Gitea-Downloadseite und laden Sie die neueste verfügbare Version der Gitea-Binärdatei herunter. Zum Zeitpunkt der Erstellung dieses Tutorials ist die neueste Version von Gitea 1.15.7. Sie können die VERSION-Variable 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
Verschieben Sie als Nächstes die Gitea-Binärdatei mit dem folgenden Befehl in den Systempfad:
sudo mv /tmp/gitea /usr/local/bin
Legen Sie als Nächstes die Ausführungsberechtigung für die Gitea-Binärdatei fest, indem Sie den folgenden Befehl im Terminal ausführen:
chmod +x /usr/local/bin/gitea
Als nächstes müssen Sie eine Verzeichnisstruktur für Gitea erstellen, führen Sie dazu die folgenden Befehle aus:
sudo mkdir -p /etc/gitea
sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
Geben Sie als Nächstes die erforderlichen Berechtigungen, damit Gitea mit den folgenden Befehlen ordnungsgemäß 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
Erstellen Sie als Nächstes eine systemd-Dienstdatei für Gitea mit dem folgenden Befehl:
vim /etc/systemd/system/gitea.service
Fügen Sie den folgenden Code 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
Speichern und beenden Sie die Datei. Laden Sie dann den systemd-Daemon neu und starten Sie den Gitea-Dienst mit dem folgenden Befehl:
sudo systemctl daemon-reload
sudo systemctl start gitea
Als nächstes müssen Sie den Gitea-Dienst beim Systemneustart aktivieren:
sudo systemctl enable gitea
Überprüfen Sie als Nächstes den Status von Gitea mit dem folgenden Befehl:
sudo systemctl status gitea
Sie sollten die folgende Ausgabe sehen:
Wie Sie sehen, wird Gitea standardmäßig auf Port 3000 gestartet und ausgeführt. Sie können den Gitea-Port mit dem folgenden Befehl überprüfen:
netstat -tulpan | grep 3000
Sie sollten eine Ausgabe wie die folgende sehen:
tcp6 0 0 :::3000 :::* LISTEN 43778/gitea
Schritt 6 – Greifen Sie auf die Gitea-Weboberfläche zu
Gitea ist jetzt aktiv und lauscht standardmäßig auf Port 3000. Öffnen Sie Ihren Browser und geben Sie https://YOURIPADDRESS:3000 ein.
Als nächstes füllen Sie die erforderlichen Parameter wie folgt aus:
Datenbankeinstellungen
Datenbanktyp:PostgreSQL
Host:127.0.0.1:5432
Benutzername:gitea
Passwort:Geben Sie das Passwort ein, das Sie bei der Erstellung der Postgres-Rolle gewählt haben.
Datenbankname:giteadb
SSL:Deaktivieren
Allgemeine Einstellungen
Seitentitel:Titel Ihrer Wahl.
Repository-Stammpfad:/var/lib/gitea/data/repositories
Git LFS-Stammpfad:/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
Protokollpfad:/var/lib/gitea/log
In diesem Stadium können Sie Ihre E-Mail-, Server- und Drittanbietereinstellungen konfigurieren oder dies später tun. Sie sollten jedoch den Administrator konfigurieren
Benutzername um sich bei Gitea anzumelden. Gehen Sie daher zu den optionalen Einstellungen und geben Sie die Details der Administratorkontoeinstellungen ein und erstellen Sie 'Administratorbenutzer' für Gitea.
Klicken Sie anschließend auf die Schaltfläche „Gitea installieren“. Nach erfolgreicher Installation werden Sie auf das auf der folgenden Seite dargestellte Gitea-Dashboard weitergeleitet:
Jetzt können Sie Gitea erkunden und über die Site-Administrationsoption Ihres Administratorkontos andere Dienste von Drittanbietern einrichten, z. B. das Active Directory von Windows in Gitea integrieren.
Schritt 7 – E-Mail-Benachrichtigungen einrichten
Sie können E-Mail-Benachrichtigungen in Gitea mit Sendmail oder über einen E-Mail-Dienst eines Drittanbieters wie Amazon SES, Sendgrid aktivieren.
Um E-Mail-Benachrichtigungen zu aktivieren, öffnen Sie die Gitea-Konfigurationsdatei mit dem folgenden Befehl:
vim /etc/gitea/app.in
Bearbeiten Sie als Nächstes den folgenden Abschnitt in der Datei und fügen Sie den folgenden Code gemäß Ihren E-Mail-Einstellungen hinzu.
[mailer]
ENABLED = true
FROM = [email protected]
MAILER_TYPE = smtp
HOST = mail.example.com:587
IS_TLS_ENABLED = true
USER = [email protected]
PASSWD = password
Speichern und beenden Sie die Datei und starten Sie den Gitea-Dienst neu, um die Änderungen zu übernehmen:
sudo systemctl restart gitea
Schritt 10 – Gitea aktualisieren
Das Upgrade von Gitea ist ein müheloser Prozess, und Sie müssen nur die Gitea-Binärdatei herunterladen und ersetzen.
Stoppen Sie zuerst den Gitea-Dienst:
sudo systemctl stop gitea
Laden Sie als Nächstes die Gitea-Binärdatei herunter und installieren Sie 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
Als nächstes starten Sie den Gitea-Dienst mit dem folgenden Befehl:
sudo systemctl start gitea
Jetzt ist Ihr Gitea ohne Ausfallzeiten auf dem neuesten Stand.
Schlussfolgerung
Herzliche Glückwünsche! Sie haben den Gitea-Git-Dienst erfolgreich auf Debian 11 installiert. Sie können Gitea jetzt einfach aktualisieren und Ihr Git-Repository über einen Webbrowser verwalten. Außerdem kannst du mich gerne fragen, wenn du Fragen hast.