Cómo compilar ONLYOFFICE Document Server desde el código fuente en Ubuntu

Editor de documentos de ONLYOFFICE

Servidor de documentos ONLYOFFICE comprende visores basados ‚Äč‚Äčen web y editores colaborativos para documentos de texto, hojas de c√°lculo y presentaciones que brindan alta compatibilidad con formatos OOXML (docx, xlsx, pptx). La suite se distribuye bajo GNU AGPL v3.0.

ONLYOFFICE Document Server puede integrarse con varias plataformas de almacenamiento en la nube como Nextcloud, ownCloud, Seafile, HumHub, Plone, etc., así como también puede integrarse en la solución que está creando usted mismo. Document Server se puede utilizar como parte de ONLYOFFICE Community Edition, una solución gratuita de código abierto con editores en línea y una plataforma de colaboración.

Editor de documentos de ONLYOFFICE

Las build_tools permiten a los usuarios instalar autom√°ticamente todos los componentes necesarios y compilar la √ļltima versi√≥n de los editores en l√≠nea desde el c√≥digo fuente.

En este tutorial, aprenderemos a compilar ONLYOFFICE Document Server para su instalación de Ubuntu (Ubuntu de 64 bits).

Requisitos del sistema

  • CPU: Dual core 2 GHz o mejor
  • RAM: 2 GB o m√°s
  • HDD: al menos 40 GB de espacio libre
  • Al menos 4 GB de intercambio

Paso 1: Instala las dependencias

En caso de que Python y Git no estén instalados en su computadora, instálelos con el siguiente comando:

sudo apt-get install -y python git

Paso 2: compilar el código fuente del servidor de documentos

Clona el repositorio build_tools:

git clone https://github.com/ONLYOFFICE/build_tools.git

Vaya al directorio apropiado:

cd build_tools/tools/linux

Ejecute el script:

./automate.py server

Una vez hecho esto, el Document Server creado est√° disponible en el directorio ../../out/linux_64/onlyoffice/documentserver/.

Paso 3: Instale y configure NGINX, PostgreSQL y RabbitMQ

Document Server utiliza NGINX como servidor web y PostgreSQL como base de datos. RabbitMQ también es necesario para el trabajo correcto.

1. Instalar y configurar NGINX

Instale NGINX con este comando:

sudo apt-get install nginx

Deshabilitar el sitio web predeterminado:

sudo rm -f /etc/nginx/sites-enabled/default

Configure el nuevo sitio web. Crear el /etc/nginx/sitios-disponibles/onlyoffice-documentserver archivo que contiene los siguientes datos:

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;
  }
  location /spellchecker/ {
    proxy_pass http://localhost:8080/;
    proxy_http_version 1.1;
  }
}

Agregue el enlace simbólico al sitio web recién creado en el directorio /etc/nginx/sites-available:

sudo ln -s /etc/nginx/sites-available/onlyoffice-documentserver /etc/nginx/sites-enabled/onlyoffice-documentserver

Reinicie NGINX:

sudo nginx -s reload

2. Instalar y configurar PostgreSQL

Instale PostgreSQL:

sudo apt-get install postgresql

Cree la base de datos y el usuario de PostgreSQL (ingrese ‘onlyoffice’ tanto para el usuario como para la contrase√Īa):

sudo -i -u postgres psql -c "CREATE DATABASE onlyoffice;"
sudo -i -u postgres psql -c "CREATE USER onlyoffice WITH password 'onlyoffice';"
sudo -i -u postgres psql -c "GRANT ALL privileges ON DATABASE onlyoffice TO onlyoffice;"

Configurar la base de datos:

psql -hlocalhost -Uonlyoffice -d onlyoffice -f ../../out/linux_64/onlyoffice/documentserver/server/schema/postgresql/createdb.sql

¬°El comando anterior es una l√≠nea! Ingrese la contrase√Īa de ‘onlyoffice’ cuando se le solicite que proporcione una contrase√Īa para el usuario de PostgreSQL de onlyoffice.

3. Instalar RabbitMQ

Instale RabbitMQ con el siguiente comando:

sudo apt-get install rabbitmq-server

Paso 4: generar datos de fuentes

Ejecuta los comandos:

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"

Paso 5: generar temas de presentación

Ejecute los siguientes comandos:

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"

Paso 6: Ejecute Document Server

Todos los componentes de ONLYOFFICE Document Server se ejecutan como procesos en primer plano. Debe separar las consolas de terminales para ejecutarlas o iniciar herramientas específicas que permitan ejecutar procesos en primer plano en modo de fondo.

Inicie el servicio 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

Inicie el servicio del corrector ortogr√°fico:

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

Inicie el servicio DocService:

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

¡Eso es todo! Ahora puede elegir una de las opciones de cómo usar ONLYOFFICE Document Server (editores en línea) descritas en la introducción: integrado con cualquier servicio de almacenamiento en la nube, o integrado en su propia solución, o junto con ONLYOFFICE Community Server.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *