131 lines
4.1 KiB
Markdown
131 lines
4.1 KiB
Markdown
# Deployment Guide: Ubuntu Server (Nginx + SSL)
|
|
|
|
Diese Anleitung beschreibt, wie du das fertig gebaute Excel Add-in auf deinem privaten Ubuntu-Server unter der Domain `https://kabel.casademm.de` hosten kannst.
|
|
|
|
## Voraussetzung
|
|
1. Ein Linux-Server (Ubuntu) mit Root/Sudo-Zugriff.
|
|
2. Die Domain `kabel.casademm.de` muss im DNS-Manager deines Domain-Anbieters auf die IP-Adresse (A-Record) dieses Servers zeigen.
|
|
3. Du hast lokal auf deinem Entwicklungsrechner den Befehl `npm run build` ausgeführt. Dadurch wurde ein Ordner namens `dist` in deinem Projektverzeichnis (`C:\EWSL_Add_in\CableConsolidation\dist`) erstellt.
|
|
|
|
---
|
|
|
|
## Schritt 1: Nginx installieren
|
|
Verbinde dich per SSH mit deinem Ubuntu-Server und aktualisiere die Paketquellen, um danach den Nginx Webserver zu installieren:
|
|
|
|
```bash
|
|
sudo apt update
|
|
sudo apt install nginx -y
|
|
```
|
|
|
|
Stelle sicher, dass Nginx läuft und beim Systemstart automatisch mitstartet:
|
|
```bash
|
|
sudo systemctl enable nginx
|
|
sudo systemctl start nginx
|
|
```
|
|
|
|
Falls du die `ufw` Firewall nutzt, erlaube den Nginx-Traffic:
|
|
```bash
|
|
sudo ufw allow 'Nginx Full'
|
|
```
|
|
|
|
---
|
|
|
|
## Schritt 2: Dateien auf den Server kopieren
|
|
|
|
1. Erstelle auf dem Server ein Verzeichnis für deine Domain:
|
|
```bash
|
|
sudo mkdir -p /var/www/kabel.casademm.de/html
|
|
```
|
|
|
|
2. Passe die Rechte an, damit Nginx (und dein User) darauf zugreifen können:
|
|
```bash
|
|
sudo chown -R $USER:$USER /var/www/kabel.casademm.de/html
|
|
sudo chmod -R 755 /var/www/kabel.casademm.de
|
|
```
|
|
|
|
3. Übertrage nun den Inhalt deines lokalen `dist`-Ordners in dieses Verzeichnis auf dem Server. Das kannst du z.B. über ein SFTP-Programm wie WinSCP oder FileZilla machen.
|
|
* **Quelle:** `C:\EWSL_Add_in\CableConsolidation\dist\*`
|
|
* **Ziel (Server):** `/var/www/kabel.casademm.de/html/`
|
|
|
|
*(Tipp: Vergewissere dich, dass die Datei `taskpane.html` und der `assets`-Ordner direkt im `/html/`-Verzeichnis liegen!)*
|
|
|
|
---
|
|
|
|
## Schritt 3: Nginx für die Domain konfigurieren
|
|
|
|
Erstelle eine neue Server-Block Konfigurationsdatei für Nginx:
|
|
|
|
```bash
|
|
sudo nano /etc/nginx/sites-available/kabel.casademm.de
|
|
```
|
|
|
|
Kopiere folgenden Inhalt hinein (dies lauscht erstmal nur auf Port 80):
|
|
|
|
```nginx
|
|
server {
|
|
listen 80;
|
|
listen [::]:80;
|
|
|
|
root /var/www/kabel.casademm.de/html;
|
|
index taskpane.html index.html index.htm;
|
|
|
|
server_name kabel.casademm.de;
|
|
|
|
location / {
|
|
try_files $uri $uri/ =404;
|
|
# Erlaubt CORS, was für Web-Add-Ins nützlich ist
|
|
add_header Access-Control-Allow-Origin *;
|
|
}
|
|
}
|
|
```
|
|
|
|
Speichere die Datei (in Nano: `Strg+O`, `Enter`, `Strg+X`).
|
|
|
|
Aktiviere die Konfiguration, indem du einen Symlink erstellst:
|
|
```bash
|
|
sudo ln -s /etc/nginx/sites-available/kabel.casademm.de /etc/nginx/sites-enabled/
|
|
```
|
|
|
|
Prüfe, ob Nginx meckert, und starte neu:
|
|
```bash
|
|
sudo nginx -t
|
|
sudo systemctl reload nginx
|
|
```
|
|
|
|
---
|
|
|
|
## Schritt 4: SSL-Zertifikat sichern (WICHTIG!)
|
|
Microsoft Office weigert sich strikt, Add-ins ohne gültiges HTTPS-Zertifikat zu laden. Wir nutzen Certbot für ein kostenloses Let's Encrypt Zertifikat.
|
|
|
|
1. Installiere Certbot:
|
|
```bash
|
|
sudo apt install certbot python3-certbot-nginx -y
|
|
```
|
|
|
|
2. Generiere das Zertifikat:
|
|
```bash
|
|
sudo certbot --nginx -d kabel.casademm.de
|
|
```
|
|
|
|
Certbot wird dich nach deiner E-Mail-Adresse fragen und dir anbieten, den Traffic automatisch auf HTTPS umzuleiten (wähle Option "2: Redirect").
|
|
|
|
Sobald Certbot fertig ist, läuft dein Server sicher unter `https://kabel.casademm.de`.
|
|
|
|
---
|
|
|
|
## Schritt 5: In Excel einbinden / ausrollen
|
|
|
|
Jetzt wo dein Server online ist, benötigst du (und deine Firma) nur noch eine einzige Datei: Die `manifest.xml`.
|
|
|
|
In der `manifest.xml` (welche du ebenfalls in deinem Projekt-Root hast) stehen bereits alle Verweise auf `https://kabel.casademm.de`.
|
|
|
|
**Wie lade ich es im Office 365 Admin Center hoch?**
|
|
1. Die IT geht auf `admin.microsoft.com`.
|
|
2. Gehe zu **Einstellungen > Integrierte Apps**.
|
|
3. Klicke auf **Benutzerdefinierte Apps hochladen**.
|
|
4. Lade die finale `manifest.xml` hoch.
|
|
5. Weise die App den entsprechenden Benutzern (oder allen) zu.
|
|
6. Sobald Excel von den Mitarbeitern neugestartet wird, erscheint der neue Button im Menüband!
|
|
|
|
*(Für lokale Tests kannst du das Add-In in Excel auch einfach über "Meine Add-ins" > "Zusatz-Add-In hochladen" nutzen.)*
|