Analog zu meinem Beitrag von gestern, möchte ich Euch heute zeigen wie Ihr Only Office Documentserver mit Docker in Plesk Onyx in Betrieb nehmt. Dabei sichern wir den Zugriff mit einem Passwort ab, so dass nur Euch bekannte Nextcloud-Instanzen darauf zugreifen können.
Voraussetzungen:
- Zugriff auf Host per ssh
- Docker-Erweiterung in Plesk installiert und aktiviert
- Funktionierende Nextcloud-Installation mit OnlyOffice-App
- Leere Subdomain in Plesk erstellt und mit SSL abgesichert
Ablauf:
Verbindung per ssh zum Host aufbauen und Docker-Container bereitstellen, dabei SECRET anpassen:
docker run -i -t -d -p 127.0.0.1:9981:80 -e JWT_ENABLED='true' -e JWT_SECRET='your-secret-key' --restart=always onlyoffice/documentserver
danach mit
docker ps
überprüfen, ob Container aktiv ist.
Die weitere Konfiguration erfolgt über das Plesk Administrations-Panel.
Unter „Tools & Settings“ -> „General Settings“ -> „Apache Web Server“ aktivieren wir die eingekreisten Module (Häkchen setzen und „OK“):
danach wechseln wir in unsere Subdomain, weiter in die „Apache & nginx Settings“ und setzen in den „Additional Apache directives“ unter „HTTPS“ den folgenden Block ein:
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384 SSLProtocol All -SSLv2 -SSLv3 SSLCompression off SSLHonorCipherOrder on SetEnvIf Host "^(.*)$" THE_HOST=$1 RequestHeader setifempty X-Forwarded-Proto https RequestHeader setifempty X-Forwarded-Host %{THE_HOST}e ProxyAddHeaders Off ProxyPassMatch (.*)(\/websocket)$ "ws://127.0.0.1:9981/$1$2" ProxyPass / "http://127.0.0.1:9981/" ProxyPassReverse / "http://127.0.0.1:9981/"
Die nginx settings belassen wir im Standard und bestätigen mit „OK“.
Zur Kontrolle rufen wir auch hier noch unsere OnlyOffice-Subdomain im Browser auf und prüfen, ob wir das folgende Resultat sehen:
Nextcloud:
Jetzt können wir unsere Nextcloud-Instanz anbinden. Dazu installieren wir die App „OnlyOffice“ aus dem App-Store in unserer Nextcloud und aktivieren diese.
In den Einstellungen finden wir jetzt einen neuen Punkt „ONLYOFFICE“ in dem wir unseren DNS-Namen und unser Secret (Erweiterte Servereinstellungen) eintragen müssen:
Nachdem wir dies gespeichert haben, können wir die Dokumente direkt in der Nextcloud mit OnlyOffice bearbeiten:
Schluss für heute und viel Erfolg! 🙂
Wenn der Artikel Euch geholfen hat, dann freue ich mich wie immer über Feedback oder Ihr teilt ihn einfach!
49 Gedanken zu „Bereitstellung OnlyOffice mit Docker in Plesk Onyx“
Hallo Markus, vielen Dank für deine Anleitung, die hat prima geklappt! Nachdem ich nun die communitiy verion erfolgreich ausprobiert habe, würde ich gerne die Home Server Edition abonnieren, dazu muss ich dann aber auf die Enterprise Edition umsteigen. Hättest Du einen Tipp, wie man das bewerkstelligen kann?
Herzlichen Dank,
Maxi
Hallo Maxi,
einfach den alten Container stoppen, entfernen und dann den Befehl mit onlyoffice/documentserver-ee ausführen, wenn Du ein License-File hast, musst Du es noch im Filesystem ablegen und im Conatiner mounten.
Hinweise dazu unter:
https://helpcenter.onlyoffice.com/de/installation/docs-enterprise-install-docker.aspx
ganz unten.
Gruß
Markus
Un immense merci Markus,
Onlyoffice fonctionne maintenant en SSL sur mon sous-domaine et je peux donc l’intégrer sans problème à Nextcloud.
J’ai cherché des heures avant de trouver ton article !
T’es un boss !
Bonne journée !
Adrien
Wow, klappt auf Anhieb! Danke für das tolle Tutorial und überhaupt das tolle Blog! Hat mir als vserver-mit-Plesk-Neuling schon super-oft geholfen. VG Michalis
Ich danke Dir 🙂 freut mich
Das war dank dieser Anleitung ja ziemlich einfach. Vielen Dank dafür! Hätte ich das alles selbst zusammen müssen, wäre das eskaliert.
Gute Arbeit und vielen Dank!
LG John aka wlanowski
Gerne
Herr Markus Weingärtner herzlichen dank für diese tolle Installationsanleitung, die hat super funktioniert.
Eine frage habe ich noch, wissen sie warum man keine Bilder einfügen kann und nur Fehlermeldung kommt ?
Ich bedanke mich im voraus
error meldung lautet:
AH02257: could not buffer message body to allow SSL renegotiation to proceed, referer: https://office.xxx.com/5.5.1-76/web-apps/apps/documenteditor/main/index.html?_dc=5.5.1-76&lang=de&customer=ONLYOFFICE&frameEditorId=iframeEditor&compact=true
Hallo Stefano, versuch mal bei Apache noch die folgenden Direktiven:
SSLVerifyDepth 10 SSLRenegBufferSize 1000000000
Gruß Markus
Herzlichen dank für die Rückmeldungen,
die habe ich bereits eingebaut, was nichts gebracht hat, heute interessanter weise, geht fast nichts mehr
ModSecurity: Warning. Pattern match “(?i:([\\\\s’\\”`
ModSecurity: Warning. Operator GE matched 5 at TX:anomaly_score.
https://markus-blog.de/index.php/category/fehlerbehebung/
Hi,
ich versuche gerade onlyoffice nach deiner Anleitung zu installieren.
Leider bisher Erfolglos. Daher möchte ich gern anfragen, ob es ggf. inzwischen irgendwelche Änderungen dazu gibt?
Fehlerbild:
Docker Container läuft angeblich, Port habe ich auf 9985 angepasst, da 9981 belegt war. Habe ich in allen Skripten angepasst.
Beim Aufrufen der Subdomain erhalte ich zunächst ngnix 502 Bad gateway und anschließend Proxy Error.
In Plesk-> Docker habe ich folgendes gefunden:
Volume-Mapping:
Nicht bereitgestellt: /usr/share/fonts/truetype/custom
Nicht bereitgestellt: /var/lib/onlyoffice
Nicht bereitgestellt: /var/lib/postgresql
Nicht bereitgestellt: /var/log/onlyoffice
Nicht bereitgestellt: /var/www/onlyoffice/Data
Ist das ggf. ein Problem oder hast du einen Tipp?
Ich wäre dir sehr verbunden.
Umgebung: Strato-Server, Ubuntu mit Plesk Onyx
Version 17.8.11 Update #71
Gruß,
Florian
Außerdem ist mir aufgefallen, dass das Bild unter Apache-Konfiguration eine andere Konfiguration zeigt. Die ist vermutlich nur veraltet, oder muss man der mehr Aufmerksamkeit schenken?
Hallo Florian.
Habe gerade mal geschaut, die Config hat sich nicht verändert. Das Bild ist veraltet, danke für den Hinweis. Am besten in den Logs vom Container nachschauen und in dem vhost.
Gruß Markus
Hi Markus great tutorial! I followed all the steps but am still having the 502 Bad Gateway error and looking at the log files below
502 GET /loleaflet/dist/admin/admin.html HTTP/2.0 568 nginx SSL/TLS acces
29676#0: *4446259 peer closed connection in SSL handshake (104: Connection reset by peer) while SSL handshaking to upstream
Hallo Markus, vielen Dank für deine tollen Artikel,
Ich habe leider folgendes Problem und zwar wenn ich über den https zugreifen möchte bekomme ich den 502 zurück über http: rennt der documentserver, docker und nextcloud laufen auf der gleichen maschine Ubuntu mit Plesk Onyx, momentan komme ich nicht weiter und kann da der docker nur über http erreichbar ist nextcloud und onlyoffice leider nicht verbinden hast du eine idee woran das liegen könnte?
Hallo Svenja,
Danke Dir.
Über http sollte es erstmal nicht laufen. 301-Redirect in den Hosting-Einstellungen gesetzt?
Was sagt das Log in dem Office-vhost?
Gruß Markus.
Hallo Markus,
ein mega danke hierfür.
Habe schon Stunden damit verbracht und 2 Zeilen die hier aufgeführt wurden brachten die Lösung.
Läuft super Klasse alles.
Danke
LG Max
Danke Dir für das Feedback
Hallo Markus,
vielen Dank für deine Anleitung. Ich hatte leider zwei Fehler während der Installation:
1. Bei den Apache-Modulen fehlt mir proxy_html und setenvif zum anhaken
2. Bei der Speicherung der Apache-Anweisungen (auf Subdomain) im HTTPS-Block kommt folgende Fehlermeldung
Ungültige Apache-Konfiguration: AH00526: Syntax error on line 7 of /var/www/vhosts/system/office.base66.de/conf/vhost_ssl.conf: first argument must be ‚add‘, ’set‘, ‚append‘, ‚merge‘, ‚unset‘, ‚echo‘, ‚edit‘, or ‚edit*‘.
Hast Du eine Idee?
Viele Grüße
Dirk
Hallo Dirk,
welche Plesk-Version und welches OS darunter?
Welche Plesk-Komponenten von Apache2 sind installiert?
Gruß
Markus
Plesk Onyx
Version 17.8.11 Update #22
Cent OS7
Virtuozzo
Apache: Ich hoffe die meinst Du
mod_fcgid
mod_bw
Apache
Gruss Dirk
Läuft Dein Plesk im Virtuozzo optimized mode?
https://docs.plesk.com/en-US/12.5/advanced-administration-guide-linux/enhancing-performance/reducing-resources-consumption-in-vps-environments/apache-modules-switched-off-in-vpsoptimized-mode.68749/
Hallo Markus,
ich habe mal recherchiert – ich glaube der Plesk läuft im optimized mode – bin mir allerdings nicht wirklich sicher. Gibt es irgendwo einen Hinweis? Falls er im optimized mode läuft kann ich trotzdem OnlyOffice oder Collabora im Docker laufen lassen?
Viele Grüße
Dirk
Hallo Dirk,
konnte gestern Abend CentOS 7 mit Plesk aufsetzen und den Fehler nachvollziehen.
probier mal die beiden Zeilen:
RequestHeader setifempty X-Forwarded-Proto https
RequestHeader setifempty X-Forwarded-Host %{THE_HOST}e
in
RequestHeader set X-Forwarded-Proto https
RequestHeader set X-Forwarded-Host %{THE_HOST}e
zu ändern.
Gruß
Markus
Hallo Markus,
vielen Dank für Deine Mühen und das Aufsetzen von Cent OS mit Plesk.
Die beiden Zeilen habe ich ausgetauscht und bin einen großen Schritt weitergekommen
Der OnlyOffice Dokumentenserver läuft „Document Server is running“ 🙂
Beim Speichern der Konfiguration in OnlyOffice erhalte ich nun folgenden Fehler
GetConvertedUri on check error: Im Dokumentenservice ist ein Fehler aufgetreten: Error while downloading the document file to be converted.
Irgendwie bekommt er keine Verbindung. Habe eine Subdomain eingerichtet mit Let’s encrypt Zertifikat
gesichert und diese URL auch eingetragen.
Hast Du noch eine Idee? Kann es mit dem Zertifikat zusammenhängen?
Viele Grüße
Dirk
Hallo Dirk,
✅ schon mal gut. Gerne.
Schau mal den Troubleshooting Guide für OnlyOffice und collabora an. Vielleicht hilft der weiter.
Den hier:
https://markus-blog.de/index.php/2018/07/16/troubleshooting-plesk-mit-docker-und-onlyoffice-oder-collabora-image/
Gruß
Markus
Hallo Markus,
habe mir den Troubleshooting Artikel angesehen, komme aber leider nicht weiter.
Es könnte an dem Zertifikatshandling liegen. Ich habe folgende Konfiguration
„hugo1“ als Platzhalter
1. Hauptdomain http://www.hugo1.de abgesichert mit LetsEncrypt
2. Subdomain nextcloud.hugo1.de -> abgesichert mit LetsEncrypt
2. Subdomain onlyoffice.hugo1.de -> abgesichert mit LetsEncrypt – Docker-Installation, hier lauft der Dokuserver aktiv und ist von aussen aufrufbar
Kann es sein dass diese Konstellation Probleme macht? Ich kann leider unterhalb der Subdomain nextcloud keine weitere anlegen, ich habe nur eine .de Domain bei dieser Installation
Viele Grüße Dirk
Moin Dirk,
Genau in dieser Konfiguration sollte es auch laufen.
In den beiden Subdomains sind LogFiles zu finden, was wird dort aufgezeichnet, wenn Du die Konfiguration versuchst zu speichern bzw. ein Dokument versuchst aufzurufen?
Hallo Markus,
hier der Log-Eintrag von Nextcloud:
{„reqId“:“W7EKYXAmPYjbIN2rHYBXIwAAAEg“,“level“:3,“time“:“2018-09-30T17:39:51+00:00″,“remoteAddr“:“99.999.99.999″,“user“:“admin“,“app“:“onlyoffice“,
„method“:“PUT“,“url“:“\/index.php\/apps\/onlyoffice\/ajax\/settings“,“message“:“GetConvertedUri on check error: Im Dokumentenservice ist ein Fehler aufgetreten:
Error while downloading the document file to be converted.“,“userAgent“:“Mozilla\/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko\/20100101 Firefox\/62.0″,“version“:“13.0.6.1″}
und von OnlyOffice:
178.254.28.182 – – [30/Sep/2018:19:54:42 +0200] „GET /healthcheck HTTP/1.0“ 200 417 „-“ „-“
178.254.28.182 – – [30/Sep/2018:19:54:42 +0200] „POST /coauthoring/CommandService.ashx HTTP/1.0“ 200 462 „-“ „-“
178.254.28.182 – – [30/Sep/2018:19:54:42 +0200] „POST /ConvertService.ashx HTTP/1.0“ 200 517 „-“ „-“
Viele Grüße
Dirk
Hallo Dirk,
Das ist nicht wirklich viel.
Versuch mal in der config.php von Nextcloud den folgenden Block einzusetzen:
'onlyoffice' =>
array (
'verify_peer_off' => TRUE,
),
Ändert sich da etwas an dem Verhalten?
Gruß Markus
Hallo Markus,
ich habe die Zeilen in der config.php ergänzt, hat leider keine Wirkung erzeugt, die Fehlermeldungen bleiben die gleichen
Hättest Du noch einen Tipp?
Viele Grüße
Dirk
Hallo Markus,
ich bin es nochmal – in diesem Link könnte evtl. die Lösung stecken, ich steig aber leider nicht ganz durch
https://github.com/ONLYOFFICE/onlyoffice-owncloud/issues/181
Viele Grüße
Dirk
Hi Dirk,
Habe ich mir angeschaut. Leider könnte ich das erst am Wochenende noch einmal testen, aber auf Apache übertragen:
In dem Nextcloud-vHost unter Apache nginx Einstellungen im Block Apache-https den folgenden Block hinzufügen und die Office-Domain anpassen:
Header always set X-Frame-Options „ALLOW-FROM https://office.your-domain.tld“
Dann noch mal testen.
Gruß Markus
Hallo Markus,
habe jetzt unter Apache-ngix Einstellung im Bereich Apache https folgende Zeile (Zeile 2) eingefügt, den Apache nochals gestartet, leider noch ohne Erfolg.
Header always set Strict-Transport-Security „max-age=15768000; preload; includeSubDomains“
Header always set X-Frame-Options „allow-from https://office.domain.tld/“
Viele Grüße
Dirk
Hallo Markus,
ich habe nochmals bei den Docker-Einstellung von OnlyOffice nachgeschaut:
hier gibt es den Bereich manuelles Mapping:
bei https: steht hier 443 zum externen Port [leer]
bei http: steht hier 80 zum externen Port 9981
Könnte es sein dass es hier einen Portkonflikt gibt?
Viele Grüße
Dirk
Hallo Dirk, nein keinesfalls 443 und 80 sind die internen Ports von dem Docker-Container. Der 80er Port wird auf 9981 übersetzt und der 443 wird nicht übersetzt.
Bei Dir scheint irgendwo anders noch etwas zu hängen.
Kannst Du mir mal ein paar Screenshots von den Einstellungen der vHosts Nextcloud/Office per Mail zukommen lassen?
Gruß
Markus
Moin Moin Markus,
nice – läuft – thx ^^
Cheers
Danke! Freut mich…
Hallo Markus,
danke für die tolle Anleitung. Funktioniert bei mir einwandfrei. Hast Du vielleicht auch eine Anleitung, wie man den OnlyOffice Community-Server als Docker-Image hinzufügen und mit dem Document Server verbinden kann? Ebenfalls hinter dem PLESK-Apache-Proxy.
Gruß
Jakob
Hallo Jakob,
Danke für das Feedback!
Ist gerade in Arbeit. Etwas Geduld bitte noch.
Gruß
Markus
Hallo Markus,
wenn ich die OnlyOffice SubDomain aufrufe dann kommt bei mir:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at xxx@xxxx.de to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.
Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.
Apache Server at office.xx.xx Port 443
Ist gefixt -> fehlte ein Apache-Modul.
Ahoy Markus,
ich habe eben nochmals geschaut. „allow_url_fopen“ war nur bei der onlyoffice Subdomain aktiviert, aber nicht bei der „nextcloud“ subdomain, dass war der Fehler. Jetzt läufts. 🙂
Vielen Dank für Deine Hilfe und das tolle Tutorial.
Keeps up the good work!
LG Jan
Bestens ?? Danke Dir
Ahoy Markus, vielen Dank für Deine Anleitung, die mir viel Zeit gespart hat. 🙂 Bei mir klappt alles bis auf den letzten Schritt. Leider habe auch nach mehreren Stunden Rechereche keine Lösung gefunden. Wenn ich die Konfiguration in der Nextcloud/OnlyOffice App speichern will, bekomme ich folgende Fehlermeldung: „CommandRequest on check error: Bad Request oder Timeout Fehlermeldung“ im Nextcloud-Log steht noch folgendes:
Level: Error | App: PHP | Message: „file_get_contents(https://SUBDOMAIN.DOMAIN.TLD/coauthoring/CommandService.ashx): failed to open stream: no suitable wrapper could be found at /var/www/vhosts/DOMAIN.TLD/nextcloud/apps/onlyoffice/lib/documentservice.php#351″
und
Level: Error | App: PHP | Message: „file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 at /var/www/vhosts/DOMAIN.TLD/nextcloud/apps/onlyoffice/lib/documentservice.php#351“
Der OnlyOffice DocumentServer läuft; Nextcloud ist auf dem neuesten Stand 13.0.4
Ansonsten nutze ich Ubuntu 16.04 LTS und Plesk Onyx 17.8.11 Update #13
Hast Du vielleicht einen Ansatzpunkt, wo ich noch suchen könnte?
LG Jan
Hi Jan,
Danke Dir, freut mich zu hören.
Zu Deinem Problem:
schau mal in Deinen php-settings der Subdomains, ob „allow_url_fopen“ enabled ist.
Läuft nextcloud und onlyoffice auf einem Server?
Ahoy Markus, danke für die schnelle Antwort. „allow_url_fopen“ war bereits auf „on (default)“.
Nextcloud und onlyoffice laufen beide auf einem Server. onlyoffice in der docker Umgebung.
Wenn ich mich per SSH einlogge, kann ich per wget sowohl auf die Nextcloud Subdomain als auch die Onlyoffice Subdomain zugreifen.
LG Jan