#!/bin/bash # SSL-Setup für DOCX Template Server # Führen Sie dieses Script aus, um SSL-Zertifikate zu erstellen echo "🔒 SSL-Setup für DOCX Template Server" echo "" # Prüfe ob OpenSSL installiert ist if ! command -v openssl &> /dev/null; then echo "❌ OpenSSL ist nicht installiert. Installiere OpenSSL..." apt-get update && apt-get install -y openssl fi cd /home/OfficeServerJS echo "📋 Wählen Sie eine Option:" echo "1) Selbstsigniertes Zertifikat erstellen (für Tests)" echo "2) Let's Encrypt Zertifikat verwenden (für Produktion)" echo "3) Bestehendes Zertifikat verwenden" read -p "Ihre Wahl (1-3): " choice case $choice in 1) echo "🔧 Erstelle selbstsigniertes Zertifikat..." openssl req -x509 -newkey rsa:4096 -keyout private-key.pem -out certificate.pem -days 365 -nodes \ -subj "/C=DE/ST=Deutschland/L=Stadt/O=Organisation/CN=localhost" echo "✅ Selbstsigniertes Zertifikat erstellt!" ;; 2) echo "🌐 Let's Encrypt Setup..." if ! command -v certbot &> /dev/null; then echo "📦 Installiere Certbot..." apt-get update && apt-get install -y certbot fi read -p "Ihre Domain eingeben: " domain echo "🔧 Erstelle Let's Encrypt Zertifikat für $domain..." certbot certonly --standalone -d $domain # Symlinks erstellen ln -sf /etc/letsencrypt/live/$domain/privkey.pem private-key.pem ln -sf /etc/letsencrypt/live/$domain/fullchain.pem certificate.pem echo "✅ Let's Encrypt Zertifikat eingerichtet!" ;; 3) echo "📁 Bestehendes Zertifikat verwenden..." read -p "Pfad zum privaten Schlüssel: " keypath read -p "Pfad zum Zertifikat: " certpath ln -sf $keypath private-key.pem ln -sf $certpath certificate.pem echo "✅ Zertifikate verlinkt!" ;; *) echo "❌ Ungültige Auswahl!" exit 1 ;; esac # SSL-Konfiguration in server.js aktivieren echo "" echo "🔧 SSL-Konfiguration wird aktiviert..." # Backup der originalen server.js erstellen cp server.js server.js.backup # SSL-Sektion aktivieren sed -i 's|^/\*|// /*|g' server.js sed -i 's|^\*/|// */|g' server.js echo "✅ SSL-Setup abgeschlossen!" echo "" echo "📋 Nächste Schritte:" echo "1. Starten Sie den Server neu: ./start.sh" echo "2. Der Server läuft dann auf:" echo " - HTTP: http://localhost:80" echo " - HTTPS: https://localhost:443" echo "" echo "⚠️ Für Produktion:" echo " - Ports 80 und 443 in der Firewall öffnen" echo " - DNS auf Ihren Server zeigen lassen" echo " - Let's Encrypt Auto-Renewal einrichten"