In diesem Tutorial zeigen wir Ihnen, wie Sie die Gitea-Software auf Ihrem VPS zusammen mit Nginx als Webserver und einem kostenlosen Let’s Encrypt-Zertifikat unter Verwendung von Ubuntu 20.04 installieren.
Gitea ist eine Software, die in der Programmiersprache „Go“ geschrieben wurde und Bitbucket, GitHub und Gitlab ähnelt. Die Software wird für selbst gehostete Git-Dienste verwendet und ist mit mehreren Betriebssystemen wie Linux, Windows, macOS und ARM kompatibel.
Die Installation dauert nicht länger als 10 Minuten und Sie werden es genießen, während Sie es installieren. Fangen wir an!
Voraussetzungen
- Neuinstallation von Ubuntu 20.04
- Benutzerberechtigungen:Root- oder Nicht-Root-Benutzer mit sudo-Berechtigungen
Schritt Schritt 1. Aktualisieren Sie das System
Eine Neuinstallation von Ubuntu 20.04 erfordert ein Systemupdate und deshalb müssen wir die folgenden Befehle ausführen.
sudo apt update -y && sudo apt upgrade -y
Schritt 2. Installieren Sie die erforderlichen Abhängigkeiten
Diese Pakete müssen installiert werden, bevor wir mit der Installation fortfahren.
apt install gnupg2 git unzip -y
Schritt 3. Nginx-Webserver installieren
Der Nginx-Webserver kann mit dem folgenden Befehl installiert werden:
sudo apt install nginx -y
Sobald die Installation abgeschlossen ist, können Sie den Status des Nginx-Dienstes überprüfen:
sudo systemctl status nginx
Schritt 4. MariaDB-Datenbankserver installieren
MariaDB wird als Datenbank-Backend für Gitea verwendet und kann mit dem folgenden Befehl installiert werden:
sudo apt-get install mariadb-server -y
Schritt 5. MariaDB-Datenbankserver konfigurieren
Sobald der Datenbankserver erfolgreich installiert ist, müssen wir ihn konfigurieren.
Melden Sie sich mit „mysql bei der MariaDB-Shell an ” Befehl und aktivieren Sie die Innodb-Tabelle:
MariaDB [(none)]> SET GLOBAL innodb_file_per_table = ON;
Beenden Sie die MariaDB-Shell mit „exit “ und öffnen Sie die Standard-MariaDB-Konfigurationsdatei:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Fügen Sie die folgenden Codezeilen unter „mysqld ”-Abschnitt
innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_default_row_format = dynamic
Sobald die Änderungen vorgenommen wurden, starten Sie den MariaDB-Dienst neu, damit die Änderungen wirksam werden.
sudo systemctl restart mariadb
Schritt 6. Datenbank und Datenbankbenutzer erstellen
Die Gitea-Software benötigt eine Datenbank und einen Benutzer, damit sie ordnungsgemäß funktionieren kann. Um sie zu erstellen und die entsprechenden Berechtigungen zu erteilen, melden Sie sich bitte wieder bei der MariaDB-Shell an und führen Sie die folgenden Befehle aus:
MariaDB [(none)]>CREATE DATABASE gitea;
MariaDB [(none)]>CREATE USER 'gitea'@'localhost' IDENTIFIED BY 'strongpasswordhere';
MariaDB [(none)]>GRANT ALL ON gitea.* TO 'gitea'@'localhost' IDENTIFIED BY 'strongpasswordhere' WITH GRANT OPTION;
MariaDB [(none)]>ALTER DATABASE gitea CHARACTER SET = utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]>FLUSH PRIVILEGES;
MariaDB [(none)]>exit;
Schritt 7. Gitea installieren
Auf diesen Schritt haben wir so lange gewartet und das ist die Installation der Gitea-Software. Bevor wir es installieren, müssen wir einen Systembenutzer erstellen, um Gitea mit dem folgenden Befehl auszuführen:
sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git
Laden Sie als Nächstes die neueste Version von Gitea auf Ihren Server herunter.
sudo wget https://dl.gitea.io/gitea/1.14.6/gitea-1.14.6-linux-amd64
Sobald Gitea heruntergeladen ist, müssen wir die Binärdatei in den Systempfad kopieren und die richtigen Berechtigungen festlegen:
sudo cp gitea-1.14.6-linux-amd64 /usr/bin/gitea && chmod 755 /usr/bin/gitea
Als Nächstes erstellen Sie ein Gitea-Verzeichnis zum Speichern der Daten und Protokolle zusammen mit ihren Berechtigungen:
sudo mkdir -p /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown git:git /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
sudo chmod 770 /etc/gitea
Schritt 8. Gitea-Dienst erstellen
Erstellen Sie eine leere Datei:
sudo nano /etc/systemd/system/gitea.service
Und importieren Sie die folgenden Codezeilen:
[Unit]
Description=Gitea
After=syslog.target
After=network.target
After=mysql.service
[Service]
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/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
Nachdem Sie die Datei mit Inhalt erstellt haben, laden Sie die Konfigurationsdatei neu, aktivieren und starten Sie den Gitea-Dienst.
sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea
Um zu überprüfen, ob Gitea ordnungsgemäß läuft, führen Sie den folgenden Befehl aus:
sudo systemctl status gitea
Die Ausgabe sollte ungefähr so aussehen:
# sudo systemctl status gitea
● gitea.service - Gitea
Geladen:geladen (/etc/systemd/system/gitea.service; aktiviert; Herstellervoreinstellung:aktiviert)
Aktiv:aktiv (laufend) seit Mo 09.08.2021 23:36:36 MESZ; Vor 8min
Haupt-PID:42187 (gitea)
Aufgaben:6 (Limit:4652)
Speicher:111,8 MB
CGroup:/system.slice/gitea.service
└─42187 /usr/bin/gitea web -c /etc/gitea/app.ini
Schritt 9. Nginx als Reverse Proxy für Gitea
Erstellen Sie zuerst eine neue Nginx-Konfigurationsdatei:
sudo nano /etc/nginx/conf.d/gitea.conf
Fügen Sie die folgenden Codezeilen hinzu:
upstream gitea {
server 127.0.0.1:3000;
}
server {
listen 80;
server_name gitea.yourdomain.com;
root /var/lib/gitea/public;
access_log off;
error_log off;
location / {
try_files maintain.html $uri $uri/index.html @node;
}
location @node {
client_max_body_size 0;
proxy_pass http://localhost:3000;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_max_temp_file_size 0;
proxy_redirect off;
proxy_read_timeout 120;
}
}
Sobald die Datei erstellt ist, speichern Sie sie, schließen Sie sie und überprüfen Sie die Nginx-Konfiguration mit dem folgenden Befehl:
nginx -t
Die Ausgabe sollte sein:
#nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Wenn die Konfiguration in Ordnung ist, starten Sie den Nginx-Dienst neu, um die neuesten Änderungen zu erhalten.
systemctl restart nginx
Schritt 10. Installieren Sie das kostenlose Let’s Encrypt SSL-Zertifikat
Als nächstes müssen Sie ein kostenloses „Let’s Encrypt“-SSL-Zertifikat installieren. „Let’s Encrypt“ ist derzeit einer der beliebtesten TLS-Verschlüsselungsanbieter der letzten Jahre. Es ist die weltweit größte Zertifizierungsstelle, die ansonsten von über 250 Millionen Websites verwendet wird.
Zuerst müssen Sie die Certbot-Software mit dem folgenden Befehl auf dem Server installieren:
sudo apt install certbot python3-certbot-nginx -y
Sobald der Certbot installiert ist, können wir das Zertifikat für die Domain installieren:
sudo certbot --nginx -d gitea.example.com
Während der Installation können Sie die Umleitungsoption wählen und alle Anfragen von HTTP werden auf HTTPS umgeleitet.
Nach erfolgreicher Installation erhalten Sie die folgende ähnliche Meldung:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/gitea.example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/gitea.example.com/privkey.pem
11. Sicherer Zugriff auf die Gitea-Website
Wenn nun jeder Schritt abgeschlossen ist, können wir auf unsere Gitea-Website unter https://gitea.example.com zugreifen. Geben Sie das MySQL-Benutzerkennwort ein, das Sie in Schritt 6 erstellt haben. Scrollen Sie am Ende der Seite nach unten und klicken Sie auf „Gitea installieren “.
Herzliche Glückwünsche! Sie haben die Gitea-Software erfolgreich installiert und können sie jetzt verwenden. Natürlich können Sie einfach eines unserer Linux-VPS-Hostingpakete abonnieren und unsere Experten alles innerhalb von Minuten völlig kostenlos einrichten lassen.
PS. Wenn Ihnen dieser Beitrag zur Installation von Gitea auf Nginx mit Free Lets Encrypt SSL auf Ubuntu 20.04 gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken über die Schaltflächen auf der linken Seite oder hinterlassen Sie einfach unten eine Antwort. Danke.