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.
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
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
-
Klonirajte build_tools repozitorijum:
git clone https://github.com/ONLYOFFICE/build_tools.git -
Idite u direktorijum
build_tools/tools/linux:cd build_tools/tools/linux -
Pokrenite skriptu
automate.pynavodeći parametarserverza kompilaciju ONLYOFFICE Docs:python3 ./automate.py servernoteAko pokrenete skriptu bez parametara, ovo će izgraditi ONLYOFFICE Docs zajedno sa Document Builder i Desktop Editors.
python3 ./automate.pyAko 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
-
Instalirajte NGINX:
sudo apt-get install nginx -
Onemogućite podrazumevani sajt:
sudo rm -f /etc/nginx/sites-enabled/default -
Kreirajte fajl
/etc/nginx/sites-available/onlyoffice-documentserversa 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;}} -
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 -
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
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.
-
Pokrenite FileConverter servis:
cd out/linux_64/onlyoffice/documentserver/server/FileConverterLD_LIBRARY_PATH=$PWD/bin NODE_ENV=development-linux NODE_CONFIG_DIR=$PWD/../Common/config ./converter -
Pokrenite DocService servis:
cd out/linux_64/onlyoffice/documentserver/server/DocServiceNODE_ENV=development-linux NODE_CONFIG_DIR=$PWD/../Common/config ./docservice