Pular para o conteúdo principal

Instalando e integrando manualmente os componentes do ONLYOFFICE Workspace Community

Introdução​

A maneira mais fácil de instalar o ONLYOFFICE Workspace Community é usar nosso script Docker. Se você preferir ter controle total sobre o processo de instalação, pode instalar todos os componentes manualmente.

O ONLYOFFICE Workspace Community inclui os seguintes componentes: ONLYOFFICE Community Server, ONLYOFFICE Control Panel, ONLYOFFICE Docs e ONLYOFFICE Mail. Para instalar todos eles e integrá-los entre si, siga os passos abaixo.

Requisitos do sistema​

  • CPU: pelo menos 4 núcleos (6 núcleos recomendado)
  • RAM: pelo menos 8 GB (12 GB recomendado)
  • HDD: pelo menos 40 GB de espaço livre
  • SWAP: pelo menos 4 GB, mas depende do sistema operacional do host. Mais é melhor
  • SO: Distribuição Linux amd64 com kernel versão 3.10 ou posterior
  • Requisitos adicionais
    • Docker: qualquer versão suportada pela equipe Docker

Passo 1. Instalando pré-requisitos​

Se o Docker não estiver instalado, consulte a seção de instalação no site do Docker.

observação

O Docker especifica os servidores DNS do Google por padrão. Se o seu ONLYOFFICE Workspace Community não terá acesso à Internet, recomendamos que você altere o endereço DNS padrão do Docker para o endereço do seu servidor DNS local. Para fazer isso, vá para o arquivo /etc/default/docker e altere o endereço IP na seguinte linha para o endereço IP de um servidor DNS na sua rede local:

docker_OPTS="--dns 8.8.8.8"

Para sistemas operacionais baseados em RPM, como o CentOS:

  1. Crie o arquivo de configuração /etc/docker/daemon.json com o seguinte conteúdo:

    { "dns" : [ "8.8.8.8" ] }
  2. Reinicie o serviço Docker:

    sudo systemctl restart docker.service

Antes de iniciar a instalação, você precisa criar as seguintes pastas:

  1. Para o servidor MySQL

    sudo mkdir -p "/app/onlyoffice/mysql/conf.d";
    sudo mkdir -p "/app/onlyoffice/mysql/data";
    sudo mkdir -p "/app/onlyoffice/mysql/initdb";
  2. Para dados e logs do ONLYOFFICE Community Server

    sudo mkdir -p "/app/onlyoffice/CommunityServer/data";
    sudo mkdir -p "/app/onlyoffice/CommunityServer/logs";
    sudo mkdir -p "/app/onlyoffice/CommunityServer/letsencrypt";
  3. Para dados e logs do ONLYOFFICE Docs

    sudo mkdir -p "/app/onlyoffice/DocumentServer/data";
    sudo mkdir -p "/app/onlyoffice/DocumentServer/logs";
  4. E para dados e logs do ONLYOFFICE Mail

    sudo mkdir -p "/app/onlyoffice/MailServer/data/certs";
    sudo mkdir -p "/app/onlyoffice/MailServer/logs";
  5. Para dados e logs do ONLYOFFICE Control Panel

    sudo mkdir -p "/app/onlyoffice/ControlPanel/data";
    sudo mkdir -p "/app/onlyoffice/ControlPanel/logs";

Em seguida, crie a rede onlyoffice:

sudo docker network create --driver bridge onlyoffice

Passo 2. Instalando MySQL​

Depois disso, você precisa criar o contêiner Docker do servidor MySQL. Crie o arquivo de configuração:

echo "[mysqld]
sql_mode = 'NO_ENGINE_SUBSTITUTION'
max_connections = 1000
max_allowed_packet = 1048576000
group_concat_max_len = 2048" > /app/onlyoffice/mysql/conf.d/onlyoffice.cnf

Crie o script SQL que gerará os usuários e concederá os direitos a eles. O onlyoffice_user é necessário para o ONLYOFFICE Community Server, e o mail_admin é necessário para o ONLYOFFICE Mail, caso ele vá ser instalado:

echo "ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'my-secret-pw';
CREATE USER IF NOT EXISTS 'onlyoffice_user'@'%' IDENTIFIED WITH mysql_native_password BY 'onlyoffice_pass';
CREATE USER IF NOT EXISTS 'mail_admin'@'%' IDENTIFIED WITH mysql_native_password BY 'Isadmin123';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'onlyoffice_user'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'mail_admin'@'%';
FLUSH PRIVILEGES;" > /app/onlyoffice/mysql/initdb/setup.sql

Observe que o script acima definirá permissões para acessar o servidor SQL de qualquer domínio (%). Se você quiser limitar o acesso, pode especificar os hosts que terão acesso ao servidor SQL.

Crie o contêiner MySQL, com a versão 8.0.29 do MySQL:

sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-mysql-server \
-v /app/onlyoffice/mysql/conf.d:/etc/mysql/conf.d \
-v /app/onlyoffice/mysql/data:/var/lib/mysql \
-v /app/onlyoffice/mysql/initdb:/docker-entrypoint-initdb.d \
-e MYSQL_ROOT_PASSWORD=my-secret-pw \
-e MYSQL_DATABASE=onlyoffice \
mysql:8.0.29

Passo 3. Instalando ONLYOFFICE Docs​

sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-document-server \
-v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
-v /app/onlyoffice/DocumentServer/fonts:/usr/share/fonts/truetype/custom \
-v /app/onlyoffice/DocumentServer/forgotten:/var/lib/onlyoffice/documentserver/App_Data/cache/files/forgotten \
onlyoffice/documentserver

Para saber mais, consulte a documentação do ONLYOFFICE Docs.

Passo 4. Instalando ONLYOFFICE Mail​

sudo docker run --init --net onlyoffice --privileged -i -t -d --restart=always --name onlyoffice-mail-server -p 25:25 -p 143:143 -p 587:587 \
-e MYSQL_SERVER=onlyoffice-mysql-server \
-e MYSQL_SERVER_PORT=3306 \
-e MYSQL_ROOT_USER=root \
-e MYSQL_ROOT_PASSWD=my-secret-pw \
-e MYSQL_SERVER_DB_NAME=onlyoffice_mailserver \
-v /app/onlyoffice/MailServer/data:/var/vmail \
-v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver \
-v /app/onlyoffice/MailServer/logs:/var/log \
-h yourdomain.com \
onlyoffice/mailserver

O domínio que será usado para manter a correspondência deve ser válido e configurado para este servidor (ou seja, deve ter o registro A apropriado nas configurações de DNS que aponta o nome do seu domínio para o endereço IP da máquina onde o ONLYOFFICE Mail está instalado).

No comando acima, o parâmetro "yourdomain.com" deve ser entendido como um domínio de serviço para o ONLYOFFICE Mail. Geralmente, é especificado no registro MX do domínio que será usado para manter a correspondência. Como regra, o "yourdomain.com" se parece com mx1.onlyoffice.com

Os parâmetros adicionais para o servidor de e-mail estão disponíveis aqui.

Passo 5. Instalando ONLYOFFICE Control Panel​

Use este comando para instalar o ONLYOFFICE Control Panel:

sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-control-panel \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /app/onlyoffice/CommunityServer/data:/app/onlyoffice/CommunityServer/data \
-v /app/onlyoffice/ControlPanel/data:/var/www/onlyoffice/Data \
-v /app/onlyoffice/ControlPanel/logs:/var/log/onlyoffice onlyoffice/controlpanel

Passo 6. Instalando ONLYOFFICE Community Server​

Finalmente, o ONLYOFFICE Community Server pode ser instalado:

sudo docker run --net onlyoffice -i -t -d --privileged --restart=always --name onlyoffice-community-server -p 80:80 -p 443:443 -p 5222:5222 --cgroupns=host \
-e MYSQL_SERVER_ROOT_PASSWORD=my-secret-pw \
-e MYSQL_SERVER_DB_NAME=onlyoffice \
-e MYSQL_SERVER_HOST=onlyoffice-mysql-server \
-e MYSQL_SERVER_USER=onlyoffice_user \
-e MYSQL_SERVER_PASS=onlyoffice_pass \
-e DOCUMENT_SERVER_PORT_80_TCP_ADDR=onlyoffice-document-server \
-e MAIL_SERVER_API_HOST=${MAIL_SERVER_IP} \
-e MAIL_SERVER_DB_HOST=onlyoffice-mysql-server \
-e MAIL_SERVER_DB_NAME=onlyoffice_mailserver \
-e MAIL_SERVER_DB_PORT=3306 \
-e MAIL_SERVER_DB_USER=root \
-e MAIL_SERVER_DB_PASS=my-secret-pw \
-e CONTROL_PANEL_PORT_80_TCP=80 \
-e CONTROL_PANEL_PORT_80_TCP_ADDR=onlyoffice-control-panel \
-v /app/onlyoffice/CommunityServer/data:/var/www/onlyoffice/Data \
-v /app/onlyoffice/CommunityServer/logs:/var/log/onlyoffice \
-v /app/onlyoffice/CommunityServer/letsencrypt:/etc/letsencrypt \
-v /sys/fs/cgroup:/sys/fs/cgroup:rw \
onlyoffice/communityserver

Onde ${MAIL_SERVER_IP} é o endereço IP do contêiner do ONLYOFFICE Mail, obtido usando o seguinte comando:

MAIL_SERVER_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' onlyoffice-mail-server)

Após a conclusão da instalação, a solução estará disponível no endereço http://localhost/.