Server Installation · 4 min read · Jan 17, 2026

Der perfekte Server - Fedora 10 [ISPConfig 3] - Seite 4

10 Installieren Sie Courier-IMAP, Courier-Authlib und Maildrop

Leider gibt es keine RPM-Pakete für Courier-IMAP, Courier-Authlib und Maildrop, daher müssen wir sie selbst erstellen.

RPM-Pakete sollten nicht als Root-Benutzer erstellt werden; courier-imap wird sogar die Kompilierung verweigern, wenn es erkennt, dass die Kompilierung als Root-Benutzer ausgeführt wird. Daher erstellen wir jetzt ein normales Benutzerkonto (compileuser in diesem Beispiel) und geben ihm ein Passwort:

useradd -m -s /bin/bash compileuser
passwd compileuser

Wir werden später den sudo-Befehl benötigen, damit der Benutzer compileuser die RPM-Pakete kompilieren und installieren kann. Aber zuerst müssen wir compileuser erlauben, alle Befehle mit sudo auszuführen:

Führen Sie aus

visudo

In der Datei, die sich öffnet, gibt es eine Zeile root ALL=(ALL) ALL. Fügen Sie eine ähnliche Zeile für compileuser direkt unter dieser Zeile hinzu:

| [...] root ALL=(ALL) ALL compileuser ALL=(ALL) ALL [...] |

Jetzt sind wir bereit, unser RPM-Paket zu erstellen. Zuerst werden Sie der Benutzer compileuser:

su compileuser

Als nächstes erstellen wir unsere Build-Umgebung:

mkdir $HOME/rpm
mkdir $HOME/rpm/SOURCES
mkdir $HOME/rpm/SPECS
mkdir $HOME/rpm/BUILD
mkdir $HOME/rpm/BUILDROOT
mkdir $HOME/rpm/SRPMS
mkdir $HOME/rpm/RPMS
mkdir $HOME/rpm/RPMS/i386

echo "%_topdir $HOME/rpm" >> $HOME/.rpmmacros

Jetzt laden wir die Quelldateien von http://www.courier-mta.org/download.php herunter:

mkdir $HOME/downloads
cd $HOME/downloads

wget http://prdownloads.sourceforge.net/courier/courier-authlib-0.62.1.tar.bz2
wget http://prdownloads.sourceforge.net/courier/courier-imap-4.4.1.tar.bz2
wget http://prdownloads.sourceforge.net/courier/maildrop-2.0.4.tar.bz2

Jetzt (immer noch in $HOME/downloads) können wir courier-authlib bauen:

sudo rpmbuild -ta courier-authlib-0.62.1.tar.bz2

Nach dem Build-Prozess können die RPM-Pakete in $HOME/rpm/RPMS/i386 gefunden werden ( $HOME/rpm/RPMS/x86_64, wenn Sie auf einem x86_64-System sind):

cd $HOME/rpm/RPMS/i386

Der Befehl

ls -l

zeigt Ihnen die verfügbaren RPM-Pakete:

[compileuser@server1 i386]$ ls -l
total 588
-rw-r–r– 1 root root 139439 2009-03-03 00:43 courier-authlib-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root 311720 2009-03-03 00:43 courier-authlib-debuginfo-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root  34714 2009-03-03 00:43 courier-authlib-devel-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root  17779 2009-03-03 00:43 courier-authlib-ldap-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root  14088 2009-03-03 00:43 courier-authlib-mysql-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root  13344 2009-03-03 00:43 courier-authlib-pgsql-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root   8144 2009-03-03 00:43 courier-authlib-pipe-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root  34973 2009-03-03 00:43 courier-authlib-userdb-0.62.1-1.fc10.i386.rpm
[compileuser@server1 i386]$

Wählen Sie die Pakete aus, die Sie installieren möchten, und installieren Sie sie wie folgt:

sudo rpm -ivh courier-authlib-0.62.1-1.fc10.i386.rpm courier-authlib-mysql-0.62.1-1.fc10.i386.rpm courier-authlib-devel-0.62.1-1.fc10.i386.rpm 

Jetzt gehen wir zurück in das Verzeichnis $HOME/downloads und führen rpmbuild erneut aus, diesmal ohne sudo, da die Kompilierung fehlschlagen würde, wenn sie als Root ausgeführt wird:

cd $HOME/downloads
rpmbuild -ta courier-imap-4.4.1.tar.bz2

Nach dem Build-Prozess können die RPM-Pakete in $HOME/rpm/RPMS/i386 gefunden werden ( $HOME/rpm/RPMS/x86_64, wenn Sie auf einem x86_64-System sind):

cd $HOME/rpm/RPMS/i386

Der Befehl

ls -l

zeigt Ihnen die verfügbaren RPM-Pakete:

[compileuser@server1 i386]$ ls -l
total 1864
-rw-r–r– 1 root        root        139439 2009-03-03 00:43 courier-authlib-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root        311720 2009-03-03 00:43 courier-authlib-debuginfo-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         34714 2009-03-03 00:43 courier-authlib-devel-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         17779 2009-03-03 00:43 courier-authlib-ldap-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         14088 2009-03-03 00:43 courier-authlib-mysql-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         13344 2009-03-03 00:43 courier-authlib-pgsql-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root          8144 2009-03-03 00:43 courier-authlib-pipe-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         34973 2009-03-03 00:43 courier-authlib-userdb-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 compileuser compileuser 397991 2009-03-03 00:52 courier-imap-4.4.1-1.10.i386.rpm
-rw-r–r– 1 compileuser compileuser 895065 2009-03-03 00:52 courier-imap-debuginfo-4.4.1-1.10.i386.rpm
[compileuser@server1 i386]$

Sie können courier-imap wie folgt installieren:

sudo rpm -ivh courier-imap-4.4.1-1.10.i386.rpm

Jetzt gehen wir zurück in das Verzeichnis $HOME/downloads und führen rpmbuild erneut aus, diesmal um ein Maildrop-Paket zu erstellen:

cd $HOME/downloads
sudo rpmbuild -ta maildrop-2.0.4.tar.bz2

Nach dem Build-Prozess können die RPM-Pakete in $HOME/rpm/RPMS/i386 gefunden werden ( $HOME/rpm/RPMS/x86_64, wenn Sie auf einem x86_64-System sind):

cd $HOME/rpm/RPMS/i386

Der Befehl

ls -l

zeigt Ihnen die verfügbaren RPM-Pakete:

[compileuser@server1 i386]$ ls -l
total 3076
-rw-r–r– 1 root        root        139439 2009-03-03 00:43 courier-authlib-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root        311720 2009-03-03 00:43 courier-authlib-debuginfo-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         34714 2009-03-03 00:43 courier-authlib-devel-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         17779 2009-03-03 00:43 courier-authlib-ldap-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         14088 2009-03-03 00:43 courier-authlib-mysql-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         13344 2009-03-03 00:43 courier-authlib-pgsql-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root          8144 2009-03-03 00:43 courier-authlib-pipe-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         34973 2009-03-03 00:43 courier-authlib-userdb-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 compileuser compileuser 397991 2009-03-03 00:52 courier-imap-4.4.1-1.10.i386.rpm
-rw-r–r– 1 compileuser compileuser 895065 2009-03-03 00:52 courier-imap-debuginfo-4.4.1-1.10.i386.rpm
-rw-r–r– 1 root        root        300664 2009-03-03 00:59 maildrop-2.0.4-1.10.i386.rpm
-rw-r–r– 1 root        root        723181 2009-03-03 00:59 maildrop-debuginfo-2.0.4-1.10.i386.rpm
-rw-r–r– 1 root        root        132551 2009-03-03 00:59 maildrop-devel-2.0.4-1.10.i386.rpm
-rw-r–r– 1 root        root         58083 2009-03-03 00:59 maildrop-man-2.0.4-1.10.i386.rpm
[compileuser@server1 i386]$

Sie können maildrop jetzt wie folgt installieren:

sudo rpm -ivh maildrop-2.0.4-1.10.i386.rpm

Nachdem Sie alle benötigten Pakete kompiliert und installiert haben, können Sie wieder Root werden, indem Sie eingeben

exit

11 Wenden Sie den Quota-Patch auf Postfix an

Wir müssen das Postfix-Quell-RPM herunterladen, es mit dem Quota-Patch patchen, ein neues Postfix-RPM-Paket erstellen und es installieren.

cd /usr/src
wget http://ftp-stud.fht-esslingen.de/pub/Mirrors/fedora/linux/releases/10/Fedora/source/SRPMS/postfix-2.5.5-1.fc10.src.rpm
rpm -ivh postfix-2.5.5-1.fc10.src.rpm

Der letzte Befehl zeigt einige Warnungen an, die Sie ignorieren können:

warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root

cd /root/rpmbuild/SOURCES
wget http://vda.sourceforge.net/VDA/postfix-2.5.5-vda-ng.patch.gz
gunzip postfix-2.5.5-vda-ng.patch.gz
cd /root/rpmbuild/SPECS/

Jetzt müssen wir die Datei postfix.spec bearbeiten:

vi postfix.spec

Fügen Sie Patch0: postfix-2.5.5-vda-ng.patch zur # Patches-Stanza hinzu und %patch0 -p1 -b .vda-ng zur %setup -q-Stanza:

| [...] # Patches Patch0: postfix-2.5.5-vda-ng.patch Patch1: postfix-2.1.1-config.patch Patch3: postfix-alternatives.patch Patch6: postfix-2.1.1-obsolete.patch Patch7: postfix-2.1.5-aliases.patch Patch8: postfix-large-fs.patch Patch9: postfix-2.4.0-cyrus.patch Patch10: postfix-2.4.5-open_define.patch [...] %prep %setup -q # Wenden Sie obligatorische Patches an %patch0 -p1 -b .vda-ng %patch1 -p1 -b .config %patch3 -p1 -b .alternatives %patch6 -p1 -b .obsolete %patch7 -p1 -b .aliases %patch8 -p1 -b .large-fs %patch9 -p1 -b .cyrus %patch10 -p1 -b .open_define [...] |

Dann bauen wir unser neues Postfix-RPM-Paket mit Quota- und MySQL-Unterstützung:

rpmbuild -ba postfix.spec

Unser Postfix-RPM-Paket wird in /root/rpmbuild/RPMS/i386 erstellt ( /root/rpmbuild/RPMS/x86_64, wenn Sie auf einem x86_64-System sind), also gehen wir dorthin:

cd /root/rpmbuild/RPMS/i386

Der Befehl

ls -l

zeigt Ihnen die verfügbaren Pakete:

[root@server1 i386]# ls -l
total 11828
-rw-r–r– 1 root root 4006804 2009-03-03 01:06 postfix-2.5.5-1.fc10.i386.rpm
-rw-r–r– 1 root root 8027876 2009-03-03 01:06 postfix-debuginfo-2.5.5-1.fc10.i386.rpm
-rw-r–r– 1 root root   51904 2009-03-03 01:06 postfix-pflogsumm-2.5.5-1.fc10.i386.rpm
[root@server1 i386]#

Wählen Sie das Postfix-Paket aus und installieren Sie es wie folgt:

rpm -ivh postfix-2.5.5-1.fc10.i386.rpm

Schalten Sie dann Sendmail aus und starten Sie Postfix, saslauthd und courier-authlib:

chkconfig –levels 235 courier-authlib on
/etc/init.d/courier-authlib start

chkconfig –levels 235 sendmail off
chkconfig –levels 235 postfix on
chkconfig –levels 235 saslauthd on
/etc/init.d/sendmail stop
/etc/init.d/postfix start
/etc/init.d/saslauthd start

12 Konfigurieren Sie Courier

Jetzt erstellen wir die Systemstartlinks für courier-imap:

chkconfig –levels 235 courier-imap on
/etc/init.d/courier-authlib restart
/etc/init.d/courier-imap restart

Wenn courier-imap zum ersten Mal gestartet wird, erstellt es automatisch die Zertifikatdateien /usr/lib/courier-imap/share/imapd.pem und /usr/lib/courier-imap/share/pop3d.pem aus den Dateien /usr/lib/courier-imap/etc/imapd.cnf und /usr/lib/courier-imap/etc/pop3d.cnf. Da die .cnf-Dateien die Zeile CN=localhost enthalten, unser Server jedoch server1.example.com heißt, können die Zertifikate Probleme verursachen, wenn Sie TLS-Verbindungen verwenden. Um dies zu lösen, löschen wir beide Zertifikate…

cd /usr/lib/courier-imap/share/
rm -f imapd.pem
rm -f pop3d.pem

… und ersetzen die CN=localhost-Zeilen in /usr/lib/courier-imap/etc/imapd.cnf und /usr/lib/courier-imap/etc/pop3d.cnf durch CN=server1.example.com:

vi /usr/lib/courier-imap/etc/imapd.cnf

| [...] CN=server1.example.com [...] |

vi /usr/lib/courier-imap/etc/pop3d.cnf

| [...] CN=server1.example.com [...] |

Dann erstellen wir beide Zertifikate erneut…

./mkimapdcert
./mkpop3dcert

… und starten courier-authlib und courier-imap neu:

/etc/init.d/courier-authlib restart
/etc/init.d/courier-imap restart

13 Installieren Sie Getmail

Getmail kann wie folgt installiert werden:

yum install getmail
Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.