Exim: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
Zeile 1: Zeile 1:
 
= Mailserver-Installation mit Exim4 und Dovecot =
 
= Mailserver-Installation mit Exim4 und Dovecot =
  
Diese Anleitung beschreibt die Installation und Konfiguration eines Mailservers basierend auf Exim4 (MTA) und Dovecot (IMAP/POP3). Die Konfiguration nutzt das Maildir-Format und implementiert TLS-Verschlüsselung.
+
Diese Anleitung beschreibt die vollständige Einrichtung eines Mailservers unter Debian. Es wird Exim4 als MTA und Dovecot als MDA verwendet, inklusive TLS-Verschlüsselung und Maildir-Zustellung.
 
 
== Voraussetzungen ==
 
 
 
* Ein Debian-basiertes Betriebssystem.
 
* Root-Rechte.
 
* Ein gültiger FQDN (Fully Qualified Domain Name).
 
* SSL-Zertifikate unter /etc/ssl/own.crt und /etc/ssl/own.key.
 
  
 
== Vorbereitung ==
 
== Vorbereitung ==
  
=== Bestehende Mail-Dienste entfernen ===
+
=== Bestehende Dienste entfernen ===
  
Um Konflikte zu vermeiden, werden bestehende Installationen vollständig entfernt:
+
Um eine saubere Basis zu schaffen, werden alle alten Mail-Komponenten und deren Konfigurationsdateien gelöscht.
  
 
<pre>
 
<pre>
Zeile 24: Zeile 17:
 
</pre>
 
</pre>
  
=== Verzeichnisstruktur und Berechtigungen ===
+
=== Verzeichnisse und Berechtigungen ===
  
Das Verzeichnis für die lokale Zustellung vorbereiten:
+
Das Verzeichnis für die Kommunikation zwischen Exim und Dovecot (LMTP/Auth) sowie das Mail-Skelett für neue Benutzer werden vorbereitet.
  
 
<pre>
 
<pre>
Zeile 32: Zeile 25:
 
chown Debian-exim:Debian-exim /var/spool/exim4/private
 
chown Debian-exim:Debian-exim /var/spool/exim4/private
 
chmod 750 /var/spool/exim4/private
 
chmod 750 /var/spool/exim4/private
</pre>
 
  
=== Maildir für neue Benutzer ===
 
 
Integration in das Benutzer-Skelett:
 
 
<pre>
 
 
mkdir -p /etc/skel/Maildir/{cur,new,tmp}
 
mkdir -p /etc/skel/Maildir/{cur,new,tmp}
 
grep -q MAILDIR /etc/skel/.bashrc || echo 'export MAIL=$HOME/Maildir' >> /etc/skel/.bashrc
 
grep -q MAILDIR /etc/skel/.bashrc || echo 'export MAIL=$HOME/Maildir' >> /etc/skel/.bashrc
Zeile 45: Zeile 32:
 
== Installation ==
 
== Installation ==
  
Die Installation der Kernkomponenten:
+
Installation der notwendigen Pakete:
  
 
<pre>
 
<pre>
Zeile 54: Zeile 41:
 
== Konfiguration ==
 
== Konfiguration ==
  
=== Exim4 Basis-Konfiguration ===
+
=== Exim4 Basis und Domain-Empfang ===
  
Die Konfiguration erfolgt über die Datei <tt>/etc/exim4/update-exim4.conf.conf</tt>.
+
Damit Exim Mails für den Hostnamen UND die Domain annimmt, wird dc_other_hostnames entsprechend gesetzt.
  
 
<pre>
 
<pre>
Zeile 78: Zeile 65:
 
</pre>
 
</pre>
  
=== Exim4 TLS und SMTPS ===
+
=== Exim4 TLS und Ports ===
  
Erstellung der Split-Config Dateien für Verschlüsselung und Port 465.
+
Konfiguration der SSL-Zertifikate und Aktivierung von SMTPS auf Port 465.
  
==== Zertifikate ====
 
 
<pre>
 
<pre>
 
cat <<EOF > /etc/exim4/conf.d/main/03_exim4-config_tlsoptions
 
cat <<EOF > /etc/exim4/conf.d/main/03_exim4-config_tlsoptions
Zeile 88: Zeile 74:
 
tls_privatekey  = /etc/ssl/own.key
 
tls_privatekey  = /etc/ssl/own.key
 
EOF
 
EOF
</pre>
 
  
==== Ports ====
 
<pre>
 
 
cat <<EOF > /etc/exim4/conf.d/main/02_smtps
 
cat <<EOF > /etc/exim4/conf.d/main/02_smtps
 
daemon_smtp_ports = 25 : 465
 
daemon_smtp_ports = 25 : 465
 
tls_on_connect_ports = 465
 
tls_on_connect_ports = 465
 
EOF
 
EOF
</pre>
 
  
Aktivierung der Exim-Konfiguration:
 
<pre>
 
 
update-exim4.conf
 
update-exim4.conf
 
systemctl restart exim4
 
systemctl restart exim4
 
</pre>
 
</pre>
  
=== Dovecot Konfiguration ===
+
=== Dovecot ===
  
==== Mail-Speicherort ====
+
==== Mail-Speicher ====
Datei: <tt>/etc/dovecot/conf.d/10-mail.conf</tt>
 
 
<pre>
 
<pre>
 +
cat > /etc/dovecot/conf.d/10-mail.conf <<EOF
 
mail_driver = maildir
 
mail_driver = maildir
 
mail_home = /home/%{user | username}
 
mail_home = /home/%{user | username}
 
mail_path = %{home}/Maildir
 
mail_path = %{home}/Maildir
 +
EOF
 
</pre>
 
</pre>
  
==== TLS/SSL Einstellungen ====
+
==== SSL/TLS ====
Datei: <tt>/etc/dovecot/conf.d/10-ssl.conf</tt>
 
 
<pre>
 
<pre>
 +
cat > /etc/dovecot/conf.d/10-ssl.conf <<EOF
 
ssl = yes
 
ssl = yes
 
ssl_server_cert_file = /etc/ssl/own.crt
 
ssl_server_cert_file = /etc/ssl/own.crt
 
ssl_server_key_file = /etc/ssl/own.key
 
ssl_server_key_file = /etc/ssl/own.key
 
ssl_min_protocol = TLSv1.2
 
ssl_min_protocol = TLSv1.2
 +
EOF
 
</pre>
 
</pre>
  
==== Master-Konfiguration (Sockets) ====
+
==== Master-Dienste (Socket-Anbindung) ====
Datei: <tt>/etc/dovecot/conf.d/10-master.conf</tt>
+
Definition der Sockets für LMTP und Auth-Abfragen durch Exim.
 +
 
 
<pre>
 
<pre>
 +
cat > /etc/dovecot/conf.d/10-master.conf <<EOF
 
service imap-login {
 
service imap-login {
 
   inet_listener imap {
 
   inet_listener imap {
Zeile 148: Zeile 132:
 
   }
 
   }
 
}
 
}
 +
EOF
 
</pre>
 
</pre>
  
 
== Abschluss ==
 
== Abschluss ==
  
Dienste neu starten:
+
Dienste neu starten, um alle Änderungen zu übernehmen:
  
 
<pre>
 
<pre>
Zeile 160: Zeile 145:
  
 
[[Kategorie:Mailserver]]
 
[[Kategorie:Mailserver]]
[[Kategorie:Linux]]
+
[[Kategorie:Exim]]
 +
[[Kategorie:Dovecot]]
 
*[[Exim Alternative]]
 
*[[Exim Alternative]]

Aktuelle Version vom 20. März 2026, 05:54 Uhr

Mailserver-Installation mit Exim4 und Dovecot

Diese Anleitung beschreibt die vollständige Einrichtung eines Mailservers unter Debian. Es wird Exim4 als MTA und Dovecot als MDA verwendet, inklusive TLS-Verschlüsselung und Maildir-Zustellung.

Vorbereitung

Bestehende Dienste entfernen

Um eine saubere Basis zu schaffen, werden alle alten Mail-Komponenten und deren Konfigurationsdateien gelöscht.

systemctl stop postfix exim4 dovecot || true
apt purge -y postfix exim4 exim4-base exim4-config exim4-daemon-light exim4-daemon-heavy dovecot-core dovecot-imapd dovecot-lmtpd
apt autoremove -y
apt autoclean
rm -rf /etc/postfix /etc/exim4 /etc/dovecot /var/spool/postfix /var/spool/exim4

Verzeichnisse und Berechtigungen

Das Verzeichnis für die Kommunikation zwischen Exim und Dovecot (LMTP/Auth) sowie das Mail-Skelett für neue Benutzer werden vorbereitet.

mkdir -p /var/spool/exim4/private
chown Debian-exim:Debian-exim /var/spool/exim4/private
chmod 750 /var/spool/exim4/private

mkdir -p /etc/skel/Maildir/{cur,new,tmp}
grep -q MAILDIR /etc/skel/.bashrc || echo 'export MAIL=$HOME/Maildir' >> /etc/skel/.bashrc

Installation

Installation der notwendigen Pakete:

apt update
DEBIAN_FRONTEND=noninteractive apt install -y exim4 dovecot-core dovecot-imapd dovecot-lmtpd mailutils

Konfiguration

Exim4 Basis und Domain-Empfang

Damit Exim Mails für den Hostnamen UND die Domain annimmt, wird dc_other_hostnames entsprechend gesetzt.

FQDN=$(hostname -f)
DOM=$(hostname -d)

cat > /etc/exim4/update-exim4.conf.conf <<EOF
dc_eximconfig_configtype='internet'
dc_other_hostnames='$FQDN:$DOM'
dc_local_interfaces='0.0.0.0'
dc_readhost=''
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets=''
dc_smarthost=''
dc_use_split_config='true'
dc_hide_mailname=''
dc_mailname_in_oh='true'
dc_localdelivery='maildir_home'
EOF

Exim4 TLS und Ports

Konfiguration der SSL-Zertifikate und Aktivierung von SMTPS auf Port 465.

cat <<EOF > /etc/exim4/conf.d/main/03_exim4-config_tlsoptions
tls_certificate = /etc/ssl/own.crt
tls_privatekey  = /etc/ssl/own.key
EOF

cat <<EOF > /etc/exim4/conf.d/main/02_smtps
daemon_smtp_ports = 25 : 465
tls_on_connect_ports = 465
EOF

update-exim4.conf
systemctl restart exim4

Dovecot

Mail-Speicher

cat > /etc/dovecot/conf.d/10-mail.conf <<EOF
mail_driver = maildir
mail_home = /home/%{user | username}
mail_path = %{home}/Maildir
EOF

SSL/TLS

cat > /etc/dovecot/conf.d/10-ssl.conf <<EOF
ssl = yes
ssl_server_cert_file = /etc/ssl/own.crt
ssl_server_key_file = /etc/ssl/own.key
ssl_min_protocol = TLSv1.2
EOF

Master-Dienste (Socket-Anbindung)

Definition der Sockets für LMTP und Auth-Abfragen durch Exim.

cat > /etc/dovecot/conf.d/10-master.conf <<EOF
service imap-login {
  inet_listener imap {
  }
  inet_listener imaps {
  }
}

service lmtp {
  unix_listener /var/spool/exim4/private/dovecot-lmtp {
    mode = 0600
    user = Debian-exim
    group = Debian-exim
  }
}

service auth {
  unix_listener /var/spool/exim4/private/auth {
    mode = 0660
    user = Debian-exim
    group = Debian-exim
  }
}
EOF

Abschluss

Dienste neu starten, um alle Änderungen zu übernehmen:

systemctl restart exim4
systemctl restart dovecot