- ✅ 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
84 lines
2.6 KiB
Bash
Executable File
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" |