Zum Hauptinhalt springen

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: 4 Kerne
  • RAM: mindestens 8 GB, hängt aber vom Host-Betriebssystem ab. Mehr ist besser
  • SSD: mindestens 100 GB freier Speicherplatz
  • SWAP: mindestens 4 GB, hängt aber vom Host-Betriebssystem ab. Mehr ist besser

Software

  • OS: 64-Bit Ubuntu 24.04
hinweis

Die Lösung wurde unter Ubuntu 24.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 python3 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:

    python3 ./automate.py server
    hinweis

    Wenn Sie das Skript ohne Parameter ausführen, werden ONLYOFFICE Docs zusammen mit Document Builder und Desktop-Editoren erstellt.

    python3 ./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 4x2.3GHz vCPUs 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​

ONLYOFFICE Docs verwendet NGINX als Webserver.

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. Erstellen Sie 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. Starten Sie NGINX neu, um die Änderungen anzuwenden:

    sudo nginx -s reload

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​

hinweis

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