Instalando o ONLYOFFICE Docs Enterprise Edition (CentOS/RHEL)

Introdução

O Enterprise Edition permite que você instale o ONLYOFFICE Docs de forma segura em seu próprio servidor local e integre os editores online com a plataforma de colaboração ONLYOFFICE ou com outros sistemas populares.

O ONLYOFFICE Docs é um pacote office online de alto desempenho que compreende visualizadores e editores para textos, planilhas e apresentações. É totalmente compatível com os formatos Office Open XML (.docx, .xlsx, .pptx) e permite a edição colaborativa em tempo real.

Principais Funcionalidades:

  • Document Editor, Spreadsheet Editor e Presentation Editor
  • Visualizadores e editores web otimizados para dispositivos móveis
  • Edição colaborativa em tempo real
  • Suporte a hieróglifos e caracteres complexos
  • Suporte nativo para os formatos populares: DOC, DOCX, TXT, ODT, RTF, ODP, EPUB, ODS, XLS, XLSX, CSV, PPTX, HTML

Veja a lista detalhada de recursos disponíveis para o ONLYOFFICE Docs Enterprise Edition.

Ao utilizá-lo em conjunto com o ONLYOFFICE Workspace, você também poderá:

  • Compartilhar arquivos internamente e externamente;
  • Gerenciar direitos e permissões de acesso rigorosas a documentos;
  • Incorporar documentos publicamente em sites e portais;
  • Visualizar e editar arquivos armazenados em provedores conectados, como Google Drive, Box, Dropbox, OneDrive e OwnCloud.

Este guia demonstrará como instalar a versão Linux do ONLYOFFICE Docs Enterprise Edition na sua infraestrutura Red Hat / CentOS.


Requisitos de sistema

  • CPU: Processador Dual Core de 2 GHz ou superior
  • RAM: Mínimo de 2 GB (A necessidade real depende da carga do SO host; quanto mais memória, melhor)
  • HDD / SSD: Pelo menos 40 GB de espaço livre em disco
  • SWAP: Pelo menos 4 GB (A eficiência do Swap depende estritamente do SO host)
  • SO: CentOS Stream 9, RHEL 8 ou RHEL 9
  • Requisitos de Software Adicionais:
    • PostgreSQL: versão 12.9 ou posterior
    • NGINX: versão 1.3.13 ou posterior
    • Redis: versão 5 ou posterior
    • RabbitMQ

Passo 1. Instalando as dependências do sistema

Instalando a versão atualizada do pacote NGINX

Para configurar o repositório YUM oficial do NGINX para RHEL/CentOS, crie um arquivo chamado /etc/yum.repos.d/nginx.repo com o seguinte conteúdo:

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key

Referência: Instrução oficial do NGINX

Em seguida, instale o NGINX:

sudo yum install nginx

Depois disso, edite o arquivo de configuração global do NGINX localizado em /etc/nginx/nginx.conf para que ele reflita os seguintes parâmetros de performance e roteamento:

user                  nginx;
worker_processes      1;
error_log             /var/log/nginx/error.log warn;
pid                   /var/run/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log          /var/log/nginx/access.log  main;
    sendfile            on;
    #tcp_nopush         on;
    keepalive_timeout   65;
    #gzip               on;
    include             /etc/nginx/conf.d/*.conf;
}
Instalando o repositório EPEL

Para o CentOS 7/8 ou versões clássicas:

sudo yum install epel-release

Para instalar o EPEL de forma correta no CentOS Stream 9, use os seguintes comandos:

sudo yum config-manager --set-enabled crb
sudo yum install epel-release epel-next-release

Para instalar o EPEL no RHEL (Red Hat Enterprise Linux), utilize:

sudo subscription-manager repos --enable codeready-builder-for-rhel-$REV-$(arch)-rpms
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-$REV.noarch.rpm
Lembre-se de alterar a variável $REV para a versão do seu SO manualmente (7 para versões 7.x, 8 para versões 8.x, 9 para versões 9.x, etc.).
Instalando e configurando o PostgreSQL

Instale a versão do PostgreSQL incluída nativamente no repositório da sua versão do sistema:

sudo yum install postgresql postgresql-server
Se você deseja instalar alguma versão mais atualizada diretamente do Repositório do PostgreSQL, consulte a documentação oficial do PostgreSQL para Red Hat.

1. Inicialize o banco de dados PostgreSQL e ative-o:

sudo service postgresql initdb 
sudo chkconfig postgresql on

Nota: No CentOS 9, o chkconfig não é instalado por padrão. Instale-o antes usando o comando: sudo yum install chkconfig.

2. Ative o método de autenticação 'scram-sha-256' para localhost (IPv4 e IPv6):

Abra o arquivo /var/lib/pgsql/data/pg_hba.conf em um editor de texto (como Nano ou Vim). Encontre a string host all all 127.0.0.1/32 ident e substitua-a pela seguinte linha:

host    all             all             127.0.0.1/32            scram-sha-256

Em seguida, encontre a string host all all ::1/128 ident e substitua-a por:

host    all             all             ::1/128                 scram-sha-256

Salve as alterações.

Ainda no terminal, abra o arquivo /var/lib/pgsql/data/postgresql.conf. Encontre a variável 'password_encryption', remova o caractere de comentário (#) e altere o valor para garantir o nível de criptografia correto:

password_encryption = 'scram-sha-256'

Salve as alterações e reinicie o serviço PostgreSQL:

sudo service postgresql restart

3. Crie o banco de dados e o usuário da aplicação:

Acesse o diretório temporário para evitar erros de permissão de diretório (could not change directory to "/root") ao logar como usuário postgres:

cd /tmp

Crie a estrutura de dados (No exemplo, definimos tanto o usuário quanto a senha como "onlyoffice"):

sudo -i -u postgres psql -c "CREATE USER onlyoffice WITH PASSWORD 'onlyoffice';"
sudo -i -u postgres psql -c "CREATE DATABASE onlyoffice OWNER onlyoffice;"
Instalando o Redis

Execute o instalador e habilite o Redis para iniciar durante o boot do sistema:

sudo yum -y install redis
sudo systemctl enable --now redis
Instalando o RabbitMQ

Importe os scripts do RabbitMQ e Erlang do repositório PackageCloud:

sudo curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | os=centos dist=$REV sudo bash
sudo curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | os=centos dist=$REV sudo bash

Não esqueça de alterar $REV para a versão base do seu SO (7, 8 ou 9).

Instale os pacotes e habilite a inicialização no boot:

sudo yum install rabbitmq-server
sudo systemctl enable --now rabbitmq-server

Alternativamente, você pode instalar o RabbitMQ no CentOS 8 ou 9 a partir do site oficial da ferramenta.

Adicionando o repositório do ONLYOFFICE Docs

Adicione o repositório oficial YUM do ONLYOFFICE Docs ao sistema:

sudo yum install https://download.onlyoffice.com/repo/centos/main/noarch/onlyoffice-repo.noarch.rpm
Instalando fontes da Microsoft (mscorefonts)

Instale os pacotes extratores de fontes essenciais para a renderização correta de documentos herdados do Windows:

sudo yum install cabextract xorg-x11-font-utils

Nota: Para o CentOS 7.8 (2003), o pacote auxiliar fontconfig também é estritamente necessário (sudo yum install fontconfig).

Baixe e instale o pacote RPM do msttcore:

sudo rpm -i https://sourceforge.net/projects/mscorefonts2/files/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

Passo 2. Instalando o ONLYOFFICE Docs Enterprise Edition

Com toda a base do servidor operante, execute a instalação do pacote primário:

sudo yum install onlyoffice-documentserver-ee

Inicie o serviço proxy do NGINX e habilite-o no boot:

sudo service nginx start
sudo systemctl enable nginx

Depois disso, o ONLYOFFICE Docs será executado como um processo em segundo plano e poderá ser atualizado no futuro como qualquer outro pacote RPM.


Configuração Avançada: Alterando a porta padrão

Por padrão, o ONLYOFFICE Docs escuta conexões de entrada na porta web 80. A partir da versão 4.3, você pode mapear o serviço para outra porta, caso deseje alocá-la para aplicações paralelas no mesmo host.

Se for alterar a porta padrão, certifique-se de que a nova porta esteja aberta no firewall para conexões de entrada/saída. Consulte a lista completa de portas em uso pelo ONLYOFFICE.

Para redirecionar a aplicação, defina a variável de ambiente DS_PORT antes de configurar o sistema:

export DS_PORT=<NÚMERO_DA_PORTA>
Aviso Estrutural: Se o seu objetivo for alterar o protocolo do portal de HTTP para HTTPS criptografado, não altere a porta para 443 por este método. Em vez disso, acompanhe as instruções específicas de ativação HTTPS no final da instalação.

Passo 3. Configurando os conectores do ONLYOFFICE Docs

Executando o script de configuração inicial
Nota sobre Banco de Dados Alternativo: Por padrão, a configuração amarra o sistema ao PostgreSQL. Se você deseja usar o MySQL, adicione duas variáveis de ambiente forçadas antes de executar o script de configuração:
export DB_TYPE=mysql
export DB_PORT=3306

Rode o script instalador oficial do servidor para parear os serviços que criamos:

bash documentserver-configure.sh

O prompt solicitará interativamente que você especifique os parâmetros de conexão. Se você seguiu este guia à risca, forneça as seguintes confirmações:

  • PostgreSQL: Host: localhost | Database: onlyoffice | User: onlyoffice | Password: onlyoffice
  • Redis: Host: localhost
  • RabbitMQ: Host: localhost | User: guest | Password: guest
Configurando regras e exceções no Firewall

Permita o tráfego de forma permanente pela porta web padrão e recarregue as tabelas de roteamento:

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload
Desativando o SELinux (Descontinuado desde a v5.0)

Abra o arquivo /etc/selinux/config em um editor de texto, substitua a string SELINUX=enforcing ou SELINUX=permissive por SELINUX=disabled e salve as alterações. Reinicie o seu servidor host para que as políticas do Kernel entrem em vigor.

Segurança e Integrações WOPI: A partir da v8.1 do sistema, novas chaves de criptografia WOPI são obrigatoriamente geradas no arquivo local.json ao executar a configuração inicial. Se o seu ambiente corporativo depende ativamente do protocolo WOPI para integração, você precisará re-engatilhar o suporte passando a flag dedicada:
documentserver-configure.sh --wopienabled true

Passo 4. Testando a instalação no navegador

Assim que a configuração terminar de compilar, abra o seu navegador e acesse http://localhost (ou o endereço IP do seu servidor) para visualizar a página de controle do ONLYOFFICE Docs. Na interface, você encontrará tutoriais embutidos sobre como gerar arquivos de teste e gerenciar a integração com as aplicações do seu negócio via API Oficial.


Registrando a sua chave Enterprise Edition

Para destravar os limites comerciais da aplicação, você precisa alocar o seu arquivo de licenciamento corporativo (license.lic) no servidor recém-instalado.

Em sistemas operacionais da árvore do Red Hat / CentOS, este arquivo de chaves deve ser injetado estritamente na seguinte pasta da aplicação:

/var/www/onlyoffice/Data/license.lic

Após a checagem automática de hash pelo serviço, a sua instância do Enterprise Edition se tornará oficialmente registrada.


Dica de Administração: Atualizando versões futuras

Sempre que novas atualizações de segurança e recursos forem disponibilizadas, você poderá atualizar a sua engine através do gerenciador de pacotes YUM:

sudo yum update onlyoffice-documentserver-ee
Atenção para usuários do RHEL 8: Em sistemas RHEL 8 e derivados estritos, acionar um yum update massivo com o repositório do ONLYOFFICE ativado pode quebrar a árvore de transação devido a dependências em conflito do servidor X11. Para sanar esse problema definitivamente, bloqueie a captação de pacotes específicos no repositório do ONLYOFFICE forçando a resolução direta pelo AppStream original do RHEL:
echo "excludepkgs=xorg-x11-server-Xvfb,xorg-x11-server-common" >> /etc/yum.repos.d/onlyoffice.repo
Este comando de exclusão só precisa ser executado uma única vez na vida útil do servidor. Caso você tenha utilizado o instalador automatizado "OneClick Install", essa correção já foi aplicada nativamente.
Artigo com o tag:
Veja todas as etiquetas