= Postfix = == Allgemein == Egal ob virtual server rein sollen oder nicht: {{{ myhostname = lug-owl.de mydomain = lug-owl.de }}} Auch bei ''mydestination'' dürfen die virtuellen nicht aufgeführt sein, nur die Domains mit den normalen Systemusern als Empfänger gehören hier rein. {{{ mynetworks = 127.0.0.0/8, 188.68.32.151/32 [::1]/128 }}} ACHTUNG: Fehlt bei ''mynetworks'' nicht noch die echte IPv6 Adresse? {{{ mailbox_command = /usr/bin/procmail smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) inet_protocols = all mailbox_size_limit = 0 }}} == SASL stuff für SMTP-auth == {{{ smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination }}} == TLS Support == {{{ smtpd_tls_security_level = encrypt smtpd_tls_cert_file = /etc/dovecot/dovecot.pem smtpd_tls_key_file = /etc/dovecot/private/dovecot.pem }}} == Virtual Servers == In der '''main.cf''': {{{ virtual_mailbox_domains = cybernoia.de virtual_mailbox_base = /var/mail.virtual virtual_mailbox_maps = hash:/etc/postfix/virtual_mailbox_maps virtual_minimum_uid = 1000 virtual_uid_maps = hash:/etc/postfix/virtual_uid_maps virtual_gid_maps = static:8 }}} Das Mapping von Mailadressen auf Inboxen passiert in der '''virtual_mailbox_maps''': {{{ andrel@cybernoia.de cybernoia.de/andrel andre.landwehr@cybernoia.de cybernoia.de/andrel info@cybernoia.de cybernoia.de/andrel blog@cybernoia.de cybernoia.de/blog hanneheiner@cybernoia.de cybernoia.de/hanneheiner/inbox malte@cybernoia.de cybernoia.de/malte/inbox }}} Zusätzlich muss für jede Mailadresse ein Mapping auf eine echte System-UID existieren, das passiert in der '''virtual_uid_maps''': {{{ andrel@cybernoia.de 1005 andre.landwehr@cybernoia.de 1005 info@cybernoia.de 1005 blog@cybernoia.de 1005 hanneheiner@cybernoia.de 1005 malte@cybernoia.de 1005 }}} wobei 1005 die UID von ''andrel'' ist. Beide mapfiles müssen kompiliert werden mit ''postmap virtual_uid_maps; postmap virtual_mailbox_maps''. Jetzt können unter ''/var/mail.virtual'' die virtuellen Domains und darunter die INBOXen der accounts (wie in der ''virtual_mailbox_maps'' konfiguriert) angelegt werden, also z.B. ''/var/mail.virtual/cybernoia.de/andrel''. Berechtigungen beachten! = Dovecot = == Allgemein == '''10-mail.conf''': {{{ mail_location = mbox:~/Mail:INBOX=/var/mail/%u mail_privileged_group = mail }}} '''10-master.conf''': {{{ service imap-login { inet_listener imap { address = 127.0.0.1 port = 143 } inet_listener imaps { address = *, :: port = 993 ssl = yes } } service auth { unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix } } }}} == Virtual Server == Die IMAP Konfiguration ist bzgl. Virtual Servers der deutlich aufwändigere und verwirrendere Teil, nicht zuletzt weil Dovecot seine Konfiguration kreuz und quer über ein ''conf.d'' Verzeichnis verteilt. '''10-auth.conf''': {{{ !include auth-system.conf.ext !include auth-passwdfile.conf.ext }}} Damit werden die User sowohl in der /etc/passwd als auch in den domainspezifischen files gesucht. '''auth-passwdfile.conf.ext''': {{{ passdb { driver = passwd-file args = username_format=%n /etc/dovecot/%d/imap.passwd } userdb { driver = passwd-file args = username_format=%n /etc/dovecot/%d/imap.passwd } }}} '''auth-system.conf.ext''': {{{ passdb { driver = pam args = username_format=%u } userdb { driver = passwd } }}} Jetzt kann man für jede Domain ein Verzeichnis anlegen, z.B. ''/etc/dovecot/cybernoia.de''. Darin gibt es dann eine '''imap.passwd''' mit allen Usern, die sich auch einloggen können sollen. UID/GID muss wieder die vom echten Systemuser sein, dem die mbox gehört (siehe Postfix Konfiguration): {{{ andrel:{CRYPT}ReD04zhbqIhaY:1005:1005::/home/andrel::userdb_mail=mbox:~/Mail malte:{CRYPT}DbJdg4lqPb.2g:1005:1005::/home/andrel::userdb_mail=mbox:/var/mail.virtual/cybernoia.de/malte hanneheiner:$5$u/19L96bS2cbWlis$fn4HqSF9H5ZBptGYVSS0HX2CR/dUkNV6.tV0zYuzCEB:1005:1005::/home/andrel::userdb_mail=mbox:/var/mail.virtual/cybernoia.de/hanneheiner }}}