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.
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
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
-
Klonen Sie das build_tools-Repository:
git clone https://github.com/ONLYOFFICE/build_tools.git -
Gehen Sie zum Verzeichnis
build_tools/tools/linux:cd build_tools/tools/linux -
Führen Sie das Skript
automate.pyaus und geben Sie den Parameterserveran, um die ONLYOFFICE Docs zu kompilieren:python3 ./automate.py serverhinweisWenn Sie das Skript ohne Parameter ausführen, werden ONLYOFFICE Docs zusammen mit Document Builder und Desktop-Editoren erstellt.
python3 ./automate.pyBei 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
-
Installieren Sie NGINX:
sudo apt-get install nginx -
Deaktivieren Sie die Standardwebsite:
sudo rm -f /etc/nginx/sites-enabled/default -
Erstellen Sie die Datei
/etc/nginx/sites-available/onlyoffice-documentservermit 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;}} -
Fügen Sie den symbolischen Link zur neu erstellten Website zum Verzeichnis
/etc/nginx/sites-availablehinzu:sudo ln -s /etc/nginx/sites-available/onlyoffice-documentserver /etc/nginx/sites-enabled/onlyoffice-documentserver -
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
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.
-
Starten Sie den Dienst FileConverter:
cd out/linux_64/onlyoffice/documentserver/server/FileConverterLD_LIBRARY_PATH=$PWD/bin NODE_ENV=development-linux NODE_CONFIG_DIR=$PWD/../Common/config ./converter -
Starten Sie den Dienst DocService:
cd out/linux_64/onlyoffice/documentserver/server/DocServiceNODE_ENV=development-linux NODE_CONFIG_DIR=$PWD/../Common/config ./docservice