Mailserver mailcow met docker

root of gewone gebruiker

Wanneer een # voor de commando regelstaat, voer je het commando uit als root. Commando’s met een $ kun je als normale unprivileged gebruiker uitvoeren.

Met sudo kun je tijdelijk root rechten krijgen, wanneer je een 'normale' gebruiker bent. Je moet dan wel aan de sudoers zijn toegevoegd.

Hostname

Pas eventueel de hostname van je VM aan: # hostnamectl set-hostname "mail"

/etc/hosts controleren

etc hosts
Figure 1. Pas je /etc/hosts bestand aan

git en curl installeren

# apt install git curl

docker installeren

$ curl -sSL https://get.docker.com/ | CHANNEL=stable sh

docker service bij opstarten aanzetten

# systemctl enable --now docker

docker-compose installeren

# 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

Uitvoeringsrechten geven

# chmod +x /usr/local/bin/docker-compose

Kijken of SELinux aanstaat

$ docker info | grep selinux

Als SElinux niks retourneert dan een nieuw bestand aanmaken

# nano /etc/docker/daemon.json

Plak de volgende code in het bestand

{
 "selinux-enabled": true
}

Herstart de docker daemon

# systemctl restart docker

Opnieuw kijken of SELinux aanstaat

$ docker info | grep selinux

Controleer of umask 0022 retourneert

# umask
0022 # <- Verify it is 0022

Enter de map /opt

$ cd /opt

Mailcow repo clonen

# git clone https://github.com/mailcow/mailcow-dockerized

Pas configuratie aan

$ cd /opt/mailcow-dockerized
# ./generate_config.sh
Vraag 1: Mailserver hostname(FQDN): mail.dominion.lan
Vraag 2: Timezone: Europe/Amsterdam
Vraag 3: Disable ClamAV

Haal de juiste images op

# docker compose pull

Dit duurt wel eventjes. Geduld dus…​

Start de docker images

# docker compose up -d

Dit duurt ook wel eventjes. Geduld dus…​

Update

Voer zonodig het update.sh script uit als root

#./update.sh

Afronding: Test of de installatie werkt

  1. Start browser

  2. Typ in adresbalk https://${MAILCOW_HOSTNAME}

  3. Accepteer via Advanced en Accept the risk and continue het zelfgetekende certificaat

  4. Inloggen met admin en moohoo

Mailbox aanmaken

Klik in de admin webinterface van mailcow op Configuration en dan Mail setup

mailsetup
Figure 2. Mail setup

Klik nu op de groene Add domain knop

add domain
Figure 3. Domain toevoegen

Klik vervolgens op het tabblad Mailboxes

mailboxes
Figure 4. Mailbox

Klik op de groene Add mailbox knop

addmailbox
Figure 5. Mailbox toevoegen

Maak in ieder geval twee gebruikers aan

adduser
Figure 6. Gebruiker toevoegen

Open nu de persoonlijke mailbox van een van de nieuwe gebruikers

Gebruik hiervoor de link https://mail.dominion.lan/SOGo

Stuur elkaar een mail

Klaar!