OfficeServerJs/setup-ssl.sh
OfficeServer dgsoft 1bd5654f6b Initial commit: DOCX Template Server mit API und Tabellen-Support
-  Node.js/Express Server mit DOCX Template-Verarbeitung
-  Automatische Tag-Erkennung und Demo-Daten-Generierung
-  Tabellen-Unterstützung mit Schleifen-Tags
-  REST-API /api/process-template für externe Integration
-  Web-Oberfläche mit vollständiger Dokumentation
-  SSL-Unterstützung (HTTPS Port 443 öffentlich)
-  Intelligente Spaltenerkennung für Tabellen
-  Detaillierte Statusmeldungen für alle Operationen
-  Flexible Custom-Daten + Auto-Generierung
-  Template- und Dokument-Management APIs
2025-10-04 22:04:25 +02:00

84 lines
2.6 KiB
Bash
Executable File

#!/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"