Initial Project
This commit is contained in:
130
README_Deployment_Guide.md
Normal file
130
README_Deployment_Guide.md
Normal file
@@ -0,0 +1,130 @@
|
||||
# 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.)*
|
||||
Reference in New Issue
Block a user