Compilación de ONLYOFFICE Docs para un servidor local
Introducción
ONLYOFFICE Docs es una suite ofimática en línea que incluye visores y editores para documentos de texto, hojas de cálculo y presentaciones, totalmente compatible con los formatos Office Open XML: .docx, .xlsx, .pptx y que permite la edición colaborativa en tiempo real.
Puedes compilar fácilmente ONLYOFFICE Docs a partir del código fuente y desplegar la solución en tu servidor local utilizando las build_tools especialmente diseñadas. Las build_tools te permiten obtener e instalar automáticamente todos los componentes necesarios para el proceso de compilación, todas las dependencias requeridas para el correcto funcionamiento de ONLYOFFICE Docs, así como obtener la última versión del código fuente de ONLYOFFICE Docs y compilar todos sus componentes.
Solo podemos garantizar el correcto funcionamiento de los productos construidos desde la rama master.
Requisitos del sistema
Hardware
- CPU: 4 núcleos
- RAM: al menos 8 GB, pero depende del sistema operativo anfitrión. Más es mejor
- SSD: al menos 100 GB de espacio libre
- SWAP: al menos 4 GB, pero depende del sistema operativo anfitrión. Más es mejor
Software
- OS: Ubuntu 24.04 de 64 bits
La solución ha sido probada en Ubuntu 24.04. Otras distribuciones pueden requerir acciones específicas, que no se describen aquí.
Instalación de dependencias
Es posible que necesites instalar Python y Git si aún no están instalados en tu computadora. Esto se puede hacer usando el siguiente comando:
sudo apt-get install -y python3 git
Compilación del código fuente de ONLYOFFICE Docs
-
Clona el repositorio build_tools:
git clone https://github.com/ONLYOFFICE/build_tools.git -
Ve al directorio
build_tools/tools/linux:cd build_tools/tools/linux -
Ejecuta el script
automate.pyespecificando el parámetroserverpara compilar ONLYOFFICE Docs:python3 ./automate.py servernotaSi ejecutas el script sin ningún parámetro, esto compilará ONLYOFFICE Docs junto con Document Builder y Desktop Editors.
python3 ./automate.pySi es necesario, puedes compilar varios productos a la vez ejecutando el script con los parámetros correspondientes a los productos necesarios. Para aprender más sobre la compilación de Document Builder, puedes leer este artículo. Para aprender más sobre la compilación de Desktop Editors, por favor consulta este artículo.
Espera mientras se ejecuta el script. Dependiendo de las capacidades de tu computadora, este proceso puede tomar un tiempo considerable. Por ejemplo, esto toma al menos 3 horas en 4x2.3GHz vCPUs.
El script compilará todas las dependencias y componentes que forman parte de ONLYOFFICE Docs.
El ONLYOFFICE Docs compilado estará disponible en el directorio ../../out/linux_64/onlyoffice/documentserver/.
Instalación y configuración de NGINX
ONLYOFFICE Docs utiliza NGINX como servidor web.
Instalación y configuración de NGINX
-
Instala NGINX:
sudo apt-get install nginx -
Desactiva el sitio web predeterminado:
sudo rm -f /etc/nginx/sites-enabled/default -
Crea el archivo
/etc/nginx/sites-available/onlyoffice-documentservercon el siguiente contenido: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;}} -
Añade el enlace simbólico al nuevo sitio creado en el directorio
/etc/nginx/sites-available:sudo ln -s /etc/nginx/sites-available/onlyoffice-documentserver /etc/nginx/sites-enabled/onlyoffice-documentserver -
Reinicia NGINX para aplicar los cambios:
sudo nginx -s reload
Generación de datos de fuentes
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"
Generación de temas de presentación
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"
Ejecución de ONLYOFFICE Docs
Todos los componentes de ONLYOFFICE Docs se ejecutan como procesos en primer plano. Por lo tanto, necesitas consolas de terminal separadas para ejecutarlos o herramientas específicas que permitan ejecutar procesos en primer plano en modo de fondo.
-
Inicia el servicio FileConverter:
cd out/linux_64/onlyoffice/documentserver/server/FileConverterLD_LIBRARY_PATH=$PWD/bin NODE_ENV=development-linux NODE_CONFIG_DIR=$PWD/../Common/config ./converter -
Inicia el servicio DocService:
cd out/linux_64/onlyoffice/documentserver/server/DocServiceNODE_ENV=development-linux NODE_CONFIG_DIR=$PWD/../Common/config ./docservice