In diesem Tutorial zeigen wir Ihnen, wie Sie Gitea auf Debian 9 installieren. Wir zeigen Ihnen auch, wie Sie den Gitea-Git-Dienst auf einem Debian 9 VPS bereitstellen.
Gitea ist ein kostenloses, quelloffenes und leichtgewichtiges Versionskontrollsystem, das in Golang geschrieben wurde. Es ist ein selbst gehosteter Git-Dienst und eine alternative Lösung zu GitHub, Bitbucket und Gitlab. Sein Hauptziel ist es, den einfachsten Weg zum Einrichten eines selbst gehosteten Git-Dienstes bereitzustellen. Es läuft auf mehreren Plattformen, darunter Linux, macOS und Windows. Gitea unterstützt auch mehrere Datenbanksysteme, darunter SQLite, MySQL und PostgreSQL, standardmäßig. Die Installation von Gitea auf Debian 9 sollte nicht länger als 10 Minuten dauern. Fangen wir an.
Voraussetzungen:
- Ein Debian 9 VPS mit aktiviertem Root-Zugriff oder ein Benutzer mit sudo-Berechtigungen.
- Ein gültiger Domänenname, der auf Ihre Server-IP-Adresse verweist. In diesem Tutorial verwenden wir
gitea.mydomain.com
.
Schritt 1:Anmelden und Pakete aktualisieren
Zuerst müssen wir uns mit SSH bei unserem Server anmelden. Sie können dies tun, indem Sie diesen Befehl eingeben:
ssh root@IP_Address -p Port_Number
Denken Sie daran, „root“ durch Ihren Benutzernamen zu ersetzen, wenn Sie nicht den Root-Benutzer verwenden. Ändern Sie „IP_Address“ und „Port_Number“ entsprechend der IP-Adresse und SSH-Portnummer Ihres Servers.
Sobald Sie angemeldet sind, sollten Sie alle Ihre Pakete auf die neuesten verfügbaren Versionen aktualisieren.
apt-get update -y apt-get upgrade -y
Schritt 2:MariaDB-Datenbank installieren und konfigurieren
Gitea verwendet SQLite, MySQL/MariaDB und PostgreSQL, um seine Daten zu speichern. Hier verwenden wir MariaDB für unsere Datenbanklösung.
Lassen Sie uns MariaDB installieren, indem Sie den folgenden Befehl ausführen:
apt-get install mariadb-server mariadb-client -y
Führen Sie nach der Installation den folgenden Befehl aus, um die MariaDB-Installation zu sichern:
mysql_secure_installation
Dieser Befehl setzt das Root-Passwort, entfernt anonyme Benutzer, verbietet Root-Login aus der Ferne und entfernt die Testdatenbank wie unten gezeigt:
Enter current password for root (enter for none): press [Enter] 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, melden Sie sich mit dem folgenden Befehl bei der MariaDB-Shell an:
mysql -u root -p
Geben Sie Ihr Root-Passwort ein, wenn Sie dazu aufgefordert werden, und ändern Sie dann GLOBAL innodeb_file_per_table
auf On
:
MariaDB [(none)]> SET GLOBAL innodb_file_per_table = ON;
Erstellen Sie als Nächstes eine Datenbank und einen Benutzer für Gitea mit dem folgenden Befehl:
MariaDB [(none)]> CREATE DATABASE gitea; MariaDB [(none)]> CREATE USER 'gitea'@'localhost' IDENTIFIED BY 'password';
Achten Sie darauf, ein eindeutiges und sicheres Passwort für Ihren Gitea MariaDB-Benutzer zu wählen.
Gewähren Sie als Nächstes Gitea alle Berechtigungen und ändern Sie die Datenbank mit dem folgenden Befehl:
MariaDB [(none)]> GRANT ALL ON gitea.* TO 'gitea'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION; MariaDB [(none)]> ALTER DATABASE gitea CHARACTER SET = utf8mb4 COLLATE utf8mb4_unicode_ci;
Leeren Sie abschließend die Berechtigungen und beenden Sie die MariaDB-Shell mit dem folgenden Befehl:
MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;
Öffnen Sie als Nächstes die MariaDB-Standardkonfigurationsdatei und optimieren Sie einige Einstellungen:
nano /etc/mysql/mariadb.conf.d/50-server.cnf
Fügen Sie die folgenden Zeilen hinzu:
innodb_file_format = Barracuda innodb_large_prefix = 1 innodb_default_row_format = dynamic
Speichern und schließen Sie die Datei. Starten Sie dann den MariaDB-Dienst neu, um die Konfigurationsänderungen zu übernehmen:
systemctl restart mariadb
Schritt 3:Gitea herunterladen und unter Debian 9 installieren
Gehen Sie zur Gitea-Downloadseite und laden Sie die neueste Version des Gitea-Binärpakets mit dem folgenden Befehl herunter:
wget https://github.com/go-gitea/gitea/releases/download/v1.9.1/gitea-1.9.1-linux-amd64
Kopieren Sie nach dem Herunterladen die heruntergeladene Binärdatei nach /usr/local/bin
Verzeichnis:
cp gitea-1.9.1-linux-amd64 /usr/local/bin/gitea
Geben Sie als Nächstes die Ausführungsberechtigung mit dem folgenden Befehl ein:
chmod 755 /usr/local/bin/gitea
Sie können jetzt die Gitea-Version mit dem folgenden Befehl überprüfen:
gitea --version
Sie sollten die folgende Ausgabe erhalten:
Gitea version 1.9.1 built with GNU Make 4.1, go1.12.8 : bindata, sqlite, sqlite_unlock_notify
Als nächstes müssen wir eine Verzeichnisstruktur für unsere Repositorys, Konfigurations- und Protokolldateien erstellen. Führen Sie den folgenden Befehl aus, um die Verzeichnisstruktur für Gitea zu erstellen:
mkdir -p /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
Schritt 4:Erstellen Sie eine Systemd-Dienstdatei für Gitea
Jetzt müssen wir eine systemd-Dienstdatei erstellen, um den Gitea-Dienst zu verwalten. Sie können den Gitea-Dienst mit Systemd starten, stoppen und neu starten.
Führen Sie den folgenden Befehl aus, um eine systemd-Dienstdatei zu erstellen:
nano /etc/systemd/system/gitea.service
Fügen Sie die folgenden Zeilen hinzu:
[Unit] Description=Gitea After=syslog.target After=network.target After=mysql.service [Service] RestartSec=2s Type=simple User=root Group=root WorkingDirectory=/var/lib/gitea/ ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini Restart=always Environment=USER=root HOME=/root GITEA_WORK_DIR=/var/lib/gitea [Install] WantedBy=multi-user.target
Speichern und schließen Sie die Datei. Laden Sie dann die Systemd-Daemon-Liste mit dem folgenden Befehl neu:
systemctl daemon-reload
Starten Sie als Nächstes den Gitea-Dienst und aktivieren Sie ihn mit den folgenden Befehlen, damit er nach dem Systemneustart automatisch startet:
systemctl start gitea systemctl enable gitea
Sie können den Status des Gitea-Dienstes auch mit dem folgenden Befehl überprüfen:
systemctl status gitea
Sie sollten die folgende Ausgabe erhalten:
● gitea.service - Gitea Loaded: loaded (/etc/systemd/system/gitea.service; disabled; vendor preset: enabled) Active: active (running) since Wed 2019-08-21 10:44:06 UTC; 7s ago Main PID: 3995 (gitea) Tasks: 6 (limit: 7372) CGroup: /system.slice/gitea.service └─3995 /usr/local/bin/gitea web -c /etc/gitea/app.ini Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 routers/init.go:74:GlobalInit() [T] Custom path: /var/lib/gitea/custom Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 routers/init.go:75:GlobalInit() [T] Log path: /var/lib/gitea/log Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 ...dules/setting/log.go:226:newLogService() [I] Gitea v1.9.1 built with GNU Make 4.1, g Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 ...dules/setting/log.go:269:newLogService() [I] Gitea Log Mode: Console(Console:info) Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 ...les/setting/cache.go:42:newCacheService() [I] Cache Service Enabled Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 ...s/setting/session.go:45:newSessionService() [I] Session Service Enabled Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 routers/init.go:106:GlobalInit() [I] SQLite3 Supported Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 routers/init.go:37:checkRunMode() [I] Run Mode: Development Aug 21 10:44:07 debian9 gitea[3995]: 2019/08/21 10:44:07 cmd/web.go:151:runWeb() [I] Listen: http://0.0.0.0:3000 Aug 21 10:44:07 debian9 gitea[3995]: 2019/08/21 10:44:07 ...ce/gracehttp/http.go:142:Serve() [I] Serving [::]:3000 with pid 3995
Standardmäßig läuft Gitea auf Port 3000. Sie können dies mit dem folgenden Befehl überprüfen:
netstat -ant | grep 3000
Ausgabe:
tcp6 0 0 :::3000 :::* LISTEN
Schritt 5:Konfigurieren Sie Nginx als Reverse Proxy für Gitea
Wenn Sie über eine Domain auf Ihre Gitea-Installation zugreifen möchten, müssen Sie einen Reverse-Proxy erstellen.
Installieren Sie zuerst den Nginx-Webserver mit dem folgenden Befehl:
apt-get install nginx -y
Erstellen Sie nach der Installation einen neuen virtuellen Hostserverblock für Gitea:
nano /etc/nginx/sites-available/gitea.conf
Fügen Sie die folgenden Zeilen hinzu:
upstream gitea { server 127.0.0.1:3000 weight=100 max_fails=5 fail_timeout=5; } server { listen 80; server_name gitea.mydomain.com; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://gitea/; } }
Denken Sie daran, mydomain.com durch Ihre eigene registrierte Domain zu ersetzen.
Speichern und schließen Sie die Datei. Überprüfen Sie dann Nginx mit dem folgenden Befehl auf Syntaxfehler:
nginx -t
Als nächstes aktivieren Sie die virtuelle Host-Direktive mit dem folgenden Befehl:
ln -s /etc/nginx/sites-available/gitea.conf /etc/nginx/sites-enabled/
Starten Sie abschließend den Nginx-Dienst neu, um die Konfigurationsänderungen zu übernehmen:
systemctl restart nginx
Schritt 6:Greifen Sie auf den Gitea-Webinstallationsassistenten zu
Öffnen Sie nun Ihren Webbrowser und besuchen Sie die URL http://gitea.mydomain.com/install
. Sie werden auf die Installationsseite von Gitea weitergeleitet:
Geben Sie Ihre Datenbankinformationen, den Seitentitel, die Gitea-Basis-URL und Server-URL sowie die Administratorkontoinformationen ein und klicken Sie auf Gitea installieren Taste. Sobald die Installation erfolgreich abgeschlossen wurde, werden Sie zum Gitea-Dashboard-Bildschirm weitergeleitet:
Klicken Sie nun auf das + Schaltfläche, um Ihr erstes Repository zu erstellen:
Geben Sie Ihre Repository-Details an und klicken Sie auf die Schaltfläche Repository erstellen. Sobald das Repository erstellt wurde, sollten Sie die folgende Seite sehen:
Klicken Sie nun auf die Schaltfläche Datei hochladen. Sie sollten die folgende Seite sehen:
Laden Sie Ihre Datei hoch, fügen Sie im Feld „Änderungen übernehmen“ eine Beschreibung hinzu und klicken Sie auf die Schaltfläche „Änderungen übernehmen“. Sie sollten Ihre neu hochgeladene Datei auf der folgenden Seite sehen:
Herzlichen Glückwunsch! Sie haben Gitea erfolgreich auf einem Debian 9 VPS installiert und ein Testprojekt erstellt. Sie haben auch Gitea hinter dem Nginx Reverse Proxy konfiguriert. Sie können jetzt mit Gitea Ihre eigenen Repositories erstellen und diese in einer Entwicklungsumgebung bereitstellen. Weitere Informationen finden Sie in der offiziellen Gitea-Dokumentation.
Befolgen Sie diese Anleitung zur Installation von Gitea unter Ubuntu 20.04
Natürlich müssen Sie nicht i Gitea auf Debian 9 installieren wenn Sie einen Managed Debian Server bei uns haben. Sie können einfach unser Support-Team bitten, Gitea auf Debian 9 für Sie zu installieren. Sie sind rund um die Uhr verfügbar und können Ihnen bei der Installation helfen.
PS . Wenn es Ihnen gefallen hat, diesen Blogbeitrag über die Installation von Gitea auf Debian 9 zu lesen, können Sie ihn gerne über die unten stehenden Verknüpfungen in sozialen Netzwerken teilen oder einfach einen Kommentar im Kommentarbereich hinterlassen. Danke.