Installation
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.
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.
Konfiguration
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
Diesen Artikel als PDF kaufen
Als digitales Abo
Weitere Produkte im Medialinx Shop »
Versandartikel
Onlineartikel
Alle Rezensionen aus dem Linux-Magazin
- Buecher/07 Bücher über 3-D-Programmierung sowie die Sprache Dart
- Buecher/06 Bücher über Map-Reduce und über die Sprache Erlang
- Buecher/05 Bücher über Scala und über Suchmaschinen-Optimierung
- Buecher/04 Bücher über Metasploit sowie über Erlang/OTP
- Buecher/03 Bücher über die LPI-Level-2-Zertifizierung
- Buecher/02 Bücher über Node.js und über nebenläufige Programmierung
- Buecher/01 Bücher über Linux-HA sowie über PHP-Webprogrammierung
- Buecher/12 Bücher über HTML-5-Apps sowie Computer Vision mit Python
- Buecher/11 Bücher über Statistik sowie über C++-Metaprogrammierung
- Buecher/10 Bücher zu PHP-Webbots sowie zur Emacs-Programmierung
Insecurity Bulletin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...





