Am Thursday 14 December 2006 10:36 schrieb Treebeard:
Jetzt geht es los: Postfix-Cyrus-Imap unter SUSE 10.1
Hier mein "Schlachtplan":
Vorarbeiten: Hostnamen und Rechnernamen prüfen
Den Hostnamen habe ich mit yast eingerichtet: Netzwerkdienste > DNS- und Hostname Hostname: tux Domainname: domain1.de Nameserver 1: IP-von-NS1 Nameserver 2: IP-von-NS2 Nameserver 3: IP-von-NS3
Mit dem Befehl hostname prüfen: # hostname tux
Das ist nur der host, aber nicht der FQDN. Der FQDN lautet tux.domain1.de
$ hostname -f oder $ hostname --fqdn
Grundkonfiguration prüfen
Da meine main.cf inzwischen schon so oft verändert wurde, habe ich mir von postfix.org die sourcen geholt (ftp://ftp.fu-berlin.de/unix/mail/postfix/official/postfix-2.3.5.tar.gz) und die Standard-main.cf eingespielt. Hier die main.cf mit geänderten Werten für mydestination, mydomain, myhostname, die auf die eigenen Werte angepasst wurden:
#postconf -n command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/libexec/postfix debug_peer_level = 2 html_directory = mail_owner = postfix mailq_path = manpage_directory = mydestination = $mydomain, localhost mydomain = tux.domain1.de myhostname = mail.domain1.de newaliases_path = queue_directory = /var/spool/postfix readme_directory = sample_directory = sendmail_path = setgid_group = unknown_local_recipient_reject_code = 550
Nach dem versuchten Neustart des Servers (postfix reload) gab es im mail.log Meldungen wie fatal: bad string length 0 < 1: setgid_group = Der Postfix-Server wurde nicht neu gestartet.
Jetzt habe ich gelesen, dass diese auskommentiert werden sollten. In meiner alten Konfiguration stand der Wert auf maildrop Das hat mich dazu veranlasst die beiden Konfigurationen mal miteinander zu vergleichen. Hier ein Vergleich meiner alten und der "Standard"(?) Konfiguarion (unerwähnte Parameter sind gleich): alt: daemon_directory = /usr/lib/postfix neu: daemon_directory = /usr/libexec/postfix
alt: debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin xxgdb $daemon_directory/$process_name $process_id & sleep 5 neu: nicht gesetzt
alt: sendmail_path = /usr/sbin/sendmail neu: sendmail_path =
alt: newaliases_path = /usr/bin/newaliases neu: newaliases_path =
alt: mailq_path = /usr/bin/mailq neu: mailq_path =
alt: setgid_group = maildrop neu: setgid_group =
alt: html_directory = /usr/share/doc/packages/postfix/html neu: html_directory =
alt: manpage_directory = /usr/share/man neu: manpage_directory =
alt: sample_directory = /usr/share/doc/packages/postfix/samples neu: sample_directory =
alt: readme_directory = /usr/share/doc/packages/postfix/README_FILES neu: readme_directory =
Ich vermute, dass diese Parameter bei der manuellen Installation gesetzt werden, beim installieren eines Paketes mit yast aber bereits vorkonfiguriert sind.
Ja, das sind aufgrund der Pfade o.ä. natürlich auch suse-spezifische Angaben, die werden nicht mit nem Vanilla-Postfix korrekt gesetzt.
Habe daher die Werte aus der alten Konfiguration geholt und in main.cf eingesetzt.
#postconf -n command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/lib/postfix debug_peer_level = 2 html_directory = /usr/share/doc/packages/postfix/html mail_owner = postfix mailq_path = /usr/bin/mailq manpage_directory = /usr/share/man mydestination = $mydomain, localhost mydomain = tux.domain1.de
Stimmt das? Ist das eine Domain?
myhostname = mail.domain1.de newaliases_path = /usr/bin/newaliases queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/packages/postfix/README_FILES sample_directory = /usr/share/doc/packages/postfix/samples sendmail_path = /usr/sbin/sendmail setgid_group = maildrop unknown_local_recipient_reject_code = 550
Jetzt startet auch der Server
Was ich so spontan vermisse ist der Weg zu Cyrus-Imapd. Postfix muss ja wissen, wie es mails dorthin zu transportieren hat. Weiterhin die Cyrus-SASL Konfiguration. Ausserdem eine Konfiguration des Relaying. Per default dürfen alle Clients aus den Netzen des Servers relayen. Ausserdem solltest Du sicherstellen, dass Yast/SuSEconfig deine Konfiguration in Ruhe lässt.
hier meine master.cf: # # Postfix master process configuration file. For details on the format # of the file, see the Postfix master(5) manual page. # # ========================================================================== # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (yes) (never) (100) # ========================================================================== smtp inet n - n - - smtpd -vv #submission inet n - n - - smtpd # -o smtpd_etrn_restrictions=reject # -o smtpd_client_restrictions=permit_sasl_authenticated,reject #smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes # -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes #submission inet n - n - - smtpd # -o smtpd_etrn_restrictions=reject # -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes #628 inet n - n - - qmqpd pickup fifo n - n 60 1 pickup cleanup unix n - n - 0 cleanup qmgr fifo n - n 300 1 qmgr #qmgr fifo n - n 300 1 oqmgr tlsmgr unix - - n 1000? 1 tlsmgr rewrite unix - - n - - trivial-rewrite bounce unix - - n - 0 bounce defer unix - - n - 0 bounce trace unix - - n - 0 bounce verify unix - - n - 1 verify flush unix n - n 1000? 0 flush proxymap unix - - n - - proxymap smtp unix - - n - - smtp # When relaying mail as backup MX, disable fallback_relay to avoid MX loops relay unix - - n - - smtp -o fallback_relay= # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5 showq unix n - n - - showq error unix - - n - - error discard unix - - n - - discard local unix - n n - - local virtual unix - n n - - virtual lmtp unix - - n - - lmtp anvil unix - - n - 1 anvil #localhost:10025 inet n - n - - smtpd -o content_filter= scache unix - - n - 1 scache # # ==================================================================== # Interfaces to non-Postfix software. Be sure to examine the manual # pages of the non-Postfix software to find out what options it wants. # # Many of the following services use the Postfix pipe(8) delivery # agent. See the pipe(8) man page for information about ${recipient} # and other message envelope options. # ==================================================================== # # maildrop. See the Postfix MAILDROP_README file for details. # Also specify in main.cf: maildrop_destination_recipient_limit=1 # maildrop unix - n n - - pipe flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient} cyrus unix - n n - - pipe user=cyrus argv=/usr/lib/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user} uucp unix - n n - - pipe flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient) ifmail unix - n n - - pipe flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient) bsmtp unix - n n - - pipe flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient procmail unix - n n - 20 pipe flags=R user=cyrus argv=/usr/bin/procmail -o SENDER=${sender} -m USER=${user} EXTENSION=${extension} /etc/procmailrc
Hier meine /usr/lib64/sasl2/smtpd.conf: pwcheck_method: saslauthd mech_list: plain login
Bei 32-Bit SUSE liegt die Datei wohl in /usr/lib/sasl2/smtpd.conf.
Ja, nur ist Cyrus-SASL bei Dir nicht eingeschaltet.
Hier meine /etc/imapd.conf: postmaster: postmaster configdirectory: /var/lib/imap partition-default: /var/spool/imap admins: cyrus allowanonymouslogin: no allowplaintext: yes sasl_mech_list: plain
Solltest Du um "login" erweitern, wie in der smtpd.conf.
servername: domain1.de
Server oder Domain-Name?
autocreatequota: 10000 reject8bit: no quotawarn: 90 timeout: 30 poptimeout: 10 dracinterval: 0 drachost: localhost sasl_pwcheck_method: saslauthd auxprop
Wieso auxprop?
sasl_auxprop_plugin: sasldb sievedir: /usr/sieve sendmail: /usr/sbin/sendmail sieve_maxscriptsize: 32 sieve_maxscripts: 5 unixhierarchysep: yes
Das ist meine aktuelle Einstellung, die Originaleinstellung kann u.U. abweichen. Ich habe auch nicht gesagt, dass diese Einstellung funktioniert. Wenn der Server läuft werde ich alle Einstellungen nochmal aufführen.
Ich meine, dass dies hier die Original-Einstellung ist:
configdirectory: /var/lib/imap partition-default: /var/spool/imap sievedir: /var/lib/sieve admins: cyrus allowanonymouslogin: no autocreatequota: 10000 reject8bit: no quotawarn: 90 timeout: 30 poptimeout: 10 dracinterval: 0 drachost: localhost sasl_pwcheck_method: saslauthd lmtp_overquota_perm_failure: no
lmtp_downcase_rcpt: yes
Das könntest Du vermissen.
# # if you want TLS, you have to generate certificates and keys # #tls_cert_file: /usr/ssl/certs/cert.pem #tls_key_file: /usr/ssl/certs/skey.pem #tls_ca_file: /usr/ssl/CA/CAcert.pem #tls_ca_path: /usr/ssl/CA
Logging für alles ein-/hochstellen (imap, auth, mail)
Logging für auth haben wir bereits eingerichtet (saslauthd):
/etc/syslog-ng/syslog-ng.in:
destination authlog { file("/var/log/auth.log"); }; filter f_auth { facility(auth); }; log { source(src); filter(f_auth); destination(authlog); };
In /var/log/mail werden standardmässig schon Fehler hineingeschreiben, ich denke imap hat seine eigene Logdatei, diese ist aber bei mir nicht angelegt (?).
Per Default logt Cyrus-Imapd mit der facility local6, bei Suse mit daemon. Kontrollier am besten wo das hingeht.
Ob man das Maillogging noch erhöhen kann/sollte, weiß ich nicht. Ich vermute aber, dass die Einstellungen okay sind. Andreas sagte mal etwas, dass man das Logging in der master.cf hochsetzen kann:
Parameter "-v" am smtpd bzw. smtp/lmtp. (ohne) = Error, Warning, Fail -v = Info, Note -vv = Debug, Trace, Pass
Ich vermute, er meint damit die Angaben in der master.cf hinter der Zeile, die die entsprechenden transports darstellen.
Ja, alle Loglevel werden aber erst ab Postfix 2.3 weitergegeben.
So, hier halte ich jetzt mal an und würde mich freuen, wenn Ihr meine Schritte kommentiert und falsche Aussagen/Begriffe austauscht. Dann hätten wir schon mal einen Anfang für die Doku/Anleitung - und natürlich einen Beginn für einen funktionierenden Mailserver unter suse 10.1 ;-) (Es ist ein Ros entsprungen...)
-- Andreas -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org