Server Installation · 4 min read · Nov 09, 2025
Der perfekte Server - CentOS 5.2 [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 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 benötigen später den sudo-Befehl, 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
visudoIn der sich öffnenden Datei 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 compileuserAls 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/SRPMS
mkdir $HOME/rpm/RPMS
mkdir $HOME/rpm/RPMS/i386
echo "%_topdir $HOME/rpm" >> $HOME/.rpmmacrosJetzt laden wir die Quelldateien von http://www.courier-mta.org/download.php herunter:
cd /tmp
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 /tmp) können wir courier-authlib bauen:
sudo rpmbuild -ta courier-authlib-0.62.1.tar.bz2Nach dem Build-Prozess finden Sie die rpm-Pakete in $HOME/rpm/RPMS/i386 ( $HOME/rpm/RPMS/x86_64, wenn Sie sich auf einem x86_64-System befinden):
cd $HOME/rpm/RPMS/i386Der Befehl
ls -lzeigt Ihnen die verfügbaren rpm-Pakete:
[compileuser@server1 i386]$ ls -l
total 584
-rw-r–r– 1 root root 140978 Feb 26 03:00 courier-authlib-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 309196 Feb 26 03:00 courier-authlib-debuginfo-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 34672 Feb 26 03:00 courier-authlib-devel-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 17855 Feb 26 03:00 courier-authlib-ldap-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 14048 Feb 26 03:00 courier-authlib-mysql-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 13214 Feb 26 03:00 courier-authlib-pgsql-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 8175 Feb 26 03:00 courier-authlib-pipe-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 35927 Feb 26 03:00 courier-authlib-userdb-0.62.1-1.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.i386.rpm courier-authlib-mysql-0.62.1-1.i386.rpm courier-authlib-devel-0.62.1-1.i386.rpm Jetzt gehen wir zurück in das Verzeichnis /tmp und führen rpmbuild erneut aus, diesmal ohne sudo, da die Kompilierung fehlschlagen würde, weil sie als root ausgeführt wurde:
cd /tmp
rpmbuild -ta courier-imap-4.4.1.tar.bz2
Nach dem Build-Prozess finden Sie die rpm-Pakete in $HOME/rpm/RPMS/i386 ( $HOME/rpm/RPMS/x86_64, wenn Sie sich auf einem x86_64-System befinden):
cd $HOME/rpm/RPMS/i386Der Befehl
ls -lzeigt Ihnen die verfügbaren rpm-Pakete:
[compileuser@server1 i386]$ ls -l
total 1868
-rw-r–r– 1 root root 140978 Feb 26 03:00 courier-authlib-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 309196 Feb 26 03:00 courier-authlib-debuginfo-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 34672 Feb 26 03:00 courier-authlib-devel-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 17855 Feb 26 03:00 courier-authlib-ldap-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 14048 Feb 26 03:00 courier-authlib-mysql-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 13214 Feb 26 03:00 courier-authlib-pgsql-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 8175 Feb 26 03:00 courier-authlib-pipe-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 35927 Feb 26 03:00 courier-authlib-userdb-0.62.1-1.i386.rpm
-rw-rw-r– 1 compileuser compileuser 395137 Feb 26 03:13 courier-imap-4.4.1-1.i386.rpm
-rw-rw-r– 1 compileuser compileuser 906775 Feb 26 03:13 courier-imap-debuginfo-4.4.1-1.i386.rpm
[compileuser@server1 i386]$
Sie können courier-imap wie folgt installieren:
sudo rpm -ivh courier-imap-4.4.1-1.i386.rpmJetzt gehen wir zurück in das Verzeichnis /tmp und führen rpmbuild erneut aus, diesmal um ein Maildrop-Paket zu erstellen:
cd /tmp
sudo rpmbuild -ta maildrop-2.0.4.tar.bz2
Nach dem Build-Prozess finden Sie die rpm-Pakete in $HOME/rpm/RPMS/i386 ( $HOME/rpm/RPMS/x86_64, wenn Sie sich auf einem x86_64-System befinden):
cd $HOME/rpm/RPMS/i386Der Befehl
ls -lzeigt Ihnen die verfügbaren rpm-Pakete:
[compileuser@server1 i386]$ ls -l
total 3096
-rw-r–r– 1 root root 140978 Feb 26 03:00 courier-authlib-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 309196 Feb 26 03:00 courier-authlib-debuginfo-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 34672 Feb 26 03:00 courier-authlib-devel-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 17855 Feb 26 03:00 courier-authlib-ldap-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 14048 Feb 26 03:00 courier-authlib-mysql-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 13214 Feb 26 03:00 courier-authlib-pgsql-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 8175 Feb 26 03:00 courier-authlib-pipe-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 35927 Feb 26 03:00 courier-authlib-userdb-0.62.1-1.i386.rpm
-rw-rw-r– 1 compileuser compileuser 395137 Feb 26 03:13 courier-imap-4.4.1-1.i386.rpm
-rw-rw-r– 1 compileuser compileuser 906775 Feb 26 03:13 courier-imap-debuginfo-4.4.1-1.i386.rpm
-rw-r–r– 1 root root 303104 Feb 26 03:25 maildrop-2.0.4-1.i386.rpm
-rw-r–r– 1 root root 739326 Feb 26 03:25 maildrop-debuginfo-2.0.4-1.i386.rpm
-rw-r–r– 1 root root 134387 Feb 26 03:25 maildrop-devel-2.0.4-1.i386.rpm
-rw-r–r– 1 root root 58837 Feb 26 03:25 maildrop-man-2.0.4-1.i386.rpm
[compileuser@server1 i386]$
Sie können maildrop jetzt wie folgt installieren:
sudo rpm -ivh maildrop-2.0.4-1.i386.rpmNachdem Sie alle benötigten Pakete kompiliert und installiert haben, können Sie wieder root werden, indem Sie eingeben
exit11 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/centos/5.2/os/SRPMS/postfix-2.3.3-2.src.rpm
rpm -ivh postfix-2.3.3-2.src.rpm
Der letzte Befehl zeigt einige Warnungen, die Sie ignorieren können:
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
cd /usr/src/redhat/SOURCES
wget http://vda.sourceforge.net/VDA/postfix-2.3.3-vda.patch.gz
gunzip postfix-2.3.3-vda.patch.gz
cd /usr/src/redhat/SPECS/
Jetzt müssen wir die Datei postfix.spec bearbeiten:
vi postfix.specÄndern Sie %define MYSQL 0 in %define MYSQL 1, fügen Sie Patch0: postfix-2.3.3-vda.patch zur # Patches-Stanza hinzu und fügen Sie schließlich %patch0 -p1 -b .vda zur %setup -q-Stanza hinzu:
| [...] %define MYSQL 1 [...] # Patches Patch0: postfix-2.3.3-vda.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.2.5-cyrus.patch [...] %setup -q # Wenden Sie obligatorische Patches an %patch0 -p1 -b .vda %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 [...] |
Dann bauen wir unser neues Postfix-rpm-Paket mit Quota- und MySQL-Unterstützung:
rpmbuild -ba postfix.specUnser Postfix-rpm-Paket wird in /usr/src/redhat/RPMS/i386 ( /usr/src/redhat/RPMS/x86_64, wenn Sie sich auf einem x86_64-System befinden) erstellt, also gehen wir dorthin:
cd /usr/src/redhat/RPMS/i386Der Befehl
ls -lzeigt Ihnen die verfügbaren Pakete:
[root@server1 i386]# ls -l
total 11292
-rw-r–r– 1 root root 3820393 Feb 27 18:16 postfix-2.3.3-2.i386.rpm
-rw-r–r– 1 root root 7666204 Feb 27 18:16 postfix-debuginfo-2.3.3-2.i386.rpm
-rw-r–r– 1 root root 50539 Feb 27 18:16 postfix-pflogsumm-2.3.3-2.i386.rpm
[root@server1 i386]#
Wählen Sie das Postfix-Paket aus und installieren Sie es wie folgt:
rpm -ivh postfix-2.3.3-2.i386.rpmDann schalten Sie Sendmail aus und starten 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 getmailErhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.