Installation von Nextcloud mit Tailscale und TLS auf Debian 13

Aus Volla Wiki
Version vom 29. August 2025, 11:05 Uhr von Waldbursche (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Installation von Nextcloud mit Tailscale und TLS auf Debian 13

Diese Anleitung beschreibt die Installation von Nextcloud auf einem Debian 13 Server (AMD64-Maschine/VM) mit Tailscale für sicheren Zugriff und einem TLS-Zertifikat von Let’s Encrypt für HTTPS.

Voraussetzungen

  • AMD64-kompatible Maschine oder virtuelle Maschine (VM)
  • Internetzugang
  • Grundkenntnisse in Linux-Terminalbefehlen

Schritt 1: Debian 13 Server installieren

  1. Laden Sie das Debian 13 ISO-Image von Debian.org herunter.
  2. Erstellen Sie ein bootfähiges Installationsmedium (z. B. USB-Stick) und installieren Sie Debian 13. Folgen Sie den Anweisungen im Installationsassistenten.
  3. Installieren Sie den SSH-Server, um Remote-Zugriff zu ermöglichen:
 sudo apt update
 sudo apt install openssh-server -y
 sudo systemctl enable ssh
 sudo systemctl start ssh
  1. Überprüfen Sie, ob der SSH-Server läuft:
 sudo systemctl status ssh

Schritt 2: Tailscale installieren

  1. Installieren Sie Tailscale, um einen sicheren VPN-Zugang zu Ihrer Nextcloud-Instanz zu ermöglichen:
 curl -fsSL https://pkgs.tailscale.com/stable/debian/bookworm.noarmor.gpg | sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null
 curl -fsSL https://pkgs.tailscale.com/stable/debian/bookworm.tailscale-keyring.list | sudo tee /etc/apt/sources.list.d/tailscale.list
 sudo apt update
 sudo apt install tailscale -y
  1. Starten und authentifizieren Sie Tailscale:
 sudo tailscale up
 Folgen Sie dem angezeigten Link, um sich mit Ihrem Tailscale-Konto anzumelden.
  1. Aktivieren Sie MagicDNS in Ihrem Tailscale Admin-Panel (unter DNS-Einstellungen), um eine Tailscale-Domain (z. B. ihre.tailscale-Domain.net) zu erhalten.
  2. Notieren Sie sich die Tailscale-Domain für die spätere Konfiguration.

Schritt 3: Nextcloud mit C-Rieger-Skript installieren

  1. Laden Sie das Nextcloud-Installationsskript von Carsten Rieger herunter (prüfen Sie die neueste Version unter [1]):
 wget https://www.c-rieger.de/downloads/zero.sh
 chmod +x zero.sh
  1. Bearbeiten Sie die Konfigurationsdatei zero_v2.cfg:
 nano zero_v2.cfg
 Passen Sie die folgenden Parameter an:

NEXTCLOUDDNS="ihre.tailscale-Domain.net" UPLOADSIZE="40G" RESOLVER="100.100.100.100 127.0.0.1"

 Ersetzen Sie ihre.tailscale-Domain.net durch Ihre Tailscale-Domain.
  1. Führen Sie das Skript aus:
 ./zero.sh
  1. Notieren Sie sich die Anmeldedaten, die nach der Installation angezeigt werden.

Schritt 4: TLS-Zertifikat mit Let’s Encrypt konfigurieren

  1. Installieren Sie certbot für Let’s Encrypt:
 sudo apt install certbot python3-certbot-nginx -y
  1. Falls Sie Tailscale MagicDNS verwenden, generieren Sie ein Let’s Encrypt-Zertifikat mit dem Tailscale-Befehl:
 sudo tailscale cert ihre.tailscale-Domain.net
 Die Zertifikate werden in /var/lib/tailscale/certs/ gespeichert (z. B. ihre.tailscale-Domain.net.crt und ihre.tailscale-Domain.net.key).
  1. Alternativ können Sie certbot verwenden, falls Tailscale nicht für die Zertifikatsausstellung genutzt wird:
 sudo certbot --nginx -d ihre.tailscale-Domain.net

Schritt 5: Nginx-Konfiguration anpassen

  1. Bearbeiten Sie die Nginx-Konfigurationsdatei für Nextcloud:
 sudo nano /etc/nginx/conf.d/nextcloud.conf
  1. Stellen Sie sicher, dass die TLS-Zertifikatspfade korrekt sind. Beispielkonfiguration:

server { listen 80; server_name ihre.tailscale-Domain.net; return 301 https://$server_name$request_uri; }

server { listen 443 ssl; server_name ihre.tailscale-Domain.net;

ssl_certificate /var/lib/tailscale/certs/ihre.tailscale-Domain.net.crt; ssl_certificate_key /var/lib/tailscale/certs/ihre.tailscale-Domain.net.key; ssl_trusted_certificate /var/lib/tailscale/certs/ihre.tailscale-Domain.net.crt;

root /var/www/nextcloud; index index.php;

location / { try_files $uri $uri/ /index.php?$args; }

location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }

 Ersetzen Sie ihre.tailscale-Domain.net durch Ihre Domain und passen Sie den PHP-FPM-Socket (z. B. php8.2-fpm.sock) an die installierte PHP-Version an.
  1. Testen Sie die Nginx-Konfiguration:
 sudo nginx -t
  1. Laden Sie Nginx neu:
 sudo systemctl reload nginx

Schritt 6: Nextcloud aufrufen

  1. Öffnen Sie Ihren Browser und rufen Sie Ihre Nextcloud-Instanz auf:
 https://ihre.tailscale-Domain.net
  1. Melden Sie sich mit den zuvor notierten Anmeldedaten an.

Schritt 7: Sicherheitsmaßnahmen

  1. Aktivieren Sie eine Firewall (z. B. ufw):
 sudo apt install ufw -y
 sudo ufw allow 22
 sudo ufw allow 80
 sudo ufw allow 443
 sudo ufw enable
  1. Aktivieren Sie HSTS in Ihrer Nginx-Konfiguration, indem Sie folgende Zeile in den server-Block (Port 443) einfügen:
 add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
  1. Überprüfen Sie die Nextcloud-Sicherheitseinstellungen im Admin-Bereich nach der Anmeldung.

Hinweise

  • Tailscale-Zertifikate erscheinen in der Let’s Encrypt Certificate Transparency Log, da sie öffentliche Domains verwenden.
  • Halten Sie Ihre Nextcloud-Instanz und Debian-Pakete regelmäßig aktuell:
 sudo apt update && sudo apt upgrade -y

Viel Spaß mit Ihrer gesicherten und persönlichen Nextcloud!