- Home
- Docs
- Instalação e configuração
- Community
- Versão Docker
- Instalando o ONLYOFFICE Docs para Docker no KylinOS
Instalando o ONLYOFFICE Docs para Docker no KylinOS
Introdução
O Community Edition permite que você instale o ONLYOFFICE Docs em seu servidor local e integre editores online com a plataforma de colaboração ONLYOFFICE ou outros sistemas populares.
O ONLYOFFICE Docs é um pacote 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 permite edição colaborativa em tempo real.
Funcionalidades
- Document Editor
- Spreadsheet Editor
- Presentation Editor
- Visualizadores web móveis
- Edição colaborativa
- Suporte a hieróglifos
- Suporte para todos 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 Community Edition.
Usando-o dentro do ONLYOFFICE Workspace, você poderá:
- compartilhar arquivos;
- gerenciar direitos de acesso a documentos;
- incorporar documentos em um site;
- visualizar e editar arquivos armazenados no Drive, Box, Dropbox, OneDrive, ownCloud conectados ao ONLYOFFICE.
A partir da v7.2, as imagens Docker do ONLYOFFICE Docs foram reformuladas para execução no Kylin Linux Advanced Server OS release V10. Este guia mostrará como instalar a versão Docker do ONLYOFFICE Docs Community Edition no KylinOS.
Requisitos do sistema
- CPU: núcleo duplo de 2 GHz ou melhor
- RAM: 4 GB ou mais
- HDD: pelo menos 40 GB de espaço livre
- SWAP: pelo menos 4 GB, mas depende do sistema operacional hospedeiro. Quanto mais, melhor
- SO: Distribuição Linux amd64 com versão de kernel 3.10 ou posterior
- Docker: qualquer versão suportada pelo KylinOS
Instalando o ONLYOFFICE Docs
/etc/default/docker e altere o endereço IP na seguinte linha para o endereço IP de um servidor DNS em sua rede local:
docker_OPTS="--dns 8.8.8.8"
Para sistemas operacionais baseados em RPM como CentOS:
-
Crie o arquivo de configuração
/etc/docker/daemon.jsoncom o seguinte conteúdo:{ "dns" : [ "8.8.8.8" ] } -
Reinicie o serviço Docker:
sudo systemctl restart docker.service
Desabilite o SELinux
Você precisa desabilitar o SELinux no arquivo de configuração /etc/selinux/config.
Abra o arquivo /etc/selinux/config usando qualquer editor de texto, substitua a string SELINUX=enforcing ou SELINUX=permissive por SELINUX=disabled e salve as alterações.
Reinicie seu servidor para que as alterações entrem em vigor. Certifique-se de que o SELinux está desabilitado:
[root@test ~]# sestatus
SELinux status: disabled
Instale o ONLYOFFICE Docs
Execute o seguinte comando para instalar o ONLYOFFICE Docs:
sudo docker run -i -t -d -p 80:80 --security-opt seccomp=unconfined --restart=always -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver
-e JWT_SECRET=my_jwt_secret.
Se você não for usar JWT em sua instalação, use -e JWT_ENABLED=false.
A chave --security-opt seccomp=unconfined é necessária para desabilitar perfis de segurança para o contêiner. Mais detalhes podem ser encontrados aqui.
Você também pode usar nosso perfil de segurança personalizado: kylin-seccomp7.json.
sudo docker run -i -t -d -p <PORT_NUMBER>:80 --security-opt seccomp=unconfined --restart=always -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver
Onde <PORT_NUMBER> é o número da porta que você deseja que o ONLYOFFICE Docs use.
Isso instalará o ONLYOFFICE Docs e todas as dependências necessárias (a lista do que está sendo feito pelo script pode ser encontrada aqui).
Adicione uma exceção de firewall
Você também precisa adicionar uma exceção ao serviço firewalld.service:
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload
Assim que a configuração for concluída, você pode digitar http://localhost na barra de endereços do navegador para abrir a página de boas-vindas do ONLYOFFICE Docs, onde encontrará mais instruções sobre como habilitar exemplos de documentos ou integrar editores online em sua aplicação web usando a API fornecida.
Armazenando dados fora dos contêineres
Todos os dados são armazenados em diretórios especialmente designados, volumes de dados, no seguinte local:
/var/log/onlyofficepara logs do ONLYOFFICE Docs/var/www/onlyoffice/Datapara certificados/var/lib/onlyofficepara cache de arquivos/var/lib/postgresqlpara banco de dados
Para obter acesso aos seus dados localizados fora do contêiner, você precisa montar os volumes. Isso pode ser feito especificando a opção -v no comando docker run.
sudo docker run -i -t -d -p 80:80 --security-opt seccomp=unconfined --restart=always \
-v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
-v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice \
-v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver
Normalmente, você não precisa armazenar dados de contêiner porque a operação do contêiner não depende de seu estado. Salvar dados será útil:
- para fácil acesso aos dados do contêiner, como logs;
- para remover o limite no tamanho dos dados dentro do contêiner;
- ao usar serviços iniciados fora do contêiner, como PostgreSQL, Redis, RabbitMQ.
Executando o ONLYOFFICE Docs usando HTTPS
sudo docker run -i -t -d -p 443:443 --security-opt seccomp=unconfined --restart=always \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver
O acesso ao aplicativo onlyoffice pode ser protegido usando SSL para evitar acesso não autorizado. Embora um certificado SSL certificado por CA permita a verificação de confiança via CA, certificados autoassinados também podem fornecer um nível igual de verificação de confiança, desde que cada cliente tome algumas medidas adicionais para verificar a identidade do seu site. As instruções para conseguir isso são fornecidas abaixo.
Para proteger o aplicativo via SSL, basicamente duas coisas são necessárias:
- Chave privada (.key)
- Certificado SSL (.crt)
Portanto, você precisa criar e instalar os seguintes arquivos:
/app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
/app/onlyoffice/DocumentServer/data/certs/onlyoffice.crt
Ao usar certificados certificados por CA (por exemplo, Let's Encrypt), esses arquivos são fornecidos a você pela CA. Se você estiver usando certificados autoassinados, você precisa gerar esses arquivos você mesmo.
Alternando o ONLYOFFICE Docs para HTTPS usando certbot
A maneira mais fácil de alternar o ONLYOFFICE Docs para HTTPS é obter automaticamente certificados SSL do Let's Encrypt usando o certbot.
Execute o contêiner Docker do ONLYOFFICE Docs, especificando as portas 80 e 443 e definindo seus próprios valores para as variáveis:
sudo docker run -i -t -d -p 80:80 -p 443:443 --security-opt seccomp=unconfined --restart=always \
-e LETS_ENCRYPT_DOMAIN=yourdomain.com -e [LETS_ENCRYPT_MAIL=email@example.com](mailto:LETS_ENCRYPT_MAIL=email@example.com) -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver
Onde:
- LETS_ENCRYPT_DOMAIN - um nome de domínio a ser usado para o certificado.
- LETS_ENCRYPT_MAIL - um email usado para contato de registro e recuperação.
O certificado assinado pela CA letsencrypt.org será automaticamente gerado e instalado em seu servidor. Agora, seu ONLYOFFICE Docs deve estar disponível no endereço https://yourdomain.com.
Geração de certificados autoassinados
A geração de certificados SSL autoassinados envolve um procedimento simples de 3 etapas
ETAPA 1: Crie a chave privada do servidor
openssl genrsa -out onlyoffice.key 2048
ETAPA 2: Crie a solicitação de assinatura de certificado (CSR)
openssl req -new -key onlyoffice.key -out onlyoffice.csr
ETAPA 3: Assine o certificado usando a chave privada e o CSR
openssl x509 -req -days 365 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt
Agora você gerou um certificado SSL válido por 365 dias.
Fortalecendo a segurança do servidor
Esta seção fornece instruções para fortalecer a segurança do seu servidor.
Para conseguir isso, você precisa gerar parâmetros DHE mais fortes.
openssl dhparam -out dhparam.pem 2048
Instalação dos certificados SSL
Dos quatro arquivos gerados acima, você precisa instalar os arquivos onlyoffice.key, onlyoffice.crt e dhparam.pem no servidor onlyoffice. O arquivo CSR não é necessário, mas certifique-se de fazer backup seguro do arquivo (caso você precise dele novamente).
O caminho padrão que o aplicativo onlyoffice está configurado para procurar os certificados SSL é em /var/www/onlyoffice/Data/certs, isso pode, no entanto, ser alterado usando as opções de configuração SSL_KEY_PATH, SSL_CERTIFICATE_PATH e SSL_DHPARAM_PATH.
O caminho /var/www/onlyoffice/Data/ é o caminho do armazenamento de dados, o que significa que você precisa criar uma pasta chamada certs dentro de /app/onlyoffice/DocumentServer/data/ e copiar os arquivos para ela e, como medida de segurança, você atualizará a permissão no arquivo onlyoffice.key para ser legível apenas pelo proprietário.
mkdir -p /app/onlyoffice/DocumentServer/data/certs
cp onlyoffice.key /app/onlyoffice/DocumentServer/data/certs/
cp onlyoffice.crt /app/onlyoffice/DocumentServer/data/certs/
cp dhparam.pem /app/onlyoffice/DocumentServer/data/certs/
chmod 400 /app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
E reinicie o contêiner Docker:
sudo docker restart {{DOCUMENT_SERVER_ID}}
Agora você está a apenas um passo de ter nosso aplicativo protegido.
Parâmetros de configuração disponíveis
--env-file, onde você pode especificar todas as variáveis de ambiente necessárias em um único arquivo. Isso evitará que você escreva um comando docker run potencialmente longo.Abaixo está a lista completa de parâmetros que podem ser definidos usando variáveis de ambiente.
- ONLYOFFICE_HTTPS_HSTS_ENABLED: Opção de configuração avançada para desativar a configuração HSTS. Aplicável apenas quando SSL está em uso. Padrão:
true. - ONLYOFFICE_HTTPS_HSTS_MAXAGE: Opção de configuração avançada para definir o max-age do HSTS na configuração vHost NGINX do onlyoffice. Aplicável apenas quando SSL está em uso. Padrão:
31536000. - SSL_CERTIFICATE_PATH: O caminho para o certificado SSL a ser usado. Padrão:
/var/www/onlyoffice/Data/certs/tls.crt. - SSL_KEY_PATH: O caminho para a chave privada do certificado SSL. Padrão:
/var/www/onlyoffice/Data/certs/tls.key. - SSL_DHPARAM_PATH: O caminho para o parâmetro Diffie-Hellman. Padrão:
/var/www/onlyoffice/Data/certs/dhparam.pem. - SSL_VERIFY_CLIENT: Habilita a verificação de certificados de cliente usando o arquivo
CA_CERTIFICATES_PATH. Padrão:false. - DB_TYPE: O tipo de banco de dados. Valores suportados são
postgres,mariadboumysql. Padrão:postgres. - DB_HOST: O endereço IP ou o nome do host onde o servidor de banco de dados está sendo executado.
- DB_PORT: O número da porta do servidor de banco de dados.
- DB_NAME: O nome de um banco de dados a ser criado na inicialização da imagem.
- DB_USER: O novo nome de usuário com permissões de superusuário para a conta do banco de dados.
- DB_PWD: A senha definida para a conta do banco de dados.
- AMQP_URI: O AMQP URI para conectar ao servidor de message broker.
- AMQP_TYPE: O tipo de message broker. Valores suportados são
rabbitmqouactivemq. Padrão:rabbitmq. - REDIS_SERVER_HOST: O endereço IP ou o nome do host onde o servidor Redis está sendo executado.
- REDIS_SERVER_PORT: O número da porta do servidor Redis.
- NGINX_WORKER_PROCESSES: Define o número de processos worker do NGINX.
- NGINX_WORKER_CONNECTIONS: Define o número máximo de conexões simultâneas que podem ser abertas por um processo worker do NGINX.
- SECURE_LINK_SECRET: Define o segredo para a diretiva de configuração nginx secure_link_md5. Padrão:
string aleatória. - JWT_ENABLED: Especifica a habilitação da validação de JSON web token pelo ONLYOFFICE Docs. Padrão:
true. - JWT_SECRET: Define a chave secreta para validar o JSON web token na solicitação ao ONLYOFFICE Docs. Padrão: valor aleatório.
- JWT_HEADER: Define o cabeçalho HTTP que será usado para enviar o JSON web token. Padrão:
Authorization. - JWT_IN_BODY: Especifica a habilitação da validação de token no corpo da solicitação ao ONLYOFFICE Docs. Padrão:
false. - WOPI_ENABLED: Especifica a habilitação dos manipuladores wopi. Padrão:
false. - USE_UNAUTHORIZED_STORAGE: Defina como
truese estiver usando certificados autoassinados para seu servidor de armazenamento, por exemplo, Nextcloud. Padrão:false. - GENERATE_FONTS: Quando
true, regenera a lista de fontes e as miniaturas de fontes etc. a cada início. Padrão:true. - METRICS_ENABLED: Especifica a habilitação do StatsD para o ONLYOFFICE Docs. Padrão:
false. - METRICS_HOST: Define o host de escuta do StatsD. Padrão:
localhost. - METRICS_PORT: Define a porta de escuta do StatsD. Padrão:
8125. - METRICS_PREFIX: Define o prefixo de métricas do StatsD para serviços backend. Padrão:
ds.. - LETS_ENCRYPT_DOMAIN: Define o domínio para o certificado Let's Encrypt.
- LETS_ENCRYPT_MAIL: Define o endereço de email do administrador do domínio para o certificado Let's Encrypt.