linux  mailserver

  Inhaltsverzeichnis:

mailcow: dockerized - 🐮 + 🐳 = 💕

2024-08-13 / 2024-08-20

Zitat: Die Mailserver-Suite mit dem 'moo'
Webseite
Dokumentation

Install

sudo -i
umask
# 0022 # <- Überprüfen, dass es 0022 ist
cd /opt
git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized

./generate_config.sh
# Mail server hostname (FQDN) - this is not your mail domain, but your mail servers hostname: mail.heister.email
# Timezone [Etc/UTC]: Europe/Berlin
# Which branch of mailcow do you want to use?

# Available Branches:
# - master branch (stable updates) | default, recommended [1]
# - nightly branch (unstable updates, testing) | not-production ready [2]
# Choose the Branch with it´s number [1/2] 1
# Already on 'master'
# Your branch is up to date with 'origin/master'.
# Generating snake-oil certificate...
# ...+..+...
# Copying snake-oil certificate...
# Detecting if your IP is listed on Spamhaus Bad ASN List...
# Check completed! Your IP is clean

Config

nano mailcow.conf
	HTTP_PORT=8080
	HTTPS_PORT=8443
	# SMTP_PORT=25
	# SMTPS_PORT=465
	# SUBMISSION_PORT=587
	# IMAP_PORT=143
	# IMAPS_PORT=993
	# POP_PORT=110
	# POPS_PORT=995
	# SIEVE_PORT=4190

sudo ufw allow 25
#sudo ufw allow 110
#sudo ufw allow 143
sudo ufw allow 465
sudo ufw allow 587
sudo ufw allow 993
# sudo ufw allow 995
# sudo ufw allow 4190

ReverseProxy

mail.heister.email

webmail.heister.email
	# ! Zusatz zum Reverse-Proxy 
	RewriteEngine on
	RewriteCond %{REQUEST_URI} !^/SOGo
	RewriteRule ^(.*?)/? /SOGo/$1 [R=301]

Starten/Stoppen

sudo docker compose up -d
sudo docker compose down

Default Login

admin/moohoo

Weiterleitung

System -> Information -> Protokolle -> Rspamd
   Rausfinden welcher Host geblockt wird bei einer Weiterleitung...

System -> Konfiguration -> Einstellungen -> Weiterleitungs-Host
   Host als Weiterleitungs-Host eintragen!

Sicherung

rm -r -d /opt/mailcow-dockerized-backup/* 2>&1 >>${BACKUPLOGFILE}
echo "$(date "+%d.%m.%Y %H:%M:%S") - $(if [[ "$?" == "0" ]]; then echo "successfully"; else echo "error"; fi) - mailcow remove-backup -> "$? >>${BACKUPSUMMERY}
MAILCOW_BACKUP_LOCATION=/opt/mailcow-dockerized-backup/ /opt/mailcow-dockerized/helper-scripts/backup_and_restore.sh backup all 2>&1 >>${BACKUPLOGFILE}
echo "$(date "+%d.%m.%Y %H:%M:%S") - $(if [[ "$?" == "0" ]]; then echo "successfully"; else echo "error"; fi) - mailcow backup -> "$? >>${BACKUPSUMMERY}
DoBackup "mailcow" "/opt/mailcow-dockerized-backup/" 5 noincrement

Reporting Pflogsum-Doku

Install

install pflogsumm

Reporting

docker logs --since 24h $(docker ps -qf name=postfix-mailcow) | perl /usr/sbin/pflogsumm

Update

cd /opt/mailcow-dockerized
sudo ./update.sh --check
sudo ./update.sh
#ggf. mehrfach ausführen, steht aber in den Anweisungen. Also LESEN!
# -> update.sh changed, please run this script again, exiting.

SOGo Theme #inwork

Dokumentation