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

So installieren Sie Gitea unter Ubuntu 20.04

Gitea ist ein schneller und benutzerfreundlicher selbst gehosteter Git-Server, der in Go geschrieben wurde. Es enthält einen Repository-Dateieditor, Projektproblemverfolgung, Benutzerverwaltung, Benachrichtigungen, integriertes Wiki und vieles mehr.

Gite 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 Gitea ausprobieren.

Dieser Artikel erklärt, wie man Gitea unter Ubuntu 20.04 installiert und konfiguriert.

Voraussetzungen #

Gitea unterstützt SQLite-, PostgreSQL- und MySQL/MariaDBas-Datenbank-Backends.

SQLite wird nur für kleine Installationen empfohlen. Größere Installationen sollten MySQL oder PostgreSQL verwenden.

Wir verwenden SQLite als Datenbank für Gitea. Wenn SQLite nicht auf Ihrem Ubuntu-System installiert ist, installieren Sie es, indem Sie die folgenden Befehle als sudo-Benutzer eingeben:

sudo apt updatesudo apt install sqlite3

Installieren von Gitea #

Gitea stellt Docker-Images bereit und kann aus der Quelle, binär und als Paket installiert werden. Wir installieren Gitea aus der Binärdatei.

Installieren Sie Git #

Der erste Schritt besteht darin, Giton auf Ihrem Server zu installieren:

sudo apt updatesudo apt install git

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

git --version
git version 2.25.1

Erstelle einen Git-Benutzer #

Erstellen Sie einen neuen Systembenutzer, der die Gitea-Anwendung ausführt, indem Sie Folgendes eingeben:

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

Der obige Befehl erstellt einen neuen Benutzer und eine neue Gruppe mit dem Namen git , und legen Sie das Home-Verzeichnis auf /home/git fest . Die Ausgabe sieht in etwa so aus:

Adding system user `git' (UID 112) ...
Adding new group `git' (GID 118) ...
Adding new user `git' (UID 112) with group `git' ...
Creating home directory `/home/git' ...

Gitea-Binärdatei # herunterladen

Gehen Sie zur Gitea-Download-Seite und laden Sie die neueste Binärdatei für Ihre Architektur herunter. Zum Zeitpunkt des Schreibens ist die neueste Version 1.10.2. Wenn eine neue Version verfügbar ist, ändern Sie die VERSION Variable im folgenden Befehl.

Verwenden Sie wget um die Gitea-Binärdatei in /tmp herunterzuladen Verzeichnis:

VERSION=1.14.1sudo wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64

Sie können gitea ausführen Binär von jedem Ort. Wir folgen der Konvention und verschieben die Binärdatei nach /usr/local/bin Verzeichnis:

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

Machen Sie die Binärdatei ausführbar:

sudo chmod +x /usr/local/bin/gitea

Führen Sie die folgenden Befehle aus, um die Verzeichnisse zu erstellen und die erforderlichen Berechtigungen und Eigentumsrechte festzulegen:

sudo mkdir -p /var/lib/gitea/{custom,data,log}sudo chown -R git:git /var/lib/gitea/sudo chmod -R 750 /var/lib/gitea/sudo mkdir /etc/giteasudo chown root:git /etc/giteasudo chmod 770 /etc/gitea

Die obige Verzeichnisstruktur wird von der offiziellen Gitea-Dokumentation empfohlen.

Die Berechtigungen der Datei /etc/gitea Verzeichnis sind auf 770 gesetzt damit der Installationsassistent die Konfigurationsdatei erstellen kann. Sobald die Installation abgeschlossen ist, werden wir restriktivere Berechtigungen festlegen.

Erstellen Sie eine Systemd-Unit-Datei #

Wir führen Gitea als Systemdienst aus.

Laden Sie die beispielhafte systemd-Unit-Datei in /etc/systemd/system herunter Verzeichnis durch Eingabe von:

sudo wget https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/systemd/gitea.service -P /etc/systemd/system/

Sie müssen die Datei nicht bearbeiten, sie ist so konfiguriert, dass sie mit unserem Setup übereinstimmt.

Aktivieren und starten Sie den Gitea-Dienst:

sudo systemctl daemon-reloadsudo systemctl enable --now gitea

Stellen Sie sicher, dass Gitea ausgeführt wird:

sudo systemctl status gitea
● gitea.service - Gitea (Git with a cup of tea)
     Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2021-05-06 05:32:04 UTC; 7s ago
   Main PID: 77781 (gitea)
      Tasks: 6 (limit: 470)
     Memory: 130.6M
     CGroup: /system.slice/gitea.service
             └─77781 /usr/local/bin/gitea web --config /etc/gitea/app.ini
...

Gitea konfigurieren #

Nachdem Gitea heruntergeladen wurde und ausgeführt wird, können wir die Installation über die Weboberfläche abschließen.

Standardmäßig wartet Gitea auf Port 3000 auf Verbindungen auf allen Netzwerkschnittstellen.

Wenn auf Ihrem Server eine UFW-Firewall läuft, müssen Sie den Gitea-Port öffnen. Um Datenverkehr auf Port 3000 zuzulassen , geben Sie den folgenden Befehl ein:

sudo ufw allow 3000/tcp

Ö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, /var/lib/gitea/data/gitea.db

Allgemeine Anwendungseinstellungen:

  • Site-Titel:Geben Sie den Namen Ihrer Organisation ein.
  • Repository-Stammpfad:Belassen Sie die Standardeinstellung var/lib/gitea/data/gitea-repositories .
  • Git-LFS-Stammpfad:Belassen Sie den Standard /var/lib/gitea/data/lfs .
  • Als Benutzername ausführen:git
  • SSH-Serverdomäne:Geben Sie Ihre Domäne oder Server-IP-Adresse ein.
  • SSH-Port:22, ändern Sie ihn, wenn SSH auf einem anderen Port lauscht
  • Gitea HTTP Listen Port:3000
  • Gitea-Basis-URL:Verwenden Sie http und Ihre Domain- oder Server-IP-Adresse.
  • Protokollpfad:Belassen Sie den Standard /var/lib/gitea/log
Sie können die Einstellungen jederzeit ändern, indem Sie die Gitea-Konfigurationsdatei bearbeiten.

Um die Installation zu starten, klicken Sie auf die Schaltfläche „Gitea installieren“.

Die Installation erfolgt sofort. Sobald Sie fertig sind, werden Sie zur Anmeldeseite weitergeleitet.

Klicken Sie auf „Benötigen Sie ein Konto? Jetzt registrieren." Verknüpfung. Der erste registrierte Benutzer wird automatisch zur Admin-Gruppe hinzugefügt.

Ändern Sie die Berechtigungen der Gitea-Konfigurationsdatei in schreibgeschützt mit:

sudo chmod 750 /etc/giteasudo chmod 640 /etc/gitea/app.ini

Das ist es. Gitea wurde auf Ihrem Ubuntu-Rechner installiert.

Konfigurieren von Nginx als SSL-Terminierungsproxy #

Dieser Schritt ist optional, wird aber dringend empfohlen. SSL-Beendigung bedeutet, dass Nginx als Vermittler zwischen der Gitea-Anwendung und Webclients fungiert, sodass Sie über HTTPS auf Gitea zugreifen können.

Um Nginx als Reverse-Proxy zu verwenden, benötigen Sie eine Domain oder Subdomain, die auf die öffentliche IP Ihres Servers verweist. In diesem Beispiel verwenden wir git.example.com .

Installieren Sie zunächst Nginx und generieren Sie mithilfe der folgenden Anleitungen ein kostenloses SSL-Zertifikat von Let’s Encrypt:

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

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

sudo nano /etc/nginx/sites-enabled/git.example.com
/etc/nginx/sites-enabled/git.example.com
server {
    listen 80;
    server_name git.example.com;

    include snippets/letsencrypt.conf;
    return 301 https://git.example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name git.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/git.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/git.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/git.example.com/chain.pem;
    include snippets/letsencrypt.conf;
    include snippets/ssl.conf;

    # log files
    access_log /var/log/nginx/git.example.com.access.log;
    error_log /var/log/nginx/git.example.com.error.log;

    # Handle / requests
    location / {
       proxy_redirect off;
       proxy_pass http://127.0.0.1:3000;
    }
}

Vergessen Sie nicht, git.example.com durch Ihre Gitea-Domain zu ersetzen und den richtigen Pfad zu den SSL-Zertifikatsdateien festzulegen. Der HTTP-Datenverkehr wird auf HTTPS umgeleitet

Starten Sie den Nginx-Dienst neu, damit die Änderungen wirksam werden:

sudo systemctl restart nginx

Ändern Sie als Nächstes die Gitea-Domäne und die Stamm-URL. Öffnen Sie dazu die Konfigurationsdatei und bearbeiten Sie die folgenden Zeilen:

sudo nano /etc/gitea/app.ini
/etc/gitea/app.ini
[server]
DOMAIN           = git.example.com
ROOT_URL         = https://git.example.com/

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

sudo systemctl restart gitea

An diesem Punkt ist der Gitea-Proxy konfiguriert und Sie können darauf zugreifen unter:https://git.example.com

E-Mail-Benachrichtigungen konfigurieren #

Wenn Sie möchten, dass Ihre Gitea-Instanz Benachrichtigungs-E-Mails sendet, können Sie entweder Postfix installieren oder einen Transaktions-E-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 /etc/gitea/app.ini
/etc/gitea/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 Gitea-Dienst neu, damit die Änderungen wirksam werden:

sudo systemctl restart gitea

Um die Einstellungen zu überprüfen und eine Test-E-Mail zu senden, melden Sie sich bei Gitea an und gehen Sie zu:Site-Administration> Konfiguration> SMTP-Mailer-Konfiguration.

Gitea ermöglicht es Ihnen auch, sich mit Slack zu verbinden, indem Sie einen Web-Webhook erstellen und Benachrichtigungen an Ihre Slack-Kanäle senden.

Aktualisiere Gitea #

Um auf die neueste Gitea-Version zu aktualisieren, laden Sie einfach die Binärdatei herunter und ersetzen Sie sie.

  1. Stoppen Sie den Gitea-Dienst:

    sudo systemctl stop gitea
  2. Laden Sie die neueste Gitea-Version herunter und verschieben Sie sie nach /usr/local/bin Verzeichnis:

    VERSION=<THE_LATEST_GITEA_VERSION>wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64sudo mv /tmp/gitea /usr/local/bin
  3. Machen Sie die Binärdatei ausführbar:

    sudo chmod +x /usr/local/bin/gitea
  4. Starten Sie den Gitea-Dienst neu:

    sudo systemctl restart gitea

Das ist es.


Ubuntu
  1. So installieren Sie Docker unter Ubuntu 18.04

  2. So installieren Sie Apache unter Ubuntu 18.04

  3. So installieren Sie MariaDB 10.4 auf Ubuntu 18.04

  4. So installieren Sie MongoDB unter Ubuntu 18.04

  5. So installieren Sie Jenkins unter Ubuntu 18.04

So installieren Sie Asterisk auf Ubuntu 18.04

So installieren Sie Tomcat 9 unter Ubuntu 18.04

So installieren Sie Webmin unter Ubuntu 18.04

So installieren Sie Gitea unter Ubuntu 18.04

So installieren Sie Gitea unter Ubuntu 18.04 LTS

So installieren Sie Gitea auf Ubuntu 20.04 LTS