- 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
$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
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;"
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
$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.
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.
Configuração final do ONLYOFFICE Docs
A. Executando o script shell de configuração interna
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.
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.