Passa al contenuto principale

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.

Importante

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
note

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​

  1. Clona il repository build_tools:

    git clone https://github.com/ONLYOFFICE/build_tools.git
  2. Vai alla directory build_tools/tools/linux:

    cd build_tools/tools/linux
  3. Esegui lo script automate.py specificando il parametro server per compilare ONLYOFFICE Docs:

    python3 ./automate.py server
    note

    Se esegui lo script senza parametri, questo costruirà ONLYOFFICE Docs insieme a Document Builder e Desktop Editors.

    python3 ./automate.py

    Se 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​

  1. Installa NGINX:

    sudo apt-get install nginx
  2. Disabilita il sito web predefinito:

    sudo rm -f /etc/nginx/sites-enabled/default
  3. Crea il file /etc/nginx/sites-available/onlyoffice-documentserver con 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;
    }
    }
  4. 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
  5. 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​

note

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.

  1. Avvia il servizio 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. Avvia il servizio DocService:

    cd out/linux_64/onlyoffice/documentserver/server/DocService
    NODE_ENV=development-linux NODE_CONFIG_DIR=$PWD/../Common/config ./docservice