• Home
  • Compilando ONLYOFFICE Docs para um servidor local

Compilando ONLYOFFICE Docs para um servidor local

Introdução

ONLYOFFICE Docs é uma suíte de escritório online que compreende visualizadores e editores para textos, planilhas e apresentações, totalmente compatível com formatos Office Open XML: .docx, .xlsx, .pptx e habilitando edição colaborativa em tempo real.

Você pode facilmente compilar o ONLYOFFICE Docs a partir de códigos-fonte e implantar a solução em seu servidor local usando as build_tools especialmente projetadas. As build_tools permitem obter e instalar automaticamente todos os componentes necessários para o processo de compilação, todas as dependências necessárias para o funcionamento correto do ONLYOFFICE Docs, bem como obter a versão mais recente do código-fonte do ONLYOFFICE Docs e compilar todos os seus componentes.

Importante! Só podemos garantir o funcionamento correto dos produtos compilados a partir da branch master.
Requisitos do sistema

Hardware

  • CPU: dual core 2 GHz ou melhor
  • RAM: pelo menos 2 GB, mas depende do sistema operacional host. Quanto mais, melhor
  • HDD: pelo menos 40 GB de espaço livre
  • SWAP: pelo menos 4 GB, mas depende do sistema operacional host. Quanto mais, melhor

Software

  • SO: Ubuntu 16.04 64-bit
A solução foi testada no Ubuntu 16.04. Outras distribuições podem exigir algumas ações específicas, que não são descritas aqui.

Instalando dependências

Você pode precisar instalar Python e Git se eles ainda não estiverem instalados em seu computador. Isso pode ser feito usando o seguinte comando:

sudo apt-get install -y python git

Compilando o código-fonte do ONLYOFFICE Docs

  1. Clone o repositório build_tools:
    git clone https://github.com/ONLYOFFICE/build_tools.git
  2. Vá para o diretório build_tools/tools/linux:
    cd build_tools/tools/linux
  3. Execute o script automate.py especificando o parâmetro server para compilar o ONLYOFFICE Docs:
    ./automate.py server
    Se você executar o script sem parâmetros, isso compilará o ONLYOFFICE Docs juntamente com o Document Builder e os Desktop Editors.
    ./automate.py
    Se necessário, você pode compilar vários produtos ao mesmo tempo executando o script com os parâmetros correspondentes aos produtos necessários. Para saber mais sobre a compilação do Document Builder, você pode ler este artigo. Para saber mais sobre a compilação dos Desktop Editors, consulte este artigo.

Aguarde enquanto o script está sendo executado. Dependendo dos recursos do seu computador, este processo pode levar um tempo considerável. Por exemplo, isso leva pelo menos 3 horas no Intel Core i7-7700.

O script compilará todas as dependências e componentes que fazem parte do ONLYOFFICE Docs.

O ONLYOFFICE Docs compilado estará disponível no diretório ../../out/linux_64/onlyoffice/documentserver/.

Instalando e configurando NGINX, PostgreSQL e RabbitMQ

O ONLYOFFICE Docs usa NGINX como servidor web e PostgreSQL como banco de dados. O RabbitMQ também é necessário para o funcionamento correto do ONLYOFFICE Docs.

Instalando e configurando NGINX
  1. Instale o NGINX:
    sudo apt-get install nginx
  2. Desabilite o site padrão:
    sudo rm -f /etc/nginx/sites-enabled/default
  3. Agora você precisa configurar o novo site. Para fazer isso, crie o arquivo /etc/nginx/sites-available/onlyoffice-documentserver com o seguinte conteúdo:
    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. Adicione o link simbólico para o site recém-criado ao diretório /etc/nginx/sites-available:
    sudo ln -s /etc/nginx/sites-available/onlyoffice-documentserver /etc/nginx/sites-enabled/onlyoffice-documentserver
  5. E reinicie o NGINX para aplicar as alterações:
    sudo nginx -s reload
Instalando e configurando PostgreSQL

Instale o PostgreSQL usando o seguinte comando:

sudo apt-get install postgresql

Depois que o PostgreSQL for instalado, execute os seguintes comandos para criar o banco de dados e o usuário do PostgreSQL:

O banco de dados criado deve ter onlyoffice tanto para usuário quanto para senha.
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;"

Execute o seguinte comando para configurar o banco de dados:

psql -hlocalhost -Uonlyoffice -d onlyoffice -f ../../out/linux_64/onlyoffice/documentserver/server/schema/postgresql/createdb.sql
Ao fazer isso, será solicitado que você forneça uma senha para o usuário PostgreSQL onlyoffice. Por favor, insira a senha onlyoffice.
Instalando RabbitMQ

Instale o RabbitMQ usando o seguinte comando:

sudo apt-get install rabbitmq-server
Gerar dados de fontes
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"
Gerar temas de apresentação
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"

Executando o ONLYOFFICE Docs

Todos os componentes do ONLYOFFICE Docs são executados como processos em primeiro plano. Portanto, você precisa de consoles de terminal separados para executá-los ou ferramentas específicas que permitirão executar processos em primeiro plano no modo de segundo plano.
  1. Inicie o serviço 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
  2. Inicie o serviço DocService:
    cd out/linux_64/onlyoffice/documentserver/server/DocService
    NODE_ENV=development-linux NODE_CONFIG_DIR=$PWD/../Common/config ./docservice
Artigo com o tag:
Veja todas as etiquetas