Im Zuge meiner Neuorientierung und „Entgoogle“ your life Kampagne habe ich mich entschieden meinen eigenen Mail-Server einzurichten. Hierbei sei zu erwähnen, dass ich auf essentielle funktionen wie Kalendar und Adressverwaltung NICHT verzichten konnte und wollte. Aus diesem Grund fiel meine Wahl auf mailcow.
Mailcow, basiert auf einer Reihe von docker containern. Bei der Wahl des Server Anbieters ist darauf zu achten, dass die Virtualisierung mit OpenVZ 7 oder aber als Voll-virtualisirung läuft. Auf Proxmox 7, als LXC Container funtioniert es nur mit speziellen Einstellungen. Genug der Worte, los gehts:
Vorab
- FQDN entsprechend „mail.example.com“
- A-Record für die Subdomain „mail“ (mail.example.com)
- MX-Record auf die Subdomain mail.example.com
- CNAME-Record für die Subdomains „autodiscover“ sowie „autoconfig„
- TXT-Record für Ihre Domain auf „v=spf1 mx ~all“ setzen
- PTR-Record (Reverse DNS) für die IP-Adresse Ihres Servers und setzen. Wenn möglich.
Mailcow installieren
# apt update && apt upgrade -y
# apt install curl nano git apt-transport-https ca-certificates gnupg2 software-properties-common -y
#### Debian
# curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list
#### Ubuntu
# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list
####
# apt update && apt install docker-ce docker-ce-cli -y
# Docker Compose installieren
# 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
# cd /opt
# git clone https://github.com/mailcow/mailcow-dockerized
# cd mailcow-dockerized
# ./generate_config.sh
#### Timezone: Europe/Berlin Hostename: mail.example.com
# nano mailcow.conf
#### Ggf. HTTP/S Ports anpassen und ggf. Lets-Encrypt deaktivieren
# docker-compose pull
# docker-compose up -d
Das war auch schon die Installation. Ihr könnt nun, unter https://mail.example.com:<Port aus mailcow.conf> euch einloggen. Die Default-Credencials sind: admin/moohoo