commit 2a6e5ef90d76dcecbe1885bbe00eb40fe65c45bc Author: Jochen Hanisch Date: Mon Apr 27 22:44:53 2026 +0200 Dokumentiere Gitea-Einrichtung diff --git a/Git/Betrieb.md b/Git/Betrieb.md new file mode 100644 index 0000000..a63d369 --- /dev/null +++ b/Git/Betrieb.md @@ -0,0 +1,106 @@ +# Betrieb + +## Status prüfen + +```bash +ssh root@217.160.208.251 +systemctl status gitea +systemctl status nginx +``` + +Kurzprüfung: + +```bash +systemctl is-active gitea +systemctl is-active nginx +curl -I https://git.madformed.de/ +``` + +## Logs + +Gitea: + +```bash +journalctl -u gitea -n 100 --no-pager +tail -n 100 /var/lib/gitea/log/gitea.log +``` + +nginx: + +```bash +journalctl -u nginx -n 100 --no-pager +tail -n 100 /var/log/nginx/access.log +tail -n 100 /var/log/nginx/error.log +``` + +Let's Encrypt: + +```bash +journalctl -u certbot.timer --no-pager +certbot certificates +``` + +## Neustart + +```bash +systemctl restart gitea +systemctl reload nginx +``` + +Nach Änderungen an nginx: + +```bash +nginx -t +systemctl reload nginx +``` + +## Benutzer verwalten + +Benutzer werden vorzugsweise im Gitea-Webinterface durch einen Admin verwaltet. + +CLI-Beispiel, falls nötig: + +```bash +runuser -u git -- /usr/local/bin/gitea admin user create \ + --config /etc/gitea/app.ini \ + --username beispiel \ + --email beispiel@example.com \ + --password 'PASSWORT_NICHT_DOKUMENTIEREN' +``` + +## Backup + +Für ein einfaches Backup sollten mindestens diese Pfade gesichert werden: + +```text +/etc/gitea/app.ini +/var/lib/gitea +/etc/nginx/sites-available/gitea +/etc/letsencrypt +``` + +Gitea kann zusätzlich einen eigenen Dump erzeugen: + +```bash +runuser -u git -- /usr/local/bin/gitea dump --config /etc/gitea/app.ini --work-path /var/lib/gitea +``` + +## Updates + +Gitea wurde als Binary installiert. Ein Update besteht grundsätzlich aus: + +1. Backup erstellen. +2. Neue Gitea-Binary von der offiziellen Quelle laden. +3. Signatur prüfen. +4. `/usr/local/bin/gitea` ersetzen. +5. `systemctl restart gitea`. +6. Weboberfläche und Logs prüfen. + +## Hinweise + +- SSHFS/macFUSE wurde lokal vorbereitet, aber nicht weiter benötigt. +- Der produktive Weg für Administration ist SSH. +- Der produktive Weg für Git-Nutzung ist Gitea über HTTPS oder SSH. +- Gitea-CLI und Gitea-Weboberfläche sind unabhängig von `tea`. +- `tea` wurde bei der Einrichtung nicht verwendet. + diff --git a/Git/Gitea-Server.md b/Git/Gitea-Server.md new file mode 100644 index 0000000..e869a8e --- /dev/null +++ b/Git/Gitea-Server.md @@ -0,0 +1,127 @@ +# Gitea-Server + +## Server + +- Hostname/DNS: `git.madformed.de` +- IPv4: `217.160.208.251` +- SSH: `root@217.160.208.251` +- SSH-Port: `22` +- Betriebssystem: Ubuntu 24.04.4 LTS +- Kernel: Linux 6.8.0-110-generic + +## Installierte Pakete + +Zusätzlich zur vorhandenen Git-Installation wurden installiert: + +- `nginx` +- `certbot` +- `python3-certbot-nginx` +- `sqlite3` +- `wget` +- `gnupg` +- `ca-certificates` + +## Git + +Git war bereits vorhanden und funktionsfähig. + +```text +/usr/bin/git +git version 2.43.0 +``` + +Ein Smoke-Test mit `git init`, `git add`, `git commit` und `git log` war erfolgreich. + +## Gitea + +Gitea wurde als offizielle Linux-amd64-Binary installiert. + +```text +/usr/local/bin/gitea +gitea version 1.26.1 +``` + +Die Signatur der Binary wurde gegen den offiziellen Gitea-Schlüssel geprüft. + +```text +Primary key fingerprint: +7C9E 6815 2594 6888 62D6 2AF6 2D9A E806 EC15 92E2 +``` + +## Systembenutzer + +Für Gitea wurde der Systembenutzer `git` angelegt. + +- Benutzer: `git` +- Home: `/home/git` +- Gruppe: `git` +- Shell: `/bin/bash` + +## Pfade + +```text +/usr/local/bin/gitea +/etc/gitea/app.ini +/var/lib/gitea +/var/lib/gitea/data/gitea.db +/var/lib/gitea/data/gitea-repositories +/var/lib/gitea/log +/etc/systemd/system/gitea.service +/etc/nginx/sites-available/gitea +/etc/nginx/sites-enabled/gitea +``` + +## Gitea-Konfiguration + +Wichtige Einstellungen: + +```text +APP_NAME = Mad4Med Git +RUN_USER = git +RUN_MODE = prod +DOMAIN = git.madformed.de +ROOT_URL = https://git.madformed.de/ +HTTP_ADDR = 127.0.0.1 +HTTP_PORT = 3000 +SSH_PORT = 22 +DB_TYPE = sqlite3 +DISABLE_REGISTRATION = true +``` + +Registrierung ist deaktiviert. Neue Benutzer werden durch Admins angelegt. + +## Dienste und Ports + +```text +22 SSH +80 nginx, Weiterleitung auf HTTPS +443 nginx, HTTPS +3000 Gitea lokal auf 127.0.0.1 +``` + +Gitea lauscht nicht direkt öffentlich auf Port 3000, sondern nur lokal hinter nginx. + +## HTTPS + +HTTPS wurde über Certbot und Let's Encrypt eingerichtet. + +```text +/etc/letsencrypt/live/git.madformed.de/fullchain.pem +/etc/letsencrypt/live/git.madformed.de/privkey.pem +``` + +Das erste Zertifikat ist gültig bis zum 26. Juli 2026. Certbot hat eine automatische Erneuerung eingerichtet. + +## Admin-Benutzer + +Aktueller Datenbankstand nach der Änderung im Gitea-Webinterface: + +```text +ID: 1 +Benutzername: jochen-hanisch +E-Mail: kontakt@jochen-hanisch.de +Voller Name: Jochen Hanisch-Johannsen +Admin: ja +Aktiv: ja +``` + diff --git a/Git/README.md b/Git/README.md new file mode 100644 index 0000000..ddc0ed1 --- /dev/null +++ b/Git/README.md @@ -0,0 +1,37 @@ +# Git und Gitea für Mad4Med + +Diese Dokumentation beschreibt den am 27. April 2026 eingerichteten Git-/Gitea-Server für Mad4Med. + +## Überblick + +- Dienst: Gitea +- URL: https://git.madformed.de +- Server-IP: 217.160.208.251 +- Betriebssystem: Ubuntu 24.04.4 LTS +- Git-Version: 2.43.0 +- Gitea-Version: 1.26.1 +- Reverse Proxy: nginx +- HTTPS: Let's Encrypt +- Datenbank: SQLite + +## Wichtige Dateien + +- [[Gitea-Server]] +- [[Betrieb]] +- [[Änderungsprotokoll]] + +## Zugang + +Der erste Admin-Benutzer wurde angelegt und anschließend in Gitea geändert. + +- Benutzername: `jochen-hanisch` +- E-Mail: `kontakt@jochen-hanisch.de` +- Voller Name: `Jochen Hanisch-Johannsen` +- Admin: ja + +Passwörter und Secrets werden bewusst nicht in dieser Dokumentation gespeichert. + +## Stand + +Gitea ist installiert, läuft als systemd-Dienst und ist öffentlich per HTTPS erreichbar. + diff --git a/Git/Änderungsprotokoll.md b/Git/Änderungsprotokoll.md new file mode 100644 index 0000000..9eeedb7 --- /dev/null +++ b/Git/Änderungsprotokoll.md @@ -0,0 +1,43 @@ +# Änderungsprotokoll + +## 2026-04-27 + +### Serverzugriff + +- SSH-Zugriff auf `root@217.160.208.251` bestätigt. +- Server als Ubuntu 24.04.4 LTS identifiziert. +- SSH-Port 22 erreichbar. + +### Git + +- Git war bereits installiert. +- Version geprüft: 2.43.0. +- Funktion mit temporärem Test-Repository geprüft. + +### Gitea + +- Gitea 1.26.1 als offizielle Linux-amd64-Binary installiert. +- Signatur der Binary geprüft. +- Systembenutzer `git` angelegt. +- Arbeitsverzeichnisse unter `/var/lib/gitea` angelegt. +- Konfiguration unter `/etc/gitea/app.ini` erstellt. +- systemd-Dienst `gitea.service` erstellt und aktiviert. +- Gitea läuft lokal auf `127.0.0.1:3000`. + +### Web und HTTPS + +- nginx installiert und als Reverse Proxy eingerichtet. +- `git.madformed.de` auf Gitea geroutet. +- Let's-Encrypt-Zertifikat per Certbot eingerichtet. +- HTTPS erfolgreich aktiviert. +- Lokale Prüfung von `https://git.madformed.de/` ergab HTTP 200 und Seitentitel `Mad4Med Git`. + +### Benutzer + +- Erster Admin-Benutzer angelegt. +- Benutzer wurde anschließend im Webinterface geändert. +- Datenbankstand bestätigt: + - Benutzername: `jochen-hanisch` + - E-Mail: `kontakt@jochen-hanisch.de` + - Admin: ja +