• Home
  • Instalando o ONLYOFFICE Docs para CentOS e derivados

Instalando o ONLYOFFICE Docs para CentOS e derivados

Introdução

A versão Community Edition permite implantar o ONLYOFFICE Docs em seu próprio servidor local (on-premises) e integrar os editores web corporativos com a plataforma de colaboração ONLYOFFICE ou a outros sistemas DMS populares de terceiros.

O ONLYOFFICE Docs é uma suíte de escritório online que engloba visualizadores e editores para textos, planilhas e apresentações, apresentando total compatibilidade nativa com os formatos Office Open XML (.docx, .xlsx, .pptx) e suportando coautoria e edição colaborativa em tempo real.

Principais Recursos:

  • Editor de Documentos de Texto.
  • Editor de Planilhas.
  • Editor de Apresentações de Slides.
  • Visualizadores e editores otimizados para web móvel.
  • Edição colaborativa simultânea (Coautoria).
  • Suporte avançado a hieróglifos e alfabetos internacionais.
  • Suporte para todos os formatos populares do mercado: DOC, DOCX, TXT, ODT, RTF, ODP, EPUB, ODS, XLS, XLSX, CSV, PPTX e HTML.

Para auditar as especificações técnicas, consulte a lista detalhada de recursos da versão Community Edition no GitHub.

Ao utilizá-lo de forma integrada dentro do ONLYOFFICE Workspace, você também poderá:

  • Compartilhar arquivos em redes corporativas;
  • Gerenciar direitos de acesso e níveis de permissão em documentos;
  • Incorporar documentos dinâmicos em portais e sites web;
  • Visualizar e editar arquivos armazenados em nuvens de terceiros conectadas à instância (como Google Drive, Box, Dropbox, OneDrive e ownCloud).

Este guia demonstrará o passo a passo para instalar e configurar a Community Edition do ONLYOFFICE Docs na sua distribuição Linux baseada em Red Hat.


Requisitos de Sistema da Instância
  • CPU: Processador Dual-Core de 2 GHz ou superior.
  • Memória RAM: No mínimo 2 GB livres (a alocação real depende dos serviços do SO host; quanto mais recursos disponíveis, melhor a estabilidade).
  • Armazenamento (HDD/SSD): Pelo menos 40 GB de espaço livre em disco rígido.
  • Partição SWAP: Mínimo de 4 GB configurados.
  • Sistema Operacional: CentOS Stream 9, RHEL 8 ou RHEL 9.
  • Dependências e Microsserviços Adicionais:
    • PostgreSQL: Versão 12.9 ou posterior.
    • NGINX: Versão 1.3.13 ou posterior.
    • RabbitMQ.

Instalando dependências

1. Instalando a versão mais recente do NGINX

Para configurar o repositório yum primário para RHEL/CentOS, crie um arquivo chamado /etc/yum.repos.d/nginx.repo e insira 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

Nota: Consulte a Instrução Oficial do NGINX em caso de dúvidas sobre o repositório.

Instale o daemon do NGINX através do gerenciador de pacotes:

sudo yum install nginx

Em seguida, abra o arquivo de configuração principal /etc/nginx/nginx.conf e edite as diretivas para que fiquem exatamente com o layout a seguir:

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;
}
2. Instalando o repositório EPEL

Para sistemas baseados na versão 7 ou 8 (padrão), instale os pacotes extras corporativos (EPEL):

sudo yum install epel-release

Se você estiver utilizando o CentOS 9 Stream, ative o repositório CRB primeiro:

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

Se você estiver operando em um ambiente corporativo com Red Hat Enterprise Linux (RHEL), execute:

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
Nota de Variável: Altere o argumento $REV manualmente nos comandos acima para corresponder à versão do seu sistema operacional (utilize 7 para RHEL 7.x, 8 para RHEL 8.x, 9 para RHEL 9.x).
3. Instalando e configurando o banco de dados PostgreSQL

Instale o engine do banco de dados relacional fornecido nativamente pelos repositórios da sua versão do CentOS:

sudo yum install postgresql postgresql-server
Caso precise acoplar uma versão externa não nativa do PostgreSQL, consulte a documentação oficial para distribuições Red Hat.

Inicialize o diretório de dados do PostgreSQL:

sudo service postgresql initdb 
sudo chkconfig postgresql on

Aviso para CentOS 9: O utilitário chkconfig foi descontinuado e não vem instalado por padrão. Instale-o preventivamente utilizando o comando sudo yum install chkconfig.

Ative a criptografia de autenticação SCRAM-SHA-256 para o host:

Abra o arquivo de diretivas de acesso /var/lib/pgsql/data/pg_hba.conf usando um editor de texto (como o nano ou vim).

Localize a regra de IPv4 (host all all 127.0.0.1/32 ident) e substitua a diretiva ident por scram-sha-256:

host    all             all             127.0.0.1/32            scram-sha-256

Em seguida, localize a regra de IPv6 (host all all ::1/128 ident) e altere de forma idêntica:

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

Salve o arquivo. Agora, abra o arquivo de configuração principal em /var/lib/pgsql/data/postgresql.conf.

Localize a linha comentada #password_encryption = md5, remova o símbolo de comentário (#) e defina o valor obrigatório para 'scram-sha-256':

password_encryption = 'scram-sha-256'

Salve as alterações e reinicie o serviço do PostgreSQL para carregar as novas políticas de segurança:

sudo service postgresql restart

Crie o esquema de banco e a role do usuário (onlyoffice):

Primeiro, mude o seu diretório de trabalho atual para o temporário executando cd /tmp (isso evita avisos restritos do shell do tipo "could not change directory to /root"). Na sequência, provisione a tabela rodando o psql:

sudo -i -u postgres psql -c "CREATE USER onlyoffice WITH PASSWORD 'onlyoffice';"
sudo -i -u postgres psql -c "CREATE DATABASE onlyoffice OWNER onlyoffice;"
Você pode especificar o nome de usuário e a credencial da senha corporativa que preferir nos comandos acima; basta espelhá-los nos arquivos finais de configuração do servidor de documentos.
4. Instalando o broker RabbitMQ

Instale os serviços de mensageria assíncrona executando os scripts oficiais via curl:

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
Nota de Variável: Altere o argumento $REV manualmente nos comandos curl para corresponder à sua build do sistema (7 para CentOS 7.x, 8 para CentOS 8.x, etc.).

Após adicionar o repositório, instale o pacote via yum:

sudo yum install rabbitmq-server

Nota: Para distribuições CentOS 8 ou 9, você também pode baixar o RPM manualmente a partir do site oficial do RabbitMQ.

Inicie o daemon do serviço e habilite a inicialização automática no boot do sistema:

sudo systemctl enable --now rabbitmq-server
5. Adicionando o repositório oficial do ONLYOFFICE Docs

Insira a chave do repositório remoto do ONLYOFFICE no seu gerenciador de pacotes:

sudo yum install https://download.onlyoffice.com/repo/centos/main/noarch/onlyoffice-repo.noarch.rpm
6. Instalando as bibliotecas de fontes MS Core (mscorefonts)

Instale os utilitários de extração e suporte a fontes (cabextract e xorg-x11-font-utils):

sudo yum install cabextract xorg-x11-font-utils

Se a sua máquina host executar o CentOS 7.8 (ou versão 2003 legada), você precisará instalar a biblioteca base fontconfig também:

sudo yum install fontconfig

Por fim, instale o pacote corporativo msttcore via rpm:

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

Instalação e inicialização do ONLYOFFICE Docs

Com toda a infraestrutura base pronta, inicie o download e o deploy do servidor rodando o comando:

sudo yum install onlyoffice-documentserver

Inicie o proxy web do NGINX e configure o daemon para rodar na inicialização da máquina:

sudo service nginx start
sudo systemctl enable nginx

Pronto. O ONLYOFFICE Docs será alocado na memória como um processo ativo. Manutenções e updates de versão futuros serão tratados automaticamente através das rotinas padrão do gerenciador yum update.


Alterando a porta padrão do servidor de documentos

O proxy interno do ONLYOFFICE Docs é pré-configurado de fábrica para escutar requisições externas através da porta HTTP 80. Se você precisar redirecionar o tráfego em caso de conflitos com outros softwares, é possível mapear uma nova porta de rede.

Se você for customizar a porta de escuta do serviço, garanta previamente que a nova regra esteja aberta para conexões de entrada/saída no seu firewall. Consulte o manual Lista completa de portas lógicas do ONLYOFFICE Docs.

Para mapear a porta nativa, você deve injetar e exportar a variável de ambiente de sistema DS_PORT executando o seguinte comando bash antes da configuração:

export DS_PORT=<NUMERO_DA_PORTA>

Substitua o identificador <NUMERO_DA_PORTA> pelo valor decimal desejado.

Aviso de Segurança (HTTPS): Caso a sua intenção não seja apenas mudar a porta, mas sim alterar o protocolo de transporte em texto claro do ONLYOFFICE Docs para o protocolo seguro HTTPS, não exporte a porta 443 manualmente usando esta variável. Em vez disso, siga o manual técnico de Como configurar HTTPS para ONLYOFFICE Docs no Linux.

Configuração final do ONLYOFFICE Docs

A. Executando o script shell de configuração interna
Uso do MySQL / MariaDB: O PostgreSQL atua nativamente como o banco de dados do Document Server. Caso a sua organização exija a persistência de dados via MySQL em vez do Postgres, não se esqueça de exportar estas duas variáveis no console antes de prosseguir com o script de configuração abaixo:
export DB_TYPE=mysql
export DB_PORT=3306

Execute o script oficial do servidor de documentos para compilar as credenciais inseridas anteriormente:

bash documentserver-configure.sh

O prompt do terminal será exibido e solicitará interativamente as informações do PostgreSQL e do RabbitMQ. Insira os metadados abaixo (caso você os tenha mantido em seus valores padrão de fábrica durante a etapa 3 e 4):

Para o banco de dados PostgreSQL:

  • Host: localhost
  • Banco de dados: onlyoffice
  • Usuário: onlyoffice
  • Senha: onlyoffice

Para a fila de mensagens RabbitMQ:

  • Host: localhost
  • Usuário: guest
  • Senha: guest
B. Configurando a zona pública do Firewall (Firewalld)

Exponha a porta de comunicação do proxy (porta 80) e recarregue o motor de firewall:

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload
C. Desabilitando as restrições do SELinux

Abra o arquivo descritivo /etc/selinux/config no editor de sua preferência. Localize e substitua o status booleano da string SELINUX=enforcing (ou permissive) declarando o estado como disabled (SELINUX=disabled). Salve o arquivo do sistema.

Em seguida, aplique um reboot no servidor para expurgar as propriedades em cache da memória base do SO.

Sincronização de Integração (WOPI): Por requisitos criptográficos de segurança e mitigação de vulnerabilidades (a partir da v8.1), o sistema gera chaves de segurança randômicas (WOPI Keys) no arquivo local.json durante o setup inicial. Caso a sua arquitetura dependa expressamente do protocolo WOPI para funcionar, você deve invocar a reinstalação de chaves executando o script acompanhado da flag sempre que atualizar a suíte:
documentserver-configure.sh --wopienabled true

Validação e inicialização no navegador web

Após injetar todas as diretivas sem erros, o deploy final do seu servidor Linux está estruturalmente pronto. No navegador da sua máquina, acesse o IP da rede virtual http://localhost para ser recebido pela tela inicial de Boas-Vindas do ONLYOFFICE Docs.

Esta página inicial possui testes nativos de conexão e contém a documentação primária de API com informações sobre como ativar plugins de exemplos ou incorporar o editor via iframes dentro dos seus aplicativos e ERPs corporativos.

Se o objetivo da arquitetura é integrar o motor recém-instalado com a ferramenta de painel de gerência da plataforma, proceda para a leitura do manual Como instalar o ONLYOFFICE Workspace no Linux.

Artigo com o tag:
Veja todas as etiquetas