• Academy
  • Website & Hosting
  • Marketing
  • Domains & E-Mails
  • Online Shops
  • Server
  • Digitales Büro
  • Managed Cloud
  • Academy
Wähle einen Artikel
OnlyOffice auf vServer installieren
OnlyOffice auf vServer installieren
  • Verwendetes System: Debian 11 64 bit
  • Testsystem: vServer XXL 2.0
  • Genutzter User: Ich nehme alles als „root“ vor
  • Zeitdauer: ca. 5 Minuten
  • Schwierigkeit: Einfach. Nur Code kopieren 😉
  • Besonderheiten:
  • Systemvoraussetzungen (Quelle)
    • RAM: 4 GB or more
    • CPU: dual-core 2 GHz or higher
    • Swap: at least 2 GB
    • HDD: at least 2 GB of free space
    • Distribution: 64-bit Red Hat, CentOS or other compatible distributive with kernel version 3.8 or later, 64-bit Debian, Ubuntu or other compatible distributive with kernel version 3.8 or later
    • Docker: version 1.9.0 or later

1. OnlyOffice Installieren

1.1 Einleitung

OnlyOffice (https://www.onlyoffice.com/de) ist ein online Office, welches die Erstellung und Bearbeitung von Präsentationen, Texten im Webbrowser ermöglicht. Zusätzlich kann man mit mehreren Personen gleichzeitig ein Dokument online bearbeiten. Ein weiterer Vorteil ist, dass es kompatibel mit Microsoft Office Dateien ist.

Von OnlyOffice werden verschiedene Versionen angeboten (https://www.onlyoffice.com/de/compare-editions.aspx). Diese Anleitung beschreibt die Installation und Einrichtung der kostenlosen Community Edition.

1.2 Infos zu yml Dateien

Bei yml Dateien ist es sehr wichtig, dass die Zeilen alle richtig eingerückt sind. Die Zeilen MÜSSEN immer mit der Leertaste eingerückt werden. Es dürfen KEINE Tabs enthalten sein. Ihr könnt den nachfolgenden Code immer online „überprüfen“ lassen. Die meisten Fehler entstehen nämlich durch die falsche Formatierung. Ein Dienst zum Überprüfen ist zum Beispiel: https://codebeautify.org/yaml-validator

1.3 Vorbereitung

Diese Anleitung basiert auf dem aktuellen Debian 10 Betriebssystem. OnlyOffice werden wir unter Docker realisieren. Dies ermöglicht uns später sehr schnelle Updates und eine schnelle Installation.

Um OnlyOffice neben anderen Diensten auf unserem Server betreiben zu können, nutzen wir hier den Reverse Proxy Traefik. Die Anleitung dazu finden Sie hier: Traefik Reverse Proxy auf vServer installieren

Wir wollen OnlyOffice in Nextcloud integrieren. Daher muss ebenfalls noch Nextcloud integriert werden. Eine Anleitung dazu finden Sie hier: Nextcloud auf vServer installieren

1.3.1 Git download 

Zuerst laden wir uns mittels git die aktuelle Version von OnlyOffice herunter. Dazu gibst du folgendes ein: 

git clone https://github.com/ONLYOFFICE/Docker-DocumentServer.git /opt/containers/onlyoffice 

Ihr könnt hier auch ein anderes Verzeichnis verwenden. Müsst dann aber die gesamte Anleitung entsprechend anpassen. 

1.3.2 docker-compose.yml erstellen 

Nun können wir mit der eigentlichen „Installation“ von OnlyOffice beginnen. Dazu löschen wir die bisherige Docker Compose Datei und erstellen anschließend eine neue Datei. 

rm /opt/containers/onlyoffice/docker-compose.yml 
nano /opt/containers/onlyoffice/docker-compose.yml 

Nun kopierst du den folgenden Code in die Datei. Dieser Code ist unser Bauplan für unseren OnlyOffice Container. 

version: '2' 
services: 
  onlyoffice-documentserver: 
    build: 
      context: . 
    container_name: onlyoffice-documentserver 
    depends_on: 
      - onlyoffice-postgresql 
      - onlyoffice-rabbitmq 
    environment: 
      - DB_TYPE=postgres 
      - DB_HOST=onlyoffice-postgresql 
      - DB_PORT=5432 
      - DB_NAME=onlyoffice 
      - DB_USER=onlyoffice 
      - AMQP_URI=amqp://guest:guest@onlyoffice-rabbitmq 
      - JWT_ENABLED=true 
      - JWT_SECRET=geheim 
      - JWT_HEADER=Authorization 
      - JWT_IN_BODY=true 
    stdin_open: true 
    restart: always 
    stop_grace_period: 60s 
    volumes: 
       - ./daten:/var/www/onlyoffice/Data 
       - ./log:/var/log/onlyoffice 
       - ./cache:/var/lib/onlyoffice/documentserver/App_Data/cache/files 
       - ./demo:/var/www/onlyoffice/documentserver-example/public/files 
       - ./fonts:/usr/share/fonts 
    labels: 
      - "traefik.enable=true" 
      - "traefik.http.routers.onlyoffice.entrypoints=http" 
      - "traefik.http.routers.onlyoffice.rule=Host(`onlyoffice.euredomain.de`)" 
      - "traefik.http.middlewares.onlyoffice-https-redirect.redirectscheme.scheme=https" 
      - "traefik.http.routers.onlyoffice.middlewares=onlyoffice-https-redirect" 
      - "traefik.http.routers.onlyoffice-secure.entrypoints=https" 
      - "traefik.http.routers.onlyoffice-secure.rule=Host(`onlyoffice.euredomain.de`)" 
      - "traefik.http.routers.onlyoffice-secure.tls=true" 
      - "traefik.http.routers.onlyoffice-secure.tls.certresolver=http" 
      - "traefik.http.routers.onlyoffice-secure.service=onlyoffice" 
      - "traefik.http.services.onlyoffice.loadbalancer.server.port=80" 
      - "traefik.docker.network=proxy" 
      - "traefik.http.routers.onlyoffice-secure.middlewares=onlyoffice-headers" 
      - "traefik.http.middlewares.onlyoffice-headers.headers.customrequestheaders.X-Forwarded-Proto=https" 
      - "traefik.http.middlewares.onlyoffice-headers.headers.accessControlAllowOriginList=*" 
    networks: 
      - proxy 
      - default 
 
  onlyoffice-rabbitmq: 
    container_name: onlyoffice-rabbitmq 
    image: rabbitmq 
    restart: always 
    networks: 
      - default 
 
 
  onlyoffice-postgresql: 
    container_name: onlyoffice-postgresql 
    image: postgres:9.5 
    environment: 
      - POSTGRES_DB=onlyoffice 
      - POSTGRES_USER=onlyoffice 
      - POSTGRES_HOST_AUTH_METHOD=trust 
    restart: always 
    volumes: 
      - postgresql_data:/var/lib/postgresql 
    networks: 
      - default 
 
volumes: 
  postgresql_data: 
 
networks: 
  proxy: 
    external: true 

1.3.1 Verzeichnis erstellen

Wir erstellen uns ein neues Verzeichnis, in welchem wir später alle Daten von Portainer abspeichen. Dazu geben wir folgendes in der Konsole ein:

mkdir -p /opt/containers/onlyoffice/{logs,data,lib,db}

Ihr könnt hier auch ein anderes Verzeichnis verwenden. Müsst dann aber die gesamte Anleitung entsprechend anpassen.

1.3.2 docker-compose.yml erstellen

Nun können wir mit der eigentlichen „Installation“ von Portainer beginnen. Dazu öffnet ihr folgende Datei:

nano /opt/containers/onlyoffice/docker-compose.yml

Nun kopiert ihr folgenden Code in die Datei. Dieser Code ist unser Bauplan für unseren OnlyOffice Container.

version: '3'
services:
  onlyoffice:
    image: onlyoffice/documentserver:latest
    container_name: onlyoffice
    restart: unless-stopped
    shm_size: '4gb'  ## hier geben wir dem Container 4 GB Ram
    networks:
      - proxy
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./logs:/var/log/onlyoffice
      - ./data:/var/www/onlyoffice/Data
      - ./lib:/var/lib/onlyoffice
      - ./db:/var/lib/postgresql
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.onlyoffice.entrypoints=http"
      - "traefik.http.routers.onlyoffice.rule=Host(`onlyoffice.euredomain.de`)"
      - "traefik.http.middlewares.onlyoffice-https-redirect.redirectscheme.scheme=https"
      - "traefik.http.routers.onlyoffice.middlewares=onlyoffice-https-redirect"
      - "traefik.http.routers.onlyoffice-secure.entrypoints=https"
      - "traefik.http.routers.onlyoffice-secure.rule=Host(`onlyoffice.euredomain.de`)"
      - "traefik.http.routers.onlyoffice-secure.tls=true"
      - "traefik.http.routers.onlyoffice-secure.tls.certresolver=http"
      - "traefik.http.routers.onlyoffice-secure.service=onlyoffice"
      - "traefik.http.services.onlyoffice.loadbalancer.server.port=80"
      - "traefik.docker.network=proxy"
      - "traefik.http.routers.onlyoffice-secure.middlewares=onlyoffice-headers,secHeaders@file"
      - "traefik.http.middlewares.onlyoffice-headers.headers.customrequestheaders.X-Forwarded-Proto=https"
      - "traefik.http.middlewares.onlyoffice-headers.headers.accessControlAllowOrigin=*"

    environment:
      - JWT_ENABLED=true
      - JWT_SECRET=geheim  ## muss angepasst werden
      - DB_USER=onlyoffice
      - DB_PWD=onlyoffice
networks:
  proxy:
    external: true

1.3.3 Hostname anpassen

Nun müsst ihr noch den Hostnamen anpassen, über welchen später Onlyoffice erreichbar sein soll.

Diese beiden Zeilen müsst ihr anpassen.

"traefik.http.routers.onlyoffice.rule=Host(`onlyoffice.euredomain.de`)"
"traefik.http.routers.onlyoffice-secure.rule=Host(`onlyoffice.euredomain.de`)"

In meinem Fall also:

"traefik.http.routers.onlyoffice.rule=Host(`onlyoffice.testbereich.net`)"
"traefik.http.routers.onlyoffice-secure.rule=Host(`onlyoffice.testbereich.net`)"

1.3.4 Zugangs­passwort anpassen

Nun müsst ihr euch noch ein sicheres Kennwort überlegen und dies hier einsetzen:

JWT_SECRET=geheim

Dieses Kennwort dient dazu, dass später nur ihr Zugriff auf euren Server habt. In meinem Fall lautet das Kennwort „geheim“. Ihr solltet etwas Sichereres wählen.

2. Onlyoffice starten

Gebt nun folgendes ein, um euren Onlyoffice Container zu starten: 

docker compose -f /opt/containers/onlyoffice/docker-compose.yml up -d 

Dieser Vorgang kann nun etwas dauern, da der Container „gebaut“ werden muss. 

Dies hat bei mir mehrere Minuten gedauert.  

Nun könnt ihr per Webbrowser auf euren Server gehen. Bei mir ist das „onlyoffice.testbereich.net“. Hier solltet ihr nun folgendes sehen: 

Wenn ihr dies noch nicht seht, dann müsst ihr noch etwas warten. 

3. Onlyoffice testen 

Nun kannst du OnlyOffice testen. Dazu kopierst du den angezeigten Code in deine Linux Konsole. 

In der Konsole solltest du folgendes sehen: 

Nun kannst du auf „GO TO TEST EXAMPLE“ klicken. 

Jetzt kommst du auf folgende Seite und kannst dort bereits OnlyOffice testen. 

4. OnlyOffice in Nextcloud integrieren

Nun integrieren wir OnlyOffice in Nextcloud, damit wir dort bequem online unsere Dokumente bearbeiten können.

Wir klicken also oben rechts auf den Kreis und wählen „Apps“ aus.

Nun klickt ihr auf „Einbindung“ und scrollt so lange nach unten, bis ihr „ONLYOFFICE“ findet.

Dies installiert ihr nun mit „Herunterladen und aktivieren“. Ihr werdet dann nach eurem Kennwort gefragt.

Nun klickt ihr wieder auf den Kreis rechts oben und wählt „Einstellungen“ aus.

Hier ist nun ein neuer Punkt „ONLYOFFICE“ dazu gekommen. Diesen wählt ihr aus. Jetzt seht ihr folgendes. Hier gebt ihr dann eure OnlyOffice URL ein sowie das JWT_Secret. Bei mir war dies „geheim“. Dieses Passwort hatten wir eben in der Datei gesetzt.

Wenn ihr alles eingegeben habt, klickt ihr auf Speichern. Wenn alle Eingaben korrekt waren, dann habt ihr euch erfolgreich mit eurem Server verbunden und bekommt weitere Einstellungen angezeigt. Nun können wir beispielsweise wählen, welche Dateien standardmäßig mit OnlyOffice geöffnet werden sollen.

5. Dateien mit OnlyOffice erstellen

Hier zeige ich euch, wie ihr nun OnlyOffice nutzen könnt. Dazu gehen wir zuerst in den Punkt „Dateien“. Klickt dazu auf den „Ordner“ oben links.

Nun klickt ihr auf das „Plus“ und wählt den Dateityp aus, den ihr erstellen möchtet. Ich entscheide mich für ein Dokument.

Jetzt startet sich OnlyOffice und ihr könnt ganz normal eure Dokumente hier schreiben. Der Vorteil ist nun, dass ihr die Dateien später leicht mit anderen Nutzern „teilen“ könnt.

Nächster Artikel
OpenSSH Public Key Authentifizierung auf VPS / vServer
Weitere passende Themen