Pređi na glavni sadržaj

Kompilacija ONLYOFFICE Docs za lokalni server

Uvod​

ONLYOFFICE Docs je online kancelarijski paket koji uključuje preglednike i uređivače za tekstualne dokumente, tabele i prezentacije, potpuno kompatibilan sa Office Open XML formatima: .docx, .xlsx, .pptx i omogućava kolaborativno uređivanje u realnom vremenu.

Možete lako kompajlirati ONLYOFFICE Docs iz izvornog koda i implementirati rešenje na vašem lokalnom serveru koristeći specijalno dizajnirane build_tools. Build_tools vam omogućavaju da automatski preuzmete i instalirate sve komponente potrebne za proces kompilacije, sve zavisnosti potrebne za ispravan rad ONLYOFFICE Docs, kao i da dobijete najnoviju verziju izvornog koda ONLYOFFICE Docs i izgradite sve njegove komponente.

Važno

Možemo garantovati ispravan rad proizvoda samo ako su izgrađeni iz master grane.

Sistemski zahtevi​

Hardver

  • CPU: 4 jezgra
  • RAM: najmanje 8 GB, ali zavisi od operativnog sistema domaćina. Više je bolje
  • SSD: najmanje 100 GB slobodnog prostora
  • SWAP: najmanje 4 GB, ali zavisi od operativnog sistema domaćina. Više je bolje

Softver

  • OS: 64-bitni Ubuntu 24.04
note

Rešenje je testirano na Ubuntu 24.04. Druge distribucije mogu zahtevati specifične akcije koje ovde nisu opisane.

Instalacija zavisnosti​

Možda ćete morati da instalirate Python i Git ako već nisu instalirani na vašem računaru. Ovo se može uraditi pomoću sledeće komande:

sudo apt-get install -y python3 git

Kompilacija izvornog koda ONLYOFFICE Docs​

  1. Klonirajte build_tools repozitorijum:

    git clone https://github.com/ONLYOFFICE/build_tools.git
  2. Idite u direktorijum build_tools/tools/linux:

    cd build_tools/tools/linux
  3. Pokrenite skriptu automate.py navodeći parametar server za kompilaciju ONLYOFFICE Docs:

    python3 ./automate.py server
    note

    Ako pokrenete skriptu bez parametara, ovo će izgraditi ONLYOFFICE Docs zajedno sa Document Builder i Desktop Editors.

    python3 ./automate.py

    Ako je potrebno, možete izgraditi nekoliko proizvoda odjednom pokretanjem skripte sa parametrima koji odgovaraju potrebnim proizvodima. Da biste saznali više o kompilaciji Document Builder, možete pročitati ovaj članak. Da biste saznali više o kompilaciji Desktop Editors, molimo vas da pogledate ovaj članak.

Sačekajte dok se skripta izvršava. U zavisnosti od mogućnosti vašeg računara, ovaj proces može potrajati značajno vreme. Na primer, ovo traje najmanje 3 sata na 4x2.3GHz vCPUs.

Skripta će kompajlirati sve zavisnosti i komponente koje su deo ONLYOFFICE Docs.

Izgrađeni ONLYOFFICE Docs će biti dostupan u direktorijumu ../../out/linux_64/onlyoffice/documentserver/.

Instalacija i konfiguracija NGINX​

ONLYOFFICE Docs koristi NGINX kao veb server.

Instalacija i konfiguracija NGINX​

  1. Instalirajte NGINX:

    sudo apt-get install nginx
  2. Onemogućite podrazumevani sajt:

    sudo rm -f /etc/nginx/sites-enabled/default
  3. Kreirajte fajl /etc/nginx/sites-available/onlyoffice-documentserver sa sledećim sadržajem:

    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. Dodajte simbolički link na novokreirani sajt u direktorijum /etc/nginx/sites-available:

    sudo ln -s /etc/nginx/sites-available/onlyoffice-documentserver /etc/nginx/sites-enabled/onlyoffice-documentserver
  5. Restartujte NGINX da biste primenili promene:

    sudo nginx -s reload

Generisanje podataka o fontovima​

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"

Generisanje tema za prezentacije​

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"

Pokretanje ONLYOFFICE Docs​

note

Sve ONLYOFFICE Docs komponente se pokreću kao procesi u prvom planu. Stoga, potrebni su vam odvojeni terminali za njihovo pokretanje ili specifični alati koji omogućavaju pokretanje procesa u prvom planu u pozadinskom režimu.

  1. Pokrenite FileConverter servis:

    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. Pokrenite DocService servis:

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