• Home
  • Instalando ONLYOFFICE Mail para Docker em um servidor local
Este artigo foi traduzido por IA

Instalando ONLYOFFICE Mail para Docker em um servidor local

Introdução

ONLYOFFICE Mail é uma solução de servidor de e-mail completa desenvolvida com base no pacote iRedMail, contendo os seguintes componentes: Postfix, Dovecot, SpamAssassin, ClamAV, OpenDKIM, Fail2ban.

Integrado com o ONLYOFFICE Workspace, o ONLYOFFICE Mail permite que você:

  • conecte seu próprio nome de domínio;
  • crie caixas de correio;
  • adicione aliases para cada caixa de correio;
  • crie grupos de caixas de correio.

Este guia mostrará como instalar a versão Docker do ONLYOFFICE Mail em sua máquina.

Requisitos do sistema

  • CPU
    dual core 2 GHz ou melhor
  • RAM
    4 GB ou mais
  • HDD
    pelo menos 20 GB de espaço livre
  • SWAP
    pelo menos 4 GB, mas depende do sistema operacional do host. Mais é melhor
  • OS
    distribuição Linux amd64 com kernel versão 3.10 ou posterior
  • Requisitos adicionais
    • Docker: qualquer versão suportada pela equipe Docker
No Ubuntu 20.04, você precisa desativar o firewall padrão ufw ao instalar o ONLYOFFICE Mail.

Antes de iniciar a instalação

Antes de iniciar a instalação do ONLYOFFICE Mail, você precisa vincular seu computador onde o ONLYOFFICE Mail será instalado ao domínio selecionado para o servidor de e-mail. Recomendamos que você escolha um nome como mx.seudominio.com para o registro A do seu computador servidor de e-mail. Isso significa que o registro A no seu Sistema de Nomes de Domínio (DNS) deve apontar para o endereço IP do computador onde o ONLYOFFICE Mail será instalado e o registro Pointer (PTR) neste computador deve resolver o endereço IP do computador para um nome de domínio totalmente qualificado (FQDN) como oposto ao que o registro A faz.

Para verificar a correção das configurações para o registro A, o seguinte comando é usado:

dig -t A mx.seudominio.com

Se tudo estiver correto, você deverá ver a saída que contém linhas como estas entre outras:

...
;; ANSWER SECTION:
mx.seudominio.com.  IN  A   {seu endereço IP}
...

Em vez de {seu endereço IP}, será mostrado o endereço IP real do servidor.

O registro PTR é verificado com outro comando:

dig -x {seu endereço IP}

Ele deve retornar a saída que contém linhas como estas entre outras:

...
;; ANSWER SECTION:
{seu endereço IP}   IN  PTR mx.seudominio.com.
...

Uma vez que você tenha certeza de que todas as configurações estão corretas, você pode prosseguir para os próximos passos.

Após instalar o ONLYOFFICE Mail, você também precisará adicionar um registro MX para seudominio.com para que ele aponte para mx.seudominio.com. Isso é necessário para que o e-mail chegue aos endereços @seudominio.com.

Instalando o ONLYOFFICE Mail usando comando de script automático

Se você não deseja configurar tudo manualmente, pode instalar o ONLYOFFICE Mail automaticamente usando nosso script Docker. Você pode baixar o script usando nossa página de download. Ou o link de download direto pode ser usado, se for mais conveniente para você:

wget https://download.onlyoffice.com/install/workspace-install.sh

Uma vez que o download estiver concluído, execute o seguinte comando para instalar o ONLYOFFICE Mail:

bash workspace-install.sh -ics false -ids false -icp false -ims true -md seudominio.com -es true

Instalando o ONLYOFFICE Mail manualmente

Se você prefere ter controle total sobre o que e como está sendo instalado, pode executar a instalação no modo manual. Para isso, siga os passos abaixo.

Instalando pré-requisitos

Você precisa da versão mais recente do Docker instalada. Se você não a tiver, consulte a seção de instalação no site do Docker para saber como obtê-la.

O Docker especifica os servidores DNS do Google por padrão. Se o seu ONLYOFFICE Workspace não tiver 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 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. E para os dados e logs do ONLYOFFICE Mail
    sudo mkdir -p "/app/onlyoffice/MailServer/data/certs";
    sudo mkdir -p "/app/onlyoffice/MailServer/logs";

Em seguida, crie a rede onlyoffice:

sudo docker network create --driver bridge onlyoffice
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.

Agora você pode criar o contêiner MySQL definindo a versão do MySQL para 8.0.29:

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
Se você quiser usar um banco de dados externo, será necessário configurá-lo (ou seja, adicionar um usuário):
CREATE USER 'mail_admin'@'localhost' IDENTIFIED BY 'Isadmin123';
GRANT ALL PRIVILEGES ON * . * TO 'mail_admin'@'%' IDENTIFIED BY 'Isadmin123';
FLUSH PRIVILEGES;
Instalando ONLYOFFICE Mail

Depois de ter tudo pronto, execute o seguinte comando:

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 -p 8081:8081 \
 -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

Onde yourdomain.com é o nome do host do seu servidor de e-mail.

Seu domínio que será usado para manter a correspondência deve ser válido e configurado para esta máquina (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, ele é 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

Nesse caso, o servidor de e-mail garantirá a entrega de e-mails para endereços internos hospedados neste servidor.

Armazenando dados fora dos contêineres

Todos os dados são armazenados em diretórios especialmente designados, volumes de dados, na seguinte localização:

  • /var/log para logs do ONLYOFFICE Mail
  • /var/lib/mysql para dados do banco de dados MySQL
  • /var/vmail para armazenamento de e-mails
  • /etc/pki/tls/mailserver para certificados
Recomendamos Recomendamos fortemente que você armazene os dados fora dos contêineres Docker na máquina host, pois isso permite que você atualize facilmente o ONLYOFFICE Mail assim que a nova versão for lançada, sem perder seus dados.

Para acessar 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 --privileged -i -t -d -p 25:25 -p 143:143 -p 587
  
:587 -p 8081:8081 \
        -v /app/onlyoffice/MailServer/logs:/var/log  \
        -v /app/onlyoffice/MailServer/mysql:/var/lib/mysql  \
        -v /app/onlyoffice/MailServer/data:/var/vmail  \
        -v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver -h yourdomain.com onlyoffice/mailserver
Observe que, caso você esteja tentando montar pastas que ainda não foram criadas, essas pastas serão criadas, mas o acesso a elas será limitado. Você precisará alterar manualmente os direitos de acesso.

Armazenar os dados na máquina host permite que você atualize facilmente o ONLYOFFICE Mail assim que a nova versão for lançada, sem perder seus dados.

Configurando imagem Docker

Para garantir a entrega de e-mails para endereços internos, bem como para endereços de servidores externos, você precisa obter seu próprio nome de domínio e configurar um servidor DNS.

Os seguintes registros DNS são necessários:

  • Registro A (usado para apontar um domínio para o endereço IP do host onde esta imagem Docker está implantada).
  • Registro Pointer (PTR) ou um registro DNS reverso (usado para mapear uma interface de rede (IP) para um nome de host).
sudo docker run --privileged -i -t -d -p 25:25 -p 143:143 -p 587:587 \
-v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver -h yourdomain.com onlyoffice/mailserver

Onde yourdomain.com é o nome do host do seu servidor de e-mail.

Instalando os certificados SSL

Os certificados autoassinados para seu domínio serão criados por padrão ao executar o contêiner Docker. Se você quiser usar certificados certificados por CA, precisará renomeá-los e copiá-los para o diretório /app/onlyoffice/MailServer/data/certs antes de executar a imagem. Os seguintes arquivos são necessários:

  • /app/onlyoffice/MailServer/data/certs/mail.onlyoffice.key
  • /app/onlyoffice/MailServer/data/certs/mail.onlyoffice.crt
  • /app/onlyoffice/MailServer/data/certs/mail.onlyoffice.ca-bundle

Você pode copiar os certificados SSL para o diretório /app/onlyoffice/MailServer/data/certs após executar a imagem. Mas, nesse caso, você precisará reiniciar o contêiner Docker.

Parâmetros de configuração disponíveis
Consulte as opções do comando docker run para a flag `--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.

  • STORAGE_BASE_DIR: O caminho para o armazenamento de e-mails. O padrão é /var/vmail.
  • FIRST_DOMAIN: O primeiro domínio virtual, onde o endereço do postmaster será hospedado. Este domínio não deve coincidir com o domínio principal do servidor de e-mail. O padrão é mailserver.onlyoffice.com.
  • DOMAIN_ADMIN_PASSWD: A senha do postmaster. O endereço padrão do postmaster é postmaster@mailserver.onlyoffice.com.

Instalando ONLYOFFICE Mail integrado com ONLYOFFICE Docs

ONLYOFFICE Mail é parte do ONLYOFFICE Workspace, que também inclui ONLYOFFICE Docs, ONLYOFFICE Control Panel e ONLYOFFICE Community Server. Caso você queira instalar todos eles e integrá-los entre si, leia estas instruções.

Maneiras alternativas de instalar ONLYOFFICE Mail

Alternativamente, você pode usar um script de instalação automática para instalar todo o Workspace de uma vez. Para o funcionamento correto do servidor de e-mail, você precisa especificar seu nome de host yourdomain.com.

PASSO 1: Baixe o arquivo do script de instalação

Execute o seguinte comando:

wget https://download.onlyoffice.com/install/workspace-install.sh

PASSO 2: Instale o Workspace

Execute o seguinte comando para fazer isso:

bash workspace-install.sh -md yourdomain.com
Artigo com o tag:
Veja todas as etiquetas