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.