Wie man Gitea auf Ubuntu 18.04 installiert

Gitea ist ein freies und quelloffenes Versionskontrollsystem ähnlich wie GitHub. Gitea ist ein Klon von Gogs, einer leichtgewichtigen Code-Hosting-Lösung, die in Go geschrieben und unter der MIT-Lizenz veröffentlicht wurde. Es ist einfach, schnell, leicht zu benutzen, skalierbar und eine großartige Alternative zu anderen Git-Diensten. Gitea kommt mit vielen Features, wie z.B. Unterstützung für mehrere Datenbanken, Unterstützung für mehrere Betriebssysteme, einfacher Upgrade-Prozess, CSV-Unterstützung, integriertes Git-powered Wiki, eingebaute Container Registry, externe Git-Spiegelung, Issues und Time Tracking, Repository Branching und vieles mehr.

In diesem Tutorial erklären wir dir, wie du Gitea Git Server auf Ubuntu 18.04 Server installierst.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 18.04 läuft.
  • Eine statische IP-Adresse 192.168.0.101 ist auf deinem Server eingerichtet.
  • Ein nicht-root Benutzer mit sudo Rechten.

Erste Schritte

Bevor du beginnst, musst du dein System mit der neuesten Version aktualisieren. Du kannst dies tun, indem du den folgenden Befehl ausführst:

sudo apt-get update -y
sudo apt-get upgrade -y

Erforderliche Pakete installieren

Zuerst musst du MariaDB Server, git, unzip und wget auf deinem Server installieren. Du kannst sie alle mit dem folgenden Befehl installieren:

sudo apt-get install mariadb-server wget unzip git -y

Sobald alle Pakete installiert sind, starte den MariaDB Dienst und aktiviere ihn mit dem folgenden Befehl, um ihn beim Booten zu starten:

sudo systemctl start mariadb
sudo systemctl enable mariadb

MariaDB konfigurieren

Standardmäßig ist MariaDB nicht abgesichert. Daher musst du es sichern. Du kannst dies tun, indem du das mysql_secure_installation Skript ausführst:

sudo mysql_secure_installation

Dieses Skript wird dein aktuelles Root-Passwort ändern, anonyme Benutzer entfernen und den Root-Login aus der Ferne verbieten, wie unten gezeigt:

    Enter current password for root (enter for none):
    Set root password? [Y/n]: N
    Remove anonymous users? [Y/n]: Y
    Disallow root login remotely? [Y/n]: Y
    Remove test database and access to it? [Y/n]:  Y
    Reload privilege tables now? [Y/n]:  Y

Sobald MariaDB gesichert ist, logge dich in die MariaDB Shell ein:

mysql -u root -p

Gib dein Root-Passwort ein, wenn du dazu aufgefordert wirst. Erstelle dann eine Datenbank und einen Benutzer für Gitea:

MariaDB [(none)]> SET GLOBAL innodb_file_per_table = ON;
MariaDB [(none)]> CREATE DATABASE giteadb;
MariaDB [(none)]> CREATE USER 'giteauser'@'localhost' IDENTIFIED BY 'password';

Als nächstes erteile Gitea alle Rechte mit dem folgenden Befehl:

MariaDB [(none)]> GRANT ALL ON giteadb.* TO 'giteauser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Als nächstes aktualisierst du den Zeichensatz der Datenbank mit dem folgenden Befehl:

ALTER DATABASE giteadb CHARACTER SET = utf8mb4 COLLATE utf8mb4_unicode_ci;

Als nächstes lösche die Privilegien und verlasse die MariaDB Shell:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Als nächstes musst du die MariaDB Standardkonfigurationsdatei bearbeiten und einige Änderungen vornehmen:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Füge die folgenden Zeilen hinzu:

innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_default_row_format = dynamic

Speichere und schließe die Datei. Starte dann den MariaDB Dienst neu, um die Änderungen zu übernehmen:

sudo systemctl restart mariadb

Kreta Gitea Verzeichnisstruktur

Als erstes musst du einen Gitea Benutzer erstellen. Dies kannst du mit dem folgenden Befehl tun:

sudo adduser --system --shell /bin/bash --group --disabled-password --home /home/gitea gitea

Als nächstes erstellst du eine Verzeichnisstruktur für Gitea mit dem folgenden Befehl:

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

Als nächstes gibst du dem Gitea-Benutzer mit folgendem Kommando die Rechte:

sudo chown gitea:gitea /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
sudo chmod 770 /etc/gitea

Gitea installieren

Als nächstes musst du das Gitea Paket aus dem Git Hub Repository herunterladen. Du kannst es mit dem folgenden Befehl herunterladen:

wget https://github.com/go-gitea/gitea/releases/download/v1.5.1/gitea-1.5.1-linux-amd64

Verschiebe das heruntergeladene Binary mit folgendem Befehl in das Verzeichnis /usr/local/bin:

sudo mv gitea-1.5.1-linux-amd64 /usr/local/bin/gitea

Als nächstes gibst du dem Gitea Binary mit dem folgenden Befehl die richtigen Rechte:

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

Als Nächstes erstelle eine systemd Service Datei, um den Gitea Dienst zu verwalten, mit dem folgenden Befehl:

sudo nano /etc/systemd/system/gitea.service

Füge die folgenden Zeilen hinzu:

[Unit]
Description=Gitea
After=syslog.target
After=network.target
After=mysql.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
RestartSec=2s
Type=simple
User=gitea
Group=gitea
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=gitea HOME=/home/gitea GITEA_WORK_DIR=/var/lib/gitea

[Install]
WantedBy=multi-user.target

Speichere und schließe die Datei, wenn du fertig bist. Dann lade systemd neu und starte den Gitea Dienst mit dem folgenden Befehl:

sudo systemctl daemon-reload
sudo systemctl start gitea

Du kannst nun den Status von Gitea mit dem folgenden Befehl überprüfen:

sudo systemctl status gitea

Output:

? gitea.service - Gitea
   Loaded: loaded (/etc/systemd/system/gitea.service; disabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-01-06 08:04:52 UTC; 3s ago
 Main PID: 6030 (gitea)
    Tasks: 8 (limit: 1114)
   CGroup: /system.slice/gitea.service
           ??6030 /usr/local/bin/gitea web -c /etc/gitea/app.ini

Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [T] Log path: /var/lib/gitea/log
Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] Gitea v1.5.1 built with: bindata, sqlite
Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] Log Mode: Console(Info)
Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] XORM Log Mode: Console(Info)
Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] Cache Service Enabled
Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] Session Service Enabled
Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] SQLite3 Supported
Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] Run Mode: Development
Jan 06 08:04:53 ubuntu1804 gitea[6030]: 2019/01/06 08:04:53 Serving [::]:3000 with pid 6030
Jan 06 08:04:53 ubuntu1804 gitea[6030]: 2019/01/06 08:04:53 [I] Listen: http://0.0.0.0:3000

Access Gitea Web Interface

Gitea ist nun gestartet und lauscht auf Port 3000. Öffne nun deinen Webbrowser und gib die URL http://192.168.0.101:3000/install ein. Du wirst auf die folgende Seite weitergeleitet:

Hier gibst du alle erforderlichen Informationen ein, wie den Namen der Gitea-Datenbank, den Benutzernamen, das Passwort, die Basis-URL, den Run as-Benutzernamen, den Admin-Benutzernamen, das Passwort und den Log-Pfad. Klicke dann auf den Button Gitea installieren. Sobald die Installation erfolgreich abgeschlossen wurde, wirst du zum Gitea Dashboard weitergeleitet, das auf der folgenden Seite zu sehen ist:

Herzlichen Glückwunsch! Du hast den Gitea Git Service erfolgreich auf dem Ubuntu 18.04 Server installiert. Du kannst nun dein Git Repository einfach über einen Webbrowser verwalten.

Das könnte dich auch interessieren …