Installation
Voraussetzungen
Officeatwork Integration
- ASP.NET Core Runtime 8.0+
- Für den Betrieb im IIS muss das Hosting Bundle gewählt werden
- Der CMI Mandant muss als Authentifizierung STS gewählt haben.
- Der CMI Mandant hat eine STS Version mit OBO unterstützung aktiviert haben ( > 3.8.1 ).
- Der CMI Mandant muss den OBO grant in seinem Azure AD eingerchtet haben,
sowie den STS gemäss STS-Anleitung vorkonfiguriert haben
Primedocs Integration
- ASP.NET Core Runtime 8.0+
- Für den Betrieb im IIS muss das Hosting Bundle gewählt werden
- Der CMI Mandant muss als Authentifizierung STS gewählt haben.
- Der STS muss gemäss STS-Sample konfiguriert werden
Anleitung
Betrieb IIS
Es folgt eine Zusammenfassung, die den Betrieb des Push Services mit IIS beschreibt. Grundsätzlich kann der IIS gemäss der Dokumentation von Microsoft für einen ASP.NET Core Service konfiguriert werden.
- Internet Information Services (IIS) Manager öffnen.
- Unter Sites eine neue Website hinzufügen.
- Name der Site kann frei gewählt werden.
- Application Pool: WebsiteVergabe sollte defaultmässig einen eigenen Application Pool erstellen.
- Physical path: Pfad in welchem sich da API-Applikation des Push Services befindet.
- Binding: Type: https
- Binding: IP-Adresse: All Unassigned
- Binding: Port: Frei wählbar.
- Binding: Hostname: Domain
- Binding: Require Server Name Indication: optional
- Binding: Es muss ein gültiges Zertifikat ausgewählt werden.
- Binding: Start Website immediately: optional (wir empfehlen: aktiviert)
Nginx
Hier ist eine Beispielkonfiguration für den Betrieb unter nginx.
Angepasst werden müssen hier:
* Die Domain
* ( Optional ) Der Port, auf dem der Dienst laufen soll ( hier 65431 ):
proxy_pass http://localhost:65431/;
server {
server_name templatemanager.mandant.domain;
listen [::]:443 ssl http2;
listen 443 ssl http2;
client_max_body_size 10G;
client_body_timeout 6000m;
fastcgi_buffers 64 4K;
location / {
proxy_pass http://localhost:5000/;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forward-Proto http;
proxy_set_header X-Nginx-Proxy true;
proxy_redirect off;
}
ssl_session_timeout 1d;
ssl_session_cache shared:le_nginx_SSL:10m;
ssl_session_tickets off;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;
add_header Strict-Transport-Security max-age=63072000;
ssl_ecdh_curve secp521r1:secp384r1;
ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA
ssl_dhparam /path/to/dhparam.pem;
ssl_certificate /path/to/oaw.crt;
ssl_certificate_key /path/to/oaw.key;
}
server {
server_name templatemanager.mandant.domain;
listen 80;
listen [::]:80;
return 301 https://$host$request_uri;
}
Zusätzlich hier noch eine systemd Unit. Wurde der Port in der nginx Datei verändert, muss er hier ebenfalls angepasst werden.
Die Datei kann mit diesem Befehl angelegt werden.
sudo systemctl edit --full --force cmi-oaw.service
Hier könnte Beispielsweise dieser Inhalt befüllt werden
[Unit]
Description=DocumentManagement API to retrieve and send officeatwork template files
[Service]
ExecStart=/usr/bin/dotnet ./CMI.DocintegrationTemplateManager.dll --urls="http://*:5000"
WorkingDirectory=/path/to/published/binaries
SyslogIdentifier=cmi-templatemanager
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_CLI_TELEMETRY_OPTOUT=1
[Install]
WantedBy=multi-user.target
$ sudo systemctl daemon-reload
$ sudo nginx -t && sudo systemctl reload nginx
$ sudo systemctl enable --now cmi-oaw