Compilare ONLYOFFICE Docs per un server locale
Introduzione
ONLYOFFICE Docs è una suite per ufficio online che comprende visualizzatori ed editor per documenti di testo, fogli di calcolo e presentazioni, completamente compatibile con i formati Office Open XML: .docx, .xlsx, .pptx e che consente l'editing collaborativo in tempo reale.
Puoi facilmente compilare ONLYOFFICE Docs dai codici sorgente e distribuire la soluzione sul tuo server locale utilizzando gli appositi build_tools. I build_tools ti permettono di ottenere e installare automaticamente tutti i componenti necessari per il processo di compilazione, tutte le dipendenze richieste per il corretto funzionamento di ONLYOFFICE Docs, oltre a ottenere l'ultima versione del codice sorgente di ONLYOFFICE Docs e costruire tutti i suoi componenti.
Possiamo garantire il corretto funzionamento dei prodotti costruiti solo dal branch master.
Requisiti di sistema
Hardware
- CPU: 4 core
- RAM: almeno 8 GB, ma dipende dal sistema operativo host. Più è meglio
- SSD: almeno 100 GB di spazio libero
- SWAP: almeno 4 GB, ma dipende dal sistema operativo host. Più è meglio
Software
- OS: Ubuntu 24.04 a 64 bit
La soluzione è stata testata su Ubuntu 24.04. Altre distribuzioni potrebbero richiedere alcune azioni specifiche, che non sono descritte qui.
Installazione delle dipendenze
Potrebbe essere necessario installare Python e Git se non sono ancora installati sul tuo computer. Questo può essere fatto utilizzando il seguente comando:
sudo apt-get install -y python3 git
Compilazione del codice sorgente di ONLYOFFICE Docs
-
Clona il repository build_tools:
git clone https://github.com/ONLYOFFICE/build_tools.git -
Vai alla directory
build_tools/tools/linux:cd build_tools/tools/linux -
Esegui lo script
automate.pyspecificando il parametroserverper compilare ONLYOFFICE Docs:python3 ./automate.py servernoteSe esegui lo script senza parametri, questo costruirà ONLYOFFICE Docs insieme a Document Builder e Desktop Editors.
python3 ./automate.pySe necessario, puoi costruire diversi prodotti contemporaneamente eseguendo lo script con i parametri corrispondenti ai prodotti necessari. Per saperne di più sulla compilazione di Document Builder, puoi leggere questo articolo. Per saperne di più sulla compilazione di Desktop Editors, consulta questo articolo.
Attendi mentre lo script viene eseguito. A seconda delle capacità del tuo computer, questo processo potrebbe richiedere un tempo considerevole. Ad esempio, richiede almeno 3 ore su 4x2.3GHz vCPUs.
Lo script compilerà tutte le dipendenze e i componenti che fanno parte di ONLYOFFICE Docs.
Il ONLYOFFICE Docs costruito sarà disponibile nella directory ../../out/linux_64/onlyoffice/documentserver/.
Installazione e configurazione di NGINX
ONLYOFFICE Docs utilizza NGINX come server web.
Installazione e configurazione di NGINX
-
Installa NGINX:
sudo apt-get install nginx -
Disabilita il sito web predefinito:
sudo rm -f /etc/nginx/sites-enabled/default -
Crea il file
/etc/nginx/sites-available/onlyoffice-documentservercon il seguente contenuto: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;}} -
Aggiungi il collegamento simbolico al sito web appena creato nella directory
/etc/nginx/sites-available:sudo ln -s /etc/nginx/sites-available/onlyoffice-documentserver /etc/nginx/sites-enabled/onlyoffice-documentserver -
Riavvia NGINX per applicare le modifiche:
sudo nginx -s reload
Generazione dei dati dei font
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"
Generazione dei temi delle presentazioni
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"
Esecuzione di ONLYOFFICE Docs
Tutti i componenti di ONLYOFFICE Docs vengono eseguiti come processi in primo piano. Pertanto, hai bisogno di console terminali separate per eseguirli o di strumenti specifici che consentano di eseguire processi in primo piano in modalità background.
-
Avvia il servizio FileConverter:
cd out/linux_64/onlyoffice/documentserver/server/FileConverterLD_LIBRARY_PATH=$PWD/bin NODE_ENV=development-linux NODE_CONFIG_DIR=$PWD/../Common/config ./converter -
Avvia il servizio DocService:
cd out/linux_64/onlyoffice/documentserver/server/DocServiceNODE_ENV=development-linux NODE_CONFIG_DIR=$PWD/../Common/config ./docservice