{title: Installation des courier-imap-servers} {author: Lars} {date: 12. Februar 2004} {version: 0.81} {abstract: Basierend auf zwei guten Quellen habe ich das Wichtigste kurz zusammengestellt, um die Installation zukuenftig erneut durchfuehren zu koennen. Zusaetzlich zum imap-server findest Du hier auch die Installation von Maildrop (fuer virtuelle qmail-Accounts) und sqwebmail zusammengefasst.}
Installation des courier-imap-Pakets
ich habe mich in etwa an folgende Doku gehalten: http://howtos.eoutfitters.net/email
Courier-Imap-Installation
die sourcen von courier-imap ziehen: http://cesnet.dl.sourceforge.net/sourceforge/courier/courier-imap-2.1.2.tar.bz2
- den neuen Nutzer courier und gleichnamige Gruppe anlegen
falls noetig: libgdbm-dev und libssl-dev installieren
- das Folgende muss als nicht-root getan werden:
- courier-imap auspacken
unseren userdb-mail-adressen-patch anwenden: patch -p0 </home/public.senselab/patches_scripts/patch-courier-imap-userdb-address
das configure-skript: ./configure --without-authldap --without-authpwd --without-authmysql --without-authpgsql --without-authvchkpw --with-authcram --without-authcustom --with-mailuser=courier --with-mailgroup=courier --with-certdb=/home/certificates/demoCA --enable-https --with-maxformargsize=10000000 --with-cacheowner=courier --with-cachedir=/var/cache/courier (dauert Ewigkeiten; Optionen: http://www.courier-mta.org/install.html)
make
make check
make install-strip (falls es schiefgeht: make install)
make install-configure
cp /usr/lib/courier-imap/libexec/imapd.rc /etc/rc.d/init.d/courier-imap um das Start-Skript zu kopieren
- nun noch die manual-Pfade einstellen in der /etc/manpath.conf:
MANPATH /usr/lib/courier-imap/man MANPATH_MAP /usr/lib/courier-imap/bin /usr/lib/courier-imap/man MANPATH_MAP /usr/lib/courier-imap/sbin /usr/lib/courier-imap/man
so - courier-imap ist soweit bereit (per telnet auf 143 testen)
Maildrop-Installation
zuerst die sourcen ziehen: http://cesnet.dl.sourceforge.net/sourceforge/courier/maildrop-1.6.3.tar.bz2
./configure --enable-userdb --enable-syslog=1 --enable-maildirquota --enable-trusted-users='courier root alias' --enable-maildrop-uid=courier --enable-maildrop-gid=courier --enable-restrict-trusted=1
- in der maildrop/config.h folgende Aenderungen vornehmen:
DEFAULT_DEF auf "<nowiki>./Maildir</nowiki>" setzen
neue Zeile: #define MAILBOX_MODE "0600"
setze TRUSTED_USERS auf: "courier root alias"
setze TRUSTED_GROUPS auf: "courier"
make
make install-strip
make install-man
- eventuell:
chown root:courier /usr/local/bin/maildrop chmod ug+s /usr/local/bin/maildrop
sqwebmail-Installation
sourcen ziehen: http://cesnet.dl.sourceforge.net/sourceforge/courier/sqwebmail-3.6.1.tar.bz2
den userdb-patch (Mailadresse fuer virtualdomains setzen) anwenden: cd ..; patch -p0 <patch-???
./configure --enable-cgibindir=/home/webserver/cgi-bin/sqwebmail --enable-imagedir=/home/webserver/htdocs/sqwebmail --without-authpam --without-authuserdb --with-authchangepwdir=/usr/local/share/sqwebmail/libexec/authlib --with-authdaemonvar=/usr/lib/courier-imap/var/authdaemon --with-authdaemon --without-authmysql --without-authpgsql --without-authldap --with-cachedir=/var/cache/sqwebmail --with-cacheowner=courier --enable-https --enable-imageurl=/sqwebmail --with-maxformargsize=10000000 --enable-fcgi --disable-autorenamesent
make
make check
make install-strip (bei Fehler: make install)
make install-configure
- Integration in Webserver: soweit die configure-Parameter korrekt waren, dann ist alles fertig
- deutsches-Sprachpaket installieren:
http://www.4e4.de/de-de-3.6.1-alex-2003-11-02.15-47.Uhr.tgz holen
- in /usr/local/share/sqwebmail/html/ entpacken
im Unterverzeichnis de-de-??? die Datei footer entfernen, um das Mail-Anhaengsel loszuwerden
das entpackte Verzeichnis symbolisch auf de, de-de, de-at, de-ch, de-li und de-lu verlinken -> so werden alle mit deutsch als Browser-praeferierter Sprache diese Oberflaeche sehen ...
um den Nutzern das Aendern der "From"-Adresse beim Absenden einer Mail zu verbieten, muss die Datei /usr/local/share/sqwebmail/nochangingfrom existieren
- cron-job einfuegen:
#!/bin/sh su -c "/usr/local/share/sqwebmail/cleancache.pl" courier bisher gibt es lediglich das Problem, dass alle Nutzer mit einem "@" im Namen (also xxx@core) als Standard-Absenderadresse nur den Nutzernamen, also keine gueltige Mail-Adresse haben
notwendige Nachbereitung
Passwort-Aenderung per sqwebmail ermoeglichen
in der Datei /usr/local/share/sqwebmail/libexec/authlib/authsystem.passwd die Zeile spawn "/usr/bin/passwd" durch die folgende ersetzen: spawn "/usr/local/bin/userdbpw -md5"
no-ssl-Warnung
um die Nutzer von Port 110 (pop3) und 143 (imap4) durch einen Hinweis-Fehler-Text auf die SSL-Varianten zu verweisen, ist Folgendes zu tun:
- in der /etc/inetd.conf folgenden Eintrag hinzufuegen:
143 stream tcp nowait courier /home/scripts/ssl_hinweis.sh
- danach eventuell inet neu starten:
/etc/init.d/inetd restart
- das dazugehoerige Skript anlegen:
#!/bin/ash echo "-ERR! Du musst SSL in den Einstellungen Deines Mail-Programms aktivieren! / You must enable ssl!"
- nun noch die iptables-Eintraege:
iptables -t nat -A PREROUTING -i eth0 --protocol tcp --dport 110 -j DNAT --to-dest 139.30.131.251:143 iptables -A INPUT -i eth0 --protocol tcp --dport 110 -j ACCEPT iptables -A INPUT -i eth0 --protocol tcp --dport 143 -j ACCEPT
- der courier-pop3, der fuer die smtp-authentification noetig ist, wird davon nicht beeinflusst, da er ueber das loopback-device immer noch erreichbar ist
zu startende Dienste
die Start-Skripte dazu liegen unter /usr/lib/courier/libexec/
- courier-imap-ssl
- courier-pop3-ssl
- courier-pop3 (nur intern fuer smtp-auth)
authdaemon wird automatisch vom ersten Mail-Daemon gestartet