AppsDockerNextcloudPleskVPS

Bereitstellung OnlyOffice mit Docker in Plesk Onyx

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:

Define VPATH /
Define DS_ADDRESS 127.0.0.1:9981

<Location ${VPATH}>
Require all granted
SetEnvIf Host "^(.*)$" THE_HOST=$1
RequestHeader setifempty X-Forwarded-Proto https
RequestHeader setifempty X-Forwarded-Host %{THE_HOST}e
RequestHeader edit X-Forwarded-Host (.*) $1${VPATH}
ProxyAddHeaders Off
</Location>

ProxyPassMatch ^\${VPATH}(.*)(\/websocket)$ "ws://${DS_ADDRESS}/$1$2"
ProxyPass ${VPATH} "http://${DS_ADDRESS}/"
ProxyPassReverse ${VPATH} "http://${DS_ADDRESS}/"

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!

9 Gedanken zu „Bereitstellung OnlyOffice mit Docker in Plesk Onyx

  1. 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

  2. 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

  3. 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

  4. 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

      1. 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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.