Instalando o ONLYOFFICE Docs Enterprise Edition (CentOS/RHEL ARM64)

Introdução

A partir da versão 7.1, o ONLYOFFICE Docs pode ser instalado de forma nativa no CentOS ou RHEL para a arquitetura ARM de 64 bits.

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 CentOS Stream 9, RHEL 8 ou RHEL 9 (ARM64).


Requisitos de sistema

  • CPU: Processadores com arquitetura ARM de 64 bits
  • 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) e 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
module_hotfixes=true

Em seguida, instale o NGINX e remova o arquivo de configuração padrão:

sudo yum install nginx
sudo rm /etc/nginx/conf.d/default.conf

Referência: Instrução oficial do 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 instalar o EPEL de forma correta, use os comandos baseados na sua distribuição:

Para CentOS 9:

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

Para RHEL:

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 (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 CentOS/RHEL:

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

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. Encontre as strings correspondentes e substitua-as pelas seguintes linhas:

host    all             all             127.0.0.1/32            scram-sha-256
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 avisos de permissão (could not change directory to "/root") ao logar como usuário postgres e crie as credenciais (neste exemplo, definimos usuário e senha como "onlyoffice"):

cd /tmp
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 e instale-os (lembre-se de substituir $REV pela sua versão, como 8 ou 9):

sudo curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
ERLANG_LATEST_VERSION=$(curl -s https://api.github.com/repos/rabbitmq/erlang-rpm/releases | sed -n 's/.*"tag_name":\s*"v\([^"]*\)".*/\1/p' | head -1)
sudo rpm -ivh https://github.com/rabbitmq/erlang-rpm/releases/latest/download/erlang-${ERLANG_LATEST_VERSION}-1.el${REV}.aarch64.rpm
sudo yum install rabbitmq-server

Alternativamente, você pode instalar o RabbitMQ a partir do site oficial da ferramenta.

Inicie o serviço e habilite-o no boot:

sudo systemctl enable --now rabbitmq-server

Passo 2. Instalando o ONLYOFFICE Docs Enterprise Edition

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

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 (substituindo o valor pela porta desejada):

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, forneça as seguintes credenciais de acesso padrão para PostgreSQL (Host: localhost, Database: onlyoffice, User: onlyoffice, Password: onlyoffice), Redis (Host: localhost) e 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 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 boas-vindas do ONLYOFFICE Docs. Lá, você encontrará instruções sobre como habilitar documentos de exemplo e a documentação completa da API fornecida para integrar o editor na sua aplicação.


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 verificação do sistema, a sua instância do Enterprise Edition se tornará oficialmente registrada.


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

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

sudo yum update onlyoffice-documentserver-ee
Atenção para usuários do RHEL 8 e CentOS Stream: Executar um yum update massivo com o repositório do ONLYOFFICE ativado pode quebrar a árvore de transação devido a dependências do servidor X11. Para evitar isso, bloqueie os pacotes específicos no repositório do ONLYOFFICE forçando a resolução direta pelo AppStream original:
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. Depois disso, o update funcionará como esperado.
Artigo com o tag:
Veja todas as etiquetas