- Home
- Instalando ONLYOFFICE Mail para Docker em um servidor local
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
-
CPUdual core 2 GHz ou melhor
-
RAM4 GB ou mais
-
HDDpelo menos 20 GB de espaço livre
-
SWAPpelo menos 4 GB, mas depende do sistema operacional do host. Mais é melhor
-
OSdistribuição Linux amd64 com kernel versão 3.10 ou posterior
-
Requisitos adicionais
- Docker: qualquer versão suportada pela equipe Docker
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.
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.
/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:
- 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
Antes de iniciar a instalação, você precisa criar as seguintes pastas:
- 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"; - 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
%). 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
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.
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.comNesse 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/logpara logs do ONLYOFFICE Mail/var/lib/mysqlpara dados do banco de dados MySQL/var/vmailpara armazenamento de e-mails/etc/pki/tls/mailserverpara certificados
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
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
`--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