Como instalar o Mailcow

Este post também está disponível em: English (Inglês)

O Mailcow, é um servidor de Email completo, que gostamos de indicar, possui uma comunidade bastante ativa, atualizações, novidades e fixes quase diários.

Na HelpSysAdmin temos vários clientes que utilizam o Mailcow para hospedar os serviços de email dos inúmeros domínios de seus clientes.

O Mailcow utiliza o Anti Spam Rspamd com dezenas de regras e plugins instalados e pré configurados; após alguns ajustes, os clientes realmente sentem a diferença em relação a outras soluções não tão boas anti spam.

O Anti vírus utilizado é o ClamAV que possui grandes vantagens, como a instalação de assinaturas adicionais Anti Virus, Anti Phishing, Anti Malware e outros como abordamos em outro post, para resumir, o Webmail utilizado é o SOGo Groupware que possui muito mais que a função de enviar email.

A HelpSysAdmin oferece o serviço de instalação, configuração, otimização, suporte por 7 dias após instalação a qualquer recurso ou configuração, além de melhorias no MailCow por (R$ 80,00 ).

A seguir vamos abordar a instalação e configuração padrão do Mailcow.

Preparativos antes de instalar o Mailcow

Antes de iniciar a instalação é necessário que você faça alguns preparativos em relação as DNS do domínio que deseja utilizar como principal no Mailcow.

Para efeito de exemplo e fácil entendimento vamos usar um domínio que utilizamos para testes, helpsysadmin.ml . O gerenciamento das DNS utilizaremos o Cloudflare, para exemplificar o preenchimento das entradas DNS que serão necessárias. Se preferir, utilize o gerenciador de DNS de host de seu domínio.

O Mailcow é compatível com Ubuntu 18 e 20. Nós vamos utilizar o Ubuntu 20. O Mailcow precisa de um subdomínio que será a URL de acesso aos painéis e necessárias para configuração do Mail client (é possível criar outras depois). Este subdomínio precisa ser o hostname de seu servidor e ter o reverso configurado junto ao seu Data Center.

Vamos utilizar mail.helpsysadmin.ml

1 – Atualize seu servidor Ubuntu e reinicie

apt update; apt upgrade -y;

2 – Acesse o Shell e Configure o Hostname de seu servidor

hostnamectl set-hostname mail.helpsysadmin.ml

3 – Ajuste o Time Zone do servidor para America/Sao_Paulo

timedatectl set-timezone America/Sao_Paulo

4 – Acesse o seu Gerenciador de DNS e crie uma entrada do tipo A com nome mail, apontando para o IP do seu servidor. Aqui vamos utilizar o CloudFlare

5 – Com a entrada criada, agora é o momento de mudar o reverso do IP (rDNS) para o nome do seu hostname (mail.helpsysadmin.ml). Você poderá fazer esta alteração junto ao seu Data Center ou provedor VPS.

6 – Adicione o IP e hostname em hosts

nano /etc/hosts
Preencha conforme a imagem

Criando SWAP para o Servidor

Se ainda não possui SWAP criada em seu servidor, siga os passos a seguir. Vamos criar um arquivo de SWAP de 4 GB.

1 -crie o arquivo para swap, altere permissões e ative swap

dd if=/dev/zero of=/swapfile count=4096 bs=1MiB
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

2 – confirme se swap foi criada corretamente

free -m

3 – edite o arquivo /etc/fstab e adicione

/swapfile   swap    swap    sw  0   0

Instalando o docker e docker-compose

1 – Instale o Docker , habilite e inicie

curl -sSL https://get.docker.com/ | CHANNEL=stable sh
systemctl enable docker.service
systemctl start docker.service

2 – Instale o docker-compose

curl -L https://github.com/docker/compose/releases/download/$(curl -Ls https://www.servercow.de/docker-compose/latest.php)/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

Instalando o Mailcow

1 – Instale o git

apt install git -y

2 – Baixando o Mailcow

cd /opt
git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized

3 – Gerando o arquivo de configuração. Lembre-se de informar seu hostname quando pedir sua FQDN

./generate_config.sh

4 – Altere a configuração se precisar

nano mailcow.conf

5 – Extraia as imagens e execute o arquivo do docker

docker-compose pull
docker-compose up -d

6 – Acesse o Mailcow e troque a senha do admin

https://seuhostname
Usuário: admin
Senha: moohoo

7 – Alterando a senha do admin o mais breve possível

Configurando MailCow

Nesta parte, o mais importante é configurar as entradas NS do hostname que escolheu.

Vamos continuar utilizando o CloudFlare que é onde está apontado nosso domínio.

1 – Continuando no painel do Mailcow, Logado como admin, clique em Configuração >> Contas , a seguir clique em Adicionar Domínio.

2 – Nesta tela informe seu domínio principal e ajuste os limites para sua conta. Ao final clique em “Add domain and restart SOGo

3 – A conta que acaba de criar será listada conforme imagem a seguir. Clique no ícone DNS

Clique no Botão DNS

4 – Esta parte é muito importe e você não precisará configurá-la toda a cada novo domínio que hospedar. Para preencher vamos utilizar nosso domínio que está no CloudFlare. Obviamente o que está em verde está OK. O que está em X vermelho precisamos criar no cloudflare. Veja a imagem abaixo:

Nota: as duas primeiras entradas que estão em verde informam que você criou o IP reverso rDNS de forma correta (abordamos este tema no principio deste texto)

5 – Criando as entradas NS no CloudFlare, uma a uma

Nota: observe que agora vamos criar entradas para mail e não mais para a raiz do domínio:

6 – Abaixo exemplo de como criar entrada TLSA. Execute o mesmo de acordo com a tabela acima

7 – Após preencher todas as entradas TLSA o resultado será este:

8 – Finalizando as configurações do domínio principal

Como pudemos ver na tabela do iten 4 ainda faltam algumas entradas essenciais para a configuração do MailCow. Vamos a elas:

– Entradas MX são informações DNS que declaram e direcionam os serviços de email para o servidor de email correto.

– Entrada SRV

Pronto! Vamos verificar se está tudo certo agora, para finalmente, hospedar contas de email, domínios etc…

9 – Assim como fez na opção 3 clique no botão DNS e aguarde. O resultado esperado é “verde” para tudo , exceto SPF e DKIM que ainda não configuramos

9 – Finalizando com a configuração do DKIM e SPF

No Painel de Controle do MailCow, clique no menu superior direito (Configuração >> Administração):

10 – A seguir menu esquerdo, localize e clique Administração >> Registro ARC/DKIM

11 – A cada novo domínio que hospedar você deverá gerar um DKIN e ajustar o SPF para ele. Preencha da seguinte forma:

Domain/s : domínio referente a conta q acaba de criar
Selector: sugiro deixar o default “dekin” (sem aspas)
Tamanho do registro DKIM: gosto de utilizar 2048 bits

Para finalizar clique em “+Salvar” . Note que uma chave privada foi criada para o DKIM, nós vamos utilizar esta esta chave em nosso provedor de DNS.

Quanto ao SPF, é uma tarefa basta importante e simples, por isso vamos abordar no próximo tópico, sobre configuração do DKIM.

12 – DKIM
Adicione uma entrada TXT com nome dkim._domainkey e no campo conteúdo, cole a Prive Key que geramos no passo anterior

Insira o SPF

Comentando sobre últimos recursos importante

1 – O MailCow é totalmente integrado ao Rspamd e possui uma interface onde é possível ajustar score, filtros, visualizar logs, etc. Sugiro muito cuidado com a interface, utilize senhas muito seguras e restrinja o acesso.

Para acessar pelo primeira vamos criar uma senha (bastante segura).
Acesse o Painel do MailCow na página principal, localize Rspamd. Modifique a senha e clique no link “Rspamd UI

clique no link para acessar rspamd após alterar senha

Bastante cuidado com as alterações no rspamd, symbols, configurations etc.

Deseja ter o MailCow/ Antivirus, Backups etc, otimizado, instalado e configurado com toda a nossa experiência e ainda suporte de 7 dias ? Conte conosco, estamos aqui!🙂

Espero que este post tenha lhe ajudado !!! Até a próxima 🙂