Dieser Artikel beschreibt wie Postfix auf einem Mailserver installiert wird. Will man auf einem Desktoprechner Postfix als lokalen MTA einsetzen so sollte dem entsprechenden Artikel gefolgt werden, da es gewisse Unterschiede gibt.
Ein aktueller Port-Tree und root-Rechte sind Voraussetzung für die Installation von postfix. Des weiteren sind für den Betrieb als Mailserver ein gültiger MX-Eintrag notwendig.
Will man einen sicheren Server haben muss zunächst noch ein OpenSSL Zertifikat erstellen und CyrusSASL installieren und konfigurieren.
# cd /usr/ports/mail/postfix # make install clean
Als Optionen werden folgende Punkte angewählt:
[X] PCRE Perl Compatible Regular Expressions [X] SASL2 Cyrus SASLv2 (Simple Auth. and Sec. Layer) [ ] DOVECOT Dovecot SASL authentication method [ ] SASLKRB If your SASL req. Kerberos select this option [ ] SASLKRB5 If your SASL req. Kerberos5 select this option [ ] SASLKMIT If your SASL req. MIT Kerberos5 select this option [X] TLS Enable SSL and TLS support [ ] BDB Berkeley DB (choose version with WITH_BDB_VER) [ ] MYSQL MySQL maps (choose version with WITH_MYSQL_VER) [ ] PGSQL PostgreSQL maps (choose with DEFAULT_PGSQL_VER) [ ] OPENLDAP OpenLDAP maps (choose ver. with WITH_OPENLDAP_VER) [ ] CDB CDB maps lookups [ ] NIS NIS maps lookups [ ] VDA VDA (Virtual Delivery Agent 32Bit) [ ] TEST SMTP/LMTP test server and generator
Auf die Frage
You need user "postfix" added to group "mail". Would you like me to add it [y]?
wird mit y geantwortet und
Would you like to activate Postfix in /etc/mail/mailer.conf [n]?
wird auch mit y bestätigt.
Die Datei /usr/local/etc/postfix/main.cf enthält die Konfiguration von postfix. Die folgenden Zeilen werden aktiviert (das führende # entfernt):
myhostname = EIGENER-HOSTNAME myorigin = $myhostname mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain mynetworks_style = host home_mailbox = Maildir/
In die Zeile mydestination können auch noch mehr Domainnamen eingetragen werden für welche der Server Mails akzeptieren soll.
Zur Aktivierung von CyrusSASL und OpenSSL werden folgende Zeilen hinzugefügt:
smtp_sasl_auth_enable = yes smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = $mydomain broken_sasl_auth_clients = yes smtp_sasl_password_maps = hash:/usr/local/etc/sasldb2 smtpd_recipient_restrictions = permit_sasl_authenticated permit_mynetworks reject_unauth_destination smtp_tls_CAfile = /etc/opensslcerts/official-mail.crt smtp_tls_cert_file = /etc/opensslcerts/official-mail.crt smtp_tls_key_file = /etc/opensslcerts/mail.key smtp_tls_session_cache_database = btree:/var/run/smtp_tls_session_cache smtp_tls_security_level = may smtpd_tls_CAfile = /etc/opensslcerts/official-mail.crt smtpd_tls_cert_file = /etc/opensslcerts/official-mail.crt smtpd_tls_key_file = /etc/opensslcerts/mail.key smtpd_tls_session_cache_database = btree:/var/run/smtpd_tls_session_cache smtpd_tls_received_header = yes smtpd_tls_security_level = may tls_random_source = dev:/dev/urandom smtpd_tls_auth_only = yes
Als nächstes wird die Alias-Datenbank neu angelegt und an die für postfix richtige Stelle verlinkt.
# postalias /etc/mail/aliases # ln -s /etc/mail/aliases.db /etc/aliases.db # newaliases
Damit postfix beim nächsten Start geladen wird und sendmail nicht weiter für den Mailverkehr genutzt wird muss die /etc/rc.conf um folgende Zeilen erweitert werden:
# Postfix statt Sendmail postfix_enable="YES" sendmail_enable="NO" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO"
Anschliessend wird die Datei /etc/periodic.conf erzeugt und folgende Zeilen in selbige eingefügt um keine Wartungsarbeiten mehr an sendmail vorzunehmen.
daily_clean_hoststat_enable="NO" daily_status_mail_rejects_enable="NO" daily_status_include_submit_mailq="NO" daily_submit_queuerun="NO"