|
|
Workshop: Mailserver aus Komponenten installieren und konfigurierenPostmoderne MailHeiner Lamprecht |
Wer einen Mailserver für mehrere Domains und für eine große Nutzerschar betreiben will, stößt schnell an die Grenzen des klassischen Mail-Setups unter Linux. Für alle E-Mail-User eigene Shellaccounts anlegen bläht die Anzahl der Benutzer im System unnötig auf, inklusive der Sicherheitsrisiken, die man sich dabei einhandelt.
Ein Mailserver mit eigener, vom System getrennter Benutzer- und Adressverwaltung sollte es also schon sein, am besten gleich mit einem komfortablen Webfrontend. Unter Linux stehen viele Varianten zur Wahl, ein solches System aufzusetzen, dieser Artikel stellt eine besonders leistungsfähige vor.
Diese Serverkonfiguration enthält als zentralen Baustein eine MySQL-Datenbank, die alle wichtigen Informationen über die Nutzer, die E-Mail-Adressen und die Domains auf dem Mailserver speichert. Alle anderen Programme holen sich die benötigten Informationen aus der Datenbank.
Für das Senden und Empfangen von Mails bietet sich Postfix[1] an, ein einfach zu administrierender SMTP-Server, der mit hoher Performance und Stabilität glänzt. Anders als zum Beispiel QMail enthält Postfix eine native Unterstützung von MySQL. Zwar lässt sich auch QMail an MySQL anbinden[2], aber die offiziellen Quellen enthalten diese Funktionen bislang nicht. Im produktiven Einsatz können daraus Problemen entstehen, wenn das Einspielen von Sicherheitsupdates an den selbst gepatchten Quellen scheitert.
Die Verteilung der Post über POP und IMAP übernimmt Cyrus-IMAP[3] von der Carnegie Mellon University. Anders als viele andere IMAP-Server benutzt Cyrus-IMAP nicht die Standard-Postfächer, sondern verwaltet die Mails in einem eigenen Verzeichnisbaum. Dort liegt jede Mail als eigene Datei, was die Sicherheit zum Beispiel im Falle eines Dateisystemfehlers erhöht. Auch der Zugriff auf einzelne Mails ist dadurch schneller, zumal Cyrus-IMAP eine eigene Datenbank mit Statusinformationen zu den einzelnen Mails pflegt. Tatsächlich gilt Cyrus-IMAP als der zur Zeit schnellste IMAP-Server auf dem Markt, besonders bei hoher Last.
Cyrus-IMAP ist dafür konzipiert, eine eigene Nutzerdatenbank zu pflegen. Dadurch lassen sich die Mail-Nutzer von denen mit Shellzugriff auf dem Server leicht trennen. Selbst bei Nutzern mit Shellaccount kann das Shell-Passwort vom Mail-Passwort getrennt werden. Angesichts der Tatsache, dass POP und IMAP die Passwörter per se unverschlüsselt durchs Netz schicken, ein wichtiger Sicherheitsaspekt.
Die Authentifizierung der Nutzer erledigt Cyrus-SASL[4] (Simple Authentication and Security Layer). SASL beantwortet Authentifizierungsanfragen von beliebigen Clients. Im hier vorgestellten Setup überprüft es die Passwörter mit Hilfe des PAM-MySQL-Moduls[5]. Prinzipiell können Postfix und Cyrus-IMAP die Nutzer- und Domaininformationen auch von einem LDAP-Server beziehen, was jedoch etwas aufwändiger ist.
Abbildung 1 illustriert, wie die verschiedenen Programme für den Empfang und das Verschicken von Mail zusammenspielen. Empfängt Postfix eine E-Mail, prüft es zuerst in der Datenbank, ob es für die Domain zuständig ist und ob die Empfängeradresse existiert. Erst dann nimmt es die Mail an und übergibt sie, sofern der Administrator keine externe Weiterleitung festgelegt hat, lokal an Cyrus-IMAP. Dieser sortiert sie in das entsprechende Postfach ein. Der Empfänger holt seine Post über POP3 oder IMAP ab, auf Wunsch auch SSL-verschlüsselt. Cyrus-SASL, das über PAM auf die Datenbank zugreift, kümmert sich um die Authentifizierung.
Um Mails zu versenden, muss sich der Nutzer gegenüber Postfix authentifizieren. Auch hier prüft Postfix anhand der Datenbank, ob er das überhaupt darf, und verhindert so unerlaubtes Relaying über den Server. Bei ausgehenden Mails liest Postfix die Informationen der »virtual«- und »alias«-Tabellen aus der Datenbank, um eventuell die Absenderadressen zu verändern.
Als Basissystem dient für diesen Artikel eine Standardinstallation von Suse 9.0, die Schritte bis zum vollständigen Server sind aber leicht auf andere Versionen und Distributionen übertragbar. Suse Linux enthält die meisten Pakete bereits. Nur Postfix ist neu zu übersetzen, da die von Suse gelieferte Version keine MySQL-Datenbank unterstützt.
Im ersten Schritt installiert man die Datenbank. Zusätzlich sind auch die normalerweise nicht mitinstallierten Devel-Pakete nötig. Da die Datenbank unter anderem Nutzernamen und verschlüsselte Passwörter enthält, darf sie nur von »localhost« erreichbar sein. Hierzu dient der Parameter »--bind-address=127.0. 0.1« im Startskript »/etc/init.d/mysql« - nach dieser Änderung ist natürlich ein Neustart von MySQL fällig.
Auch OpenSSL[6] ist in normalen Distributionen enthalten. Cyrus-IMAP und Cyrus-SASL brauchen die Berkeley DB[7], und zwar mindestens Version 4.0. Diese schlichte Embedded-Datenbank, die viele Systemtools intern nutzen, gehört unter Linux zur Grundausstattung. Suse 9.0 liefert passende Versionen der drei Programme mit. Debian-Systeme enthalten oft noch eine ältere Berkeley DB - dann ist ein Update fällig. Cyrus-IMAP und Cyrus-SASL sind dann auch neu zu übersetzen, da sie genau jene Version der Berkeley DB erwarten, mit der sie kompiliert wurden.
Listings 1 und 2 zeigen die notwendigen Schritte. Wer die Programme selbst übersetzt, muss auch das System passend konfigurieren. Hierzu gehört, einen eigenen Benutzer »cyrus« anzulegen. Normalerweise haben Daemons eine UID unter 100, Suse-Systeme verwenden für »cyrus« standardmäßig die 96. Der User muss zur Gruppe »mail« gehören. Außerdem muss der Administrator noch ein entsprechendes Start- und Stopp-Skript in »/etc/init.d/« anlegen.
Listing 1: Kompilieren von Cyrus-SASL |
01 tar -xvzf cyrus-sasl-2.1.18.tar.gz 02 cd cyrus-sasl-2.1.18 03 ./configure --enable-anon --enable-plain --enable-login --disable-krb4 --disable-otp --disable-cram --disable-digest --with-saslauthd=/var/run/saslauthd --with-pam=/lib/security --with-dblib=berkeley --with-bdb-libdir=/usr/local/bdb/lib --with-bdb-incdir=/usr/local/bdb/include --with-openssl=/usr/local/ssl --with-plugindir=/usr/local/lib/sasl2 04 su ; make && make install 05 mkdir -p /var/run/saslauthd 06 cd saslauthd 07 make testsaslauthd 08 cp testsaslauthd /usr/local/bin 09 echo /usr/local/lib/sasl2 >> /etc/ld.so.conf 10 ldconfig |
Listing 2: Kompilieren von Cyrus-IMAP |
01 tar -xvzf cyrus-imapd-2.2.3.tar.gz 02 cd cyrus-imapd-2.2.3 03 ./configure --with-sasl=/usr/local/lib --with-perl --with-auth=unix --with-dbdir=/usr/local/bdb --with-bdb-libdir=/usr/local/bdb/lib --with-bdb-incdir=/usr/local/bdb/include --with-openssl=/usr/local/ssl --without-ucdsnmp 04 make depend 05 su ; make && make install 06 su - cyrus 07 /usr/local/cyrus-imapd-2.2.3/tools/mkimap |
PAM (Pluggable Authentication Modules)[8] gehören heutzutage zum Standardumfang jeder Linux-Distribution. Es genügt, das MySQL-Modul[5] nachzuinstallieren oder zu kompilieren. Wer sein MySQL selbst übersetzt, muss unter Umständen im Makefile die Pfade anpassen. Pam_mysql kommt ohne Configure-Skript daher, sodass ein Aufruf von »make« genügt. Das fertige Modul kopiert der Administrator anschließend nach »/lib/security«. Eventuell muss er noch mit »ln -s /tmp/mysql.sock/ var/ lib/mysql/mysql.sock« einen Symlink für den MySQL-Socket anlegen.
Postfix ist mittlerweile in vielen Distributionen Standard-MTA, die notwendige MySQL-Anbindung fehlt jedoch in der Regel. Ob sie enthalten ist, zeigt der Befehl »postconf -m«. Fehlt die Angabe »mysql«, ist Postfix neu zu übersetzen. Da die meisten Paketverwaltungen zwingend einen MTA verlangen, sorgt man dafür, dass irgendein Postfix im System ist. Die neu kompilierte Version lässt sich bedenkenlos über die Paketversion installieren. Der Aufruf
make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -I/usr/include/sasl' 'AUXLIBS=-L/usr/lib/mysql -lmysqlclient -lz -lm -lsasl2'
erzeugt die passenden Makefiles, ein »make«-Aufruf startet den Kompiliervorgang. »make install« stellt diverse Fragen. In der Regel ist der Defaultwert eine gute Wahl.
Wer möchte, konfiguriert Cyrus-IMAP komplett per Kommandozeile. Komfortabler geht es jedoch mit dem Webfrontend Web-cyradm[9]. Zum Installieren reicht es, das Paket auszupacken und an eine beliebige Stelle unterhalb des Docroot-Verzeichnisses des Webservers zu kopieren. Zusätzlich ist mit »touch /var/log/web-cyradm.log« eine Logdatei anzulegen und dem passenden User, zum Beispiel »nobody«, zuzuweisen.
Sobald alle benötigten Programme installiert sind, beginnt die eigentliche Konfiguration. Im ersten Schritt legt der Admin die Datenbank an. Web-cyradm bringt dazu zwei SQL-Skripte mit. Das Skript »insertuser_mysql.sql« erzeugt die benötigten Nutzer für die Datenbank sowie die leere Datenbank. Vor dem Aufruf sind auf jeden Fall noch die Passwörter im Skript zu ändern. Dann folgt:
/usr/bin/mysql -u root -p < /srv/www/htdocs/web-cyradm/scripts/insertuser_mysql.sql
Das Skript »create_mysql.sql« erzeugt alle Tabellen innerhalb der Datenbank:
/usr/bin/mysql mail -u mailadmin -p < /srv/www/htdocs/web-cyradm/scripts/create_mysql.sql
Als Nächstes sind die Konfigurationseinstellungen für PAM in der Datei »/etc/ pam.d/imap« an der Reihe (siehe Listing 3). Wer die Authentifizierungsfunktion auch für die anderen Services nutzen will, kopiert die Datei anschließend dreimal:
cp /etc/pam.d/imap /etc/pam.d/pop cp /etc/pam.d/imap /etc/pam.d/sieve cp /etc/pam.d/imap /etc/pam.d/smtp
Listing 3: »/etc/pam.d/imap« |
01 auth sufficient pam_mysql.so user=mailadmin passwd=geheim host=localhost db=mail table=accountuser usercolumn=username passwdcolumn=password crypt=1 logtable=log logmsgcolumn=msg logusercolumn=user loghostcolumn=host logpidcolumn=pid logtimecolumn=time 02 account required pam_mysql.so user=mailadmin passwd=geheim host=localhost db=mail table=accountuser usercolumn=username passwdcolumn=password crypt=1 logtable=log logmsgcolumn=msg logusercolumn=user loghostcolumn=host logpidcolumn=pid logtimecolumn=time |
Postfix wird über »/etc/postfix/main.cf« konfiguriert. Diese Datei legt unter anderem fest, welche Datenquellen der MTA für die einzelnen so genannten Lookup Tables verwendet. In diesen Tabellen stehen die Einstellungen für Postfächer, Weiterleitungen, Umleitungen, Zugriffskontrollen und Ähnliches. Postfix kennt verschiedene Typen von Quellen für die einzelnen Tabellen, die es beliebig kombinieren kann. Wer mehr über die Bedeutung der rund 300 verschiedenen Parameter erfahren möchte, sollte einen Blick in das Postfix-Buch von Peer Heinlein[10] werfen.
Listing 4 zeigt einen Ausschnitt der »main.cf« mit den für dieses Beispiel wichtigen Parametern. Die Zeilen 1 bis 3 steuern die SMTP-Authentifizierung. Damit sie funktioniert, muss der Administrator außerdem die Datei »/usr/lib/sasl2/smtpd.conf« anlegen. Sie enthält nur zwei Zeilen:
pwcheck_method: saslauthd mech_list: plain login
Der Parameter »permit_sasl_authenticated« in Zeile 4 in Listing 4 sorgt dafür, dass nur per SASL authentifizierte Benutzer über den Server Mails versenden dürfen. Ein unautorisiertes Versenden unterbindet der Parameter »reject_unauth_destination«. Damit ist sichergestellt, dass der Server kein offenes Relay ist, das Spammer missbrauchen könnten. Zeile 5 weist Postfix an, E-Mails lokal über Cyrus-IMAP zu verteilen.
Listing 4: »/etc/postfix/main.cf« |
01 smtpd_sasl_auth_enable = yes 02 smtpd_sasl_security_options = noanonymous 03 broken_sasl_auth_clients = yes 04 smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination 05 mailbox_transport = cyrus 06 mydestination = mysql:/etc/postfix/mysql-mydestination.cf 07 virtual_alias_maps = mysql:/etc/postfix/mysql-virtual.cf 08 sender_canonical_maps = mysql:/etc/postfix/mysql-canonical.cf |
Die restlichen Zeilen legen fest, welche Konfigurationsdateien Postfix für den Zugriff auf die Datenbank verwenden soll. Der Aufbau dieser Dateien ist immer derselbe, lediglich die Angaben über die Tabellen und Spalten ändern sich. Listing 5a zeigt eine vollständige Datei »mysql-canonical.cf«, Listings 5b und 5c enthalten nur die davon abweichenden Zeilen der übrigen Dateien.
Listing 5a: »/etc/postfix/ mysql-canonical.cf« |
01 # user name and password to log into the mysql server 02 hosts = localhost 03 user = mailadmin 04 password = geheim 05 # database name on the servers 06 dbname = mail 07 # table name and columns 08 table = virtual 09 select_field = alias 10 where_field = username 11 # return the first match only 12 additional_conditions = and status = '1' limit 1 |
Listing 5b: »mysql-virtual.cf« |
01 # table name and columns 02 table = virtual 03 select_field = dest 04 where_field = alias 05 additional_conditions = and status = '1' |
Listing 5c: »mysql-mydestination .conf« |
01 # table name and columns 02 table = domain 03 select_field = domain_name 04 where_field = domain_name |
Zur Konfiguration von Cyrus-IMAP dient die Datei »/etc/imapd.conf« (siehe Listing 6). Die Zeile 4 ist auskommentiert, um zu verhindern, dass Admins sich von außen einloggen. Um lokalen Admin-Zugriff zu erlauben, legt man eine gleichlautende Datei »/etc /imapd-local.conf« zusätzlich an und entfernt darin das Kommentarzeichen in Zeile 4. In Zeile 8 muss der vollständige Hostname des Servers stehen.
Listing 6: »/etc/imapd.conf« |
01 postmaster: postmaster 02 configdirectory: /var/lib/imap 03 partition-default: /var/spool/imap 04 # admins: cyrus # no admins! 05 allowanonymouslogin: no 06 allowplaintext: yes 07 sasl_mech_list: PLAIN 08 servername: test-server.tld 09 autocreatequota: 10000 10 reject8bit: no 11 quotawarn: 90 12 timeout: 30 13 poptimeout: 10 14 dracinterval: 0 15 drachost: localhost 16 sasl_pwcheck_method: saslauthd 17 sievedir: /usr/sieve 18 sendmail: /usr/sbin/sendmail 19 sieve_maxscriptsize: 32 20 sieve_maxscripts: 5 21 # unixhierarchysep: yes |
Zeile 21 legt fest, auf welche Art Cyrus die Benutzernamen bilden soll. Ist die Zeile auskommentiert oder der Wert auf »no« gesetzt, nummeriert es die User einfach durch. Alternativ lassen sich die Namen aber auch nach dem Schema »user.domain.tld« zusammensetzen. Soll später ein Webmail-Frontend wie Squirrelmail[11] zum Einsatz kommen, darf der Wert nicht auf »yes« stehen. Andernfalls kann Squirrelmail verschiedene Mailordner nicht anlegen.
Für die TLS/SSL-Verschlüsselung legt der Admin als Nächstes ein Zertifikat an (Listing 7). Das ist allerdings von keiner anerkannten Zertifizierungsstelle unterzeichnet. Manche Mailclients zeigen daher eine Warnung an, die man jedoch ignorieren kann. Das Zertifikat dient ja nicht zur Identifizierung des Servers, sondern zur Verschlüsselung. Wer möchte, kann aber auch den Fingerprint des Zertifikats auf seiner Website veröffentlichen, damit die Benutzer es überprüfen können.
Listing 7: Anlegen eines OpenSSL-Zertifikats |
01 openssl req -new -nodes -out req.pem -keyout key.pem 02 openssl rsa -in key.pem -out new.key.pem 03 openssl x509 -in req.pem -out ca-cert -req -signkey new.key.pem -days 999 04 mkdir /var/lib/imap 05 mv new.key.pem /var/lib/imap/server.pem 06 cat ca-cert >> /var/lib/imap/server.pem 07 chown cyrus:mail /var/lib/imap/server.pem 08 chmod 600 /var/lib/imap/server.pem 09 echo tls_ca_file: /var/lib/imap/server.pem >> /etc/imapd.conf 10 echo tls_cert_file: /var/lib/imap/server.pem >> /etc/imapd.conf 11 echo tls_key_file: /var/lib/imap/server.pem >> /etc/imapd.conf |
Die Datei »/etc/cyrus.conf« steuert den Master-Prozess von Cyrus. Sie legt fest, in welchen Situationen der IMAP-Daemon welche Konfigurationsdatei verwenden soll. Hier erfolgt auch die erwähnte Unterscheidung zwischen lokalem Zugriff, der auch dem Admin-User »cyrus« erlaubt ist, und dem Zugriff von außen. In Listing 8 muss die IP-Adresse 192.168.0.1 durch die externe IP-Adresse des Servers ersetzt werden. Außerdem ist wichtig, dass die Zeile »lmtpunix« den richtigen Pfad enthält.
Nun kann der Admin den SASL- und IMAP-Daemon starten. Mit dem Befehl
saslpasswd2 -c cyrus
legt er den ersten IMAP-Nutzer an, den Web-cyradm später beim Zugriff auf Cyrus-IMAP verwendet. Bei der Passwortanfrage »saslpasswd2« sollte er das gleiche Passwort angeben, das er vorher in der letzten Zeile von »create_mysql.sql« eingetragen hat. Mit dem Aufruf von »cyradm« lässt sich das Passwort auch gleich ausprobieren. »cyradm« authentifiziert gegen den SASL- und IMAP-Daemon, die also beide laufen müssen:
cyradm --user cyrus --server localhost --auth plain IMAP Password: localhost>
Im letzten Konfigurationsschritt richtet der Administrator Web-cyradm ein. In dem Unterverzeichnis »config« von Web-cyradm liegt bereits eine allgemeine Konfigurationsdatei »conf.php.dist«, die er in »conf.php« umbenennt. In ihr legt er jetzt die Angaben für das Einloggen beim Cyrus-IMAP-Server fest. Zurzeit kann Web-cyradm nicht über eine verschlüsselte Verbindung auf den IMAP-Server zugreifen. Wenn beide Systeme aber auf demselben Server laufen, ist dies kein Problem mehr. Anschließend wird die Datenbankverbindung in der Datei angegeben.
Web-cyradm bietet über die Variable »$CRYPT« mehrere Möglichkeiten der Passwortverschlüsselung. Der sinnvollste Wert hierfür ist »crypt«. Dann verwendet Web-cyradm die gleiche Verschlüsselung wie das Shadow-Passwortsystem. Als Letztes bestimmt der Administrator, wie Web-cyradm die Nutzernamen vergeben soll. Wer bei der Einrichtung der »/etc/imapd.conf« den Wert »unixhierarchysep« auf »yes« gesetzt hat, sollte nun die Variable »DOMAIN_AS_PREFIX« auf »1« setzen.
Listing 8: »/etc/cyrus.conf« |
01 START { 02 # do not delete this entry! 03 recover cmd="ctl_cyrusdb -r" 04 } 05 # UNIX sockets start with a slash and are put into /var/lib/imap/socket 06 SERVICES { 07 # add or remove based on preferences 08 imap cmd="imapd" listen="192.168.0.1:imap" prefork=0 09 imaplocal cmd="imapd -C /etc/imapd-local.conf" listen="127.0.0.1:imap" 10 prefork=0 11 imaps cmd="imapd -s" listen="192.168.0.1:imaps" prefork=0 12 imapslocal cmd="imapd -C /etc/imapd-local.conf" listen="127.0.0.1:imaps" 13 prefork=0 14 pop3 cmd="pop3d" listen="pop3" prefork=0 15 pop3s cmd="pop3d -s" listen="pop3s" prefork=0 16 sieve cmd="timsieved" listen="192.168.0.1:sieve" prefork=0 17 sievelocal cmd="timsieved -C /etc/imapd-local.conf listen="127.0.0.1:sieve" 18 prefork=0 19 # at least one LMTP is required for delivery 20 lmtpunix cmd="lmtpd" listen="/var/lib/imap/socket/lmtp" prefork=0 21 } 22 EVENTS { 23 # this is required 24 checkpoint cmd="ctl_cyrusdb -c" period=30 25 # this is only necessary if using duplicate delivery suppression 26 delprune cmd="ctl_deliver -E 3" period=1440 27 # this is only necessary if caching TLS sessions 28 tlsprune cmd="tls_prune" period=1440 29 } |
Die Konfiguration ist abgeschlossen, nun lassen sich MySQL, Apache, Postfix, Cyrus-IMAP und der SASL-Daemon über die Skripte in »/etc/init.d« starten. Der Befehl »netstat -an | grep LISTEN« prüft, ob sie korrekt laufen. Die Ports, 25, 80, 110, 143, 993 und 995 sollten von außen erreichbar sein, Port 3306 dagegen möglichst nur vom Server selbst, also über 127.0.0.1. Sieht alles gut aus, startet der Admin als Nächstes einen Browser und ruft die Web-cyradm-Einstiegsseite auf. Dort loggt er sich als »admin« mit dem zuvor in »create_mysql .sql« gesetzten Passwort ein.
Anschließend lassen sich hier nach Belieben Domains und zugehörige E-Mail-Adressen konfigurieren (Abbildung 2 und 3). Auch für die Weiterleitungen ist Web-cyradm zuständig. Beim Anlegen der Domains ist darauf zu achten, dass diese auch tatsächlich zu dem jeweiligen Server gehören. Wer nur testen will, trägt die Domains kurzfristig in »/etc/ hosts« ein, damit eventuelle Testmails nichts nach draußen gelangen.
Wer den Wartungsaufwand für den Admin so gering wie möglich halten möchte, richtet weitere so genannte Domain-Administratoren ein: Diese dürfen eine oder mehrere Domains komplett verwalten, aber keine neuen Domains und User einrichten.
Nachdem der Administrator die ersten Testdomains und -Adressen angelegt hat, sollte er über einen Mailclient oder einfacher noch mit Telnet prüfen, ob Postfix auch Mails für die Adressen annimmt. Abbildung 4 zeigt eine solche Verbindung. Der Server selbst heißt dabei »test-server.tld«, die virtuelle Domain ist »test-domain.tld«.
Wenn statt der Rückmeldung in Zeile 11 etwas anderes erscheint, zum Beispiel
451 <test@test-domain.tld>: Temporary lookup failure
dann kann Postfix nicht auf die Datenbank zugreifen. Entweder ist MySQL gar nicht gestartet oder die Zugriffsrechte sind falsch gesetzt oder in einer der MySQL-Konfigurationsdateien in »/etc/postfix« stehen falsche Angaben. Bei allen Problemen mit Postfix lohnt sich ein Blick in die Logdatei »/var/log/mail«. Hier stehen meist genauere Angaben darüber, was falsch gelaufen ist.
Zum Abruf der soeben erfolgreich gesendeten Mail lässt sich jeder beliebige Mailclient nutzen, wahlweise über POP3 oder IMAP. Die Abbildungen 5a und 5b zeigen die passenden Einstellungen für KMail. Läuft beim Test alles gut, ist der Mailserver einsatzbereit. (eba)
Infos |
[1] Postfix: [http://www.postfix.org] Peer Heinlein, "Selbstverteidigungskurs": Linux-Magazin 12/02, S. 52 [2] QMail/MySQL: [http://iain.cx/qmail/mysql/] [3] Cyrus-IMAP: [http://asg.web.cmu.edu/cyrus/imapd/] [4] SASL: [http://asg.web.cmu.edu/sasl/] [5] PAM-MySQL: [http://pam-mysql.sf.net] [6] OpenSSL: [http://www.openssl.org] [7] DBM: [http://www.sleepycat.com] [8] Linux-PAM: [http://www.kernel.org/pub/linux/libs/pam/] und Dirk. v. Suchodoletz, M. Walter, "Alles über PAM": Linux-Magazin 05/04, S. 38 [9] Webfrontend für Cyrus: [http://www.web-cyradm.org] [10] Postfix-Buch: [http://www.postfixbuch.de] [11] Squirrelmail: [http://www.squirrelmail.org] |
Der Autor |
Heiner Lamprecht arbeitet als Produktmanager bei der Barco Orthogon AG. Mit der Firma The-open-net bietet er Internet-basierte Dienstleistungen für Firmen und Organisationen an. |