ONLYOFFICE Docs für einen lokalen Server kompilieren

Einleitung

ONLYOFFICE Docs ist eine Online-Office-Suite mit Viewern und Editoren für Texte, Tabellen und Präsentationen, die vollständig mit den Office Open XML-Formaten .docx, .xlsx, .pptx kompatibel ist und die gemeinsame Bearbeitung in Echtzeit ermöglicht.

Sie können ONLYOFFICE Docs einfach aus dem Quellcode kompilieren und die Lösung mit den speziell entwickelten build_tools auf Ihrem lokalen Server bereitstellen. Die build_tools ermöglichen das automatische Abrufen und Installieren aller für den Kompilierungsprozess erforderlichen Komponenten, aller für die korrekte Funktion von ONLYOFFICE Docs erforderlichen Abhängigkeiten sowie das Abrufen der neuesten Version des ONLYOFFICE Docs-Quellcodes und das Erstellen aller Komponenten.

Wichtig! Wir können nur die korrekte Funktion der Produkte garantieren, die aus dem master-Zweig erstellt wurden.
Systemanforderungen

Hardware

  • CPU: Dual Core 2 GHz oder besser
  • RAM: mindestens 2 GB, hängt aber vom Host-Betriebssystem ab. Mehr ist besser
  • HDD: mindestens 40 GB freier Speicherplatz
  • SWAP: mindestens 4 GB, hängt aber vom Host-Betriebssystem ab. Mehr ist besser

Software

  • OS: 64-Bit Ubuntu 16.04
Die Lösung wurde unter Ubuntu 16.04 getestet. Andere Distributionen erfordern möglicherweise spezielle Maßnahmen, die hier nicht beschrieben werden.

Installieren von Abhängigkeiten

Möglicherweise müssen Sie Python und Git installieren, falls diese noch nicht auf Ihrem Computer installiert sind. Dies können Sie mit dem folgenden Befehl tun:

sudo apt-get install -y python git

Erstellen des ONLYOFFICE Docs-Quellcodes

  1. Klonen Sie das build_tools-Repository:
    git clone https://github.com/ONLYOFFICE/build_tools.git
  2. Gehen Sie zum Verzeichnis build_tools/tools/linux:
    cd build_tools/tools/linux
  3. Führen Sie das Skript automate.py aus und geben Sie den Parameter server an, um die ONLYOFFICE Docs zu kompilieren:
    ./automate.py server
    Wenn Sie das Skript ohne Parameter ausführen, werden ONLYOFFICE Docs zusammen mit Document Builder und Desktop Editoren erstellt.
    ./automate.py
    Bei Bedarf können Sie mehrere Produkte gleichzeitig erstellen, indem Sie das Skript mit den entsprechenden Parametern für die gewünschten Produkte ausführen. Weitere Informationen zum Kompilieren von Document Builder finden Sie in diesem Artikel. Weitere Informationen zum Kompilieren von Desktop-Editoren finden Sie in diesem Artikel.

Warten Sie, während das Skript ausgeführt wird. Je nach Leistung Ihres Computers kann dieser Vorgang einige Zeit in Anspruch nehmen. Beispielsweise dauert dies auf einem Intel Core i7-7700 mindestens 3 Stunden.

Das Skript kompiliert alle Abhängigkeiten und Komponenten, die Teil von ONLYOFFICE Docs sind.

Die erstellten ONLYOFFICE Docs sind im Verzeichnis ../../out/linux_64/onlyoffice/documentserver/ verfügbar.

Installieren und Konfigurieren von NGINX, PostgreSQL und RabbitMQ

ONLYOFFICE Docs verwendet NGINX als Webserver und PostgreSQL als Datenbank. RabbitMQ ist außerdem erforderlich, damit ONLYOFFICE Docs ordnungsgemäß funktioniert.

Installieren und Konfigurieren von NGINX
  1. Installieren Sie NGINX:
    sudo apt-get install nginx
  2. Deaktivieren Sie die Standardwebsite:
    sudo rm -f /etc/nginx/sites-enabled/default
  3. Nun müssen Sie die neue Website einrichten. Erstellen Sie dazu die Datei /etc/nginx/sites-available/onlyoffice-documentserver mit folgendem Inhalt:
    map $http_host $this_host {
      "" $host;
      default $http_host;
    }
    map $http_x_forwarded_proto $the_scheme {
      default $http_x_forwarded_proto;
      "" $scheme;
    }
    map $http_x_forwarded_host $the_host {
      default $http_x_forwarded_host;
      "" $this_host;
    }
    map $http_upgrade $proxy_connection {
      default upgrade;
      "" close;
    }
    proxy_set_header Host $http_host;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $proxy_connection;
    proxy_set_header X-Forwarded-Host $the_host;
    proxy_set_header X-Forwarded-Proto $the_scheme;
    server {
      listen 0.0.0.0:80;
      listen [::]:80 default_server;
      server_tokens off;
      rewrite ^\/OfficeWeb(\/apps\/.*)$ /web-apps$1 redirect;
      location / {
        proxy_pass http://localhost:8000;
        proxy_http_version 1.1;
      }  
    }
  4. Fügen Sie den symbolischen Link zur neu erstellten Website zum Verzeichnis /etc/nginx/sites-available hinzu:
    sudo ln -s /etc/nginx/sites-available/onlyoffice-documentserver /etc/nginx/sites-enabled/onlyoffice-documentserver
  5. Und starten Sie NGINX neu, um die Änderungen anzuwenden:
    sudo nginx -s reload
Installieren und Konfigurieren von PostgreSQL

Installieren Sie PostgreSQL mit dem folgenden Befehl:

sudo apt-get install postgresql

Sobald PostgreSQL installiert ist, führen Sie die folgenden Befehle aus, um die PostgreSQL-Datenbank und den PostgreSQL-Benutzer zu erstellen:

Die erstellte Datenbank muss sowohl als Benutzer als auch als Kennwort über onlyoffice verfügen.
sudo -i -u postgres psql -c "CREATE DATABASE onlyoffice;"
sudo -i -u postgres psql -c "CREATE USER onlyoffice WITH password 'onlyoffice';"
sudo -i -u postgres psql -c "GRANT ALL privileges ON DATABASE onlyoffice TO onlyoffice;"

Führen Sie den folgenden Befehl aus, um die Datenbank zu konfigurieren:

psql -hlocalhost -Uonlyoffice -d onlyoffice -f ../../out/linux_64/onlyoffice/documentserver/server/schema/postgresql/createdb.sql
Anschließend werden Sie aufgefordert, ein Kennwort für den PostgreSQL-Benutzer onlyoffice einzugeben. Bitte geben Sie das Kennwort onlyoffice ein.
Installieren von RabbitMQ

Installieren Sie RabbitMQ mit dem folgenden Befehl:

sudo apt-get install rabbitmq-server
Schriftartdaten generieren
cd out/linux_64/onlyoffice/documentserver/
mkdir fonts
LD_LIBRARY_PATH=${PWD}/server/FileConverter/bin server/tools/allfontsgen \
  --input="${PWD}/core-fonts" \
  --allfonts-web="${PWD}/sdkjs/common/AllFonts.js" \
  --allfonts="${PWD}/server/FileConverter/bin/AllFonts.js" \
  --images="${PWD}/sdkjs/common/Images" \
  --selection="${PWD}/server/FileConverter/bin/font_selection.bin" \
  --output-web='fonts' \
  --use-system="true"
Präsentationsthemen generieren
cd out/linux_64/onlyoffice/documentserver/
LD_LIBRARY_PATH=${PWD}/server/FileConverter/bin server/tools/allthemesgen \
  --converter-dir="${PWD}/server/FileConverter/bin"\
  --src="${PWD}/sdkjs/slide/themes"\
  --output="${PWD}/sdkjs/common/Images"

ONLYOFFICE Docs ausführen

Alle ONLYOFFICE Docs-Komponenten werden als Vordergrundprozesse ausgeführt. Daher benötigen Sie separate Terminalkonsolen oder spezielle Tools, die die Ausführung von Vordergrundprozessen im Hintergrundmodus ermöglichen.
  1. Starten Sie den Dienst FileConverter:
    cd out/linux_64/onlyoffice/documentserver/server/FileConverter
    LD_LIBRARY_PATH=$PWD/bin NODE_ENV=development-linux NODE_CONFIG_DIR=$PWD/../Common/config ./converter
  2. Starten Sie den Dienst DocService:
    cd out/linux_64/onlyoffice/documentserver/server/DocService
    NODE_ENV=development-linux NODE_CONFIG_DIR=$PWD/../Common/config ./docservice

Hosten ONLYOFFICE Docs auf Ihrem eigenen Server oder nutzen Sie es in der Cloud

Artikel zum Thema:
Alle Schlagwörter