Cómo compilar ONLYOFFICE Document Server desde el código fuente en Ubuntu
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.
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.