Dokumentiere Gitea-Einrichtung
This commit is contained in:
+106
@@ -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.
|
||||||
|
|
||||||
@@ -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
|
||||||
|
```
|
||||||
|
|
||||||
@@ -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.
|
||||||
|
|
||||||
@@ -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
|
||||||
|
|
||||||
Reference in New Issue
Block a user