Wie man courier-imap, courier-authlib, Und maildrop Auf Fedora, RedHat, CentOS installiert
Version 1.0
Author: Falko Timme <ft [at] falkotimme [dot] com>
Aus irgendwelchen Gründen sind Courier Pakete (courier-imap, courier-authlib, maildrop) auf RedHat-basierten Distributionen (RedHat, Fedora, CentOS) nicht verfügbar und die einzige Paketdatenbank von einem Drittanbieter, die solche Pakete hatte, scheint es nicht mehr zu geben (enlartenment.com). Daher erklärt diese Anleitung wie man sein eigenes Courier rpm Paket aus dem Quelltext erstellt und installiert. Ich stelle Download Links für mein Courier rpm Paket, das ich auf Fedora 8 (i368) erstellt habe, bereit, damit Du etwas Zeit sparst.
Ich übernehme keine Garantie, dass dies auch bei Dir funktionieren wird!
1 Vorbemerkung
Ich habe dies auf einem Fedora 8 (i386) System ausprobiert; es müsste auch auf RedHat und CentOS funktionieren. Wenn Du auf einem x86_64 System arbeitest, ersetze in dieser Anleitung alle Bezugnahmen auf i386 mit x86_64.
2 Installation der Voraussetzungen
Bevor wir die Courier Pakete erstellen können, benötigen wir einige Voraussetzungen wie Compiler, Entwicklungsbibliotheken etc., die wir wie folgt installieren können:
yum groupinstall ‚Development Tools‘
yum groupinstall ‚Development Libraries‘
yum install rpm-build gcc mysql-devel openssl-devel cyrus-sasl-devel pkgconfig zlib-devel pcre-devel openldap-devel postgresql-devel expect libtool-ltdl-devel openldap-servers libtool gdbm-devel pam-devel gamin-devel
3 Erstellen eines nicht-privilegierten Benutzerkontos
RPM Pakete sollten nicht als Root erstellt werden; courier-imap wird das Erstellen sogar verweigern, wenn es feststellt, dass die Kompilierung als Root Benutzer läuft. Daher legen wir ein normales Benutzerkonto an (falko in diesem Beispiel) und richten ein Passwort ein:
useradd -m -s /bin/bash falko
passwd falko
Wir werden den Sudo Befehl später benötigen damit der Benutzer falko die rpm Pakete erstellen und installieren kann. Aber zuerst müssen wir falko gestatten, alle Befehle mit sudo laufen zu lassen:
Führe Folgendes aus
visudo
In der Datei, die sich öffnet, steht die Zeile root ALL=(ALL) ALL. Füge eine ähnliche Zeile für falko gleich darunter hinzu:
[...] ## Allow root to run any commands anywhere root ALL=(ALL) ALL falko ALL=(ALL) ALL [...] |
4 Erstellen von courier-authlib, courier-imap, Und maildrop
Nun sind wir bereit unser rpm Paket zu erstellen. Zunächst werden wir der Benutzer falko:
su falko
Als Nächstes erstellen wir unsere Build Environment:
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/.rpmmacros
Nun erstellen wir ein Download-Verzeichnis und laden die Quelldateien von folgender Seite runter http://www.courier-mta.org/download.php:
mkdir $HOME/downloads
cd $HOME/downloads
wget http://prdownloads.sourceforge.net/courier/courier-authlib-0.60.2.tar.bz2
wget http://prdownloads.sourceforge.net/courier/courier-imap-4.2.1.tar.bz2
wget http://prdownloads.sourceforge.net/courier/maildrop-2.0.4.tar.bz2
4.1 courier-authlib
Nun (immer noch in $HOME/downloads) können wir erstellen courier-authlib:
sudo rpmbuild -ta courier-authlib-0.60.2.tar.bz2
Nach dem Erstellen kannst Du das rpm Paket in dem Verzeichnis $HOME/rpm/RPMS/i386 ($HOME/rpm/RPMS/x86_64 wenn Du auf einem x86_64 System arbeitest) finden:
cd $HOME/rpm/RPMS/i386
Der Befehl
ls -l
zeigt Dir das verfügbare rpm Paket an:
[[email protected] i386]$ ls -l
total 600
-rw-r–r– 1 root root 137335 2007-11-13 18:02 courier-authlib-0.60.2-1.fc8.i386.rpm
-rw-r–r– 1 root root 323827 2007-11-13 18:02 courier-authlib-debuginfo-0.60.2-1.fc8.i386.rpm
-rw-r–r– 1 root root 34201 2007-11-13 18:02 courier-authlib-devel-0.60.2-1.fc8.i386.rpm
-rw-r–r– 1 root root 18039 2007-11-13 18:02 courier-authlib-ldap-0.60.2-1.fc8.i386.rpm
-rw-r–r– 1 root root 14258 2007-11-13 18:02 courier-authlib-mysql-0.60.2-1.fc8.i386.rpm
-rw-r–r– 1 root root 13602 2007-11-13 18:02 courier-authlib-pgsql-0.60.2-1.fc8.i386.rpm
-rw-r–r– 1 root root 8336 2007-11-13 18:02 courier-authlib-pipe-0.60.2-1.fc8.i386.rpm
-rw-r–r– 1 root root 36859 2007-11-13 18:02 courier-authlib-userdb-0.60.2-1.fc8.i386.rpm
[[email protected] i386]$
Wähle diejenigen aus, die Du installieren möchtest und installiere sie wie folgt:
sudo rpm -ivh courier-authlib-0.60.2-1.fc8.i386.rpm
sudo rpm -ivh courier-authlib-devel-0.60.2-1.fc8.i386.rpm
sudo rpm -ivh courier-authlib-mysql-0.60.2-1.fc8.i386.rpm
4.2 courier-imap
Wir gehen jetzt zu unserem Download-Verzeichnis zurück:
cd $HOME/downloads
und führen erneut rpmbuild aus, dieses Mal ohne sudo, sonst schlägt das Erstellen fehl, da sie als Root gelaufen ist root:
rpmbuild -ta courier-imap-4.2.1.tar.bz2
Nach dem Erstellen kannst Du die rpm Pakete im Verzeichnis $HOME/rpm/RPMS/i386 ($HOME/rpm/RPMS/x86_64 wenn Du auf einem x86_64 System arbeitest) finden:
cd $HOME/rpm/RPMS/i386
Der Befehl
ls -l
zeigt Dir die verfügbaren rpm Pakete:
[[email protected] i386]$ ls -l
total 1284
-rw-r–r– 1 root root 137335 2007-11-13 18:02 courier-authlib-0.60.2-1.fc8.i386.rpm
-rw-r–r– 1 root root 323827 2007-11-13 18:02 courier-authlib-debuginfo-0.60.2-1.fc8.i386.rpm
-rw-r–r– 1 root root 34201 2007-11-13 18:02 courier-authlib-devel-0.60.2-1.fc8.i386.rpm
-rw-r–r– 1 root root 18039 2007-11-13 18:02 courier-authlib-ldap-0.60.2-1.fc8.i386.rpm
-rw-r–r– 1 root root 14258 2007-11-13 18:02 courier-authlib-mysql-0.60.2-1.fc8.i386.rpm
-rw-r–r– 1 root root 13602 2007-11-13 18:02 courier-authlib-pgsql-0.60.2-1.fc8.i386.rpm
-rw-r–r– 1 root root 8336 2007-11-13 18:02 courier-authlib-pipe-0.60.2-1.fc8.i386.rpm
-rw-r–r– 1 root root 36859 2007-11-13 18:02 courier-authlib-userdb-0.60.2-1.fc8.i386.rpm
-rw-rw-r– 1 falko falko 383455 2007-11-13 18:21 courier-imap-4.2.1-1.8.i386.rpm
-rw-rw-r– 1 falko falko 917771 2007-11-13 18:21 courier-imap-debuginfo-4.2.1-1.8.i386.rpm
[[email protected] i386]$
courier-imap kannst Du wie folgt installieren:
sudo rpm -ivh courier-imap-4.2.1-1.8.i386.rpm
4.3 maildrop
Wieder zurück in unserem Download-Verzeichnis:
cd $HOME/downloads
wir führen rpmbuild erneut aus:
sudo rpmbuild -ta maildrop-2.0.4.tar.bz2
Nach dem Erstellen kannst Du die rpm Pakete in dem Verzeichnis $HOME/rpm/RPMS/i386 ($HOME/rpm/RPMS/x86_64 wenn Du auf einem x86_64 System arbeitest) finden:
cd $HOME/rpm/RPMS/i386
Der Befehl
ls -l
zeigt Dir die verfügbaren rpm Pakete:
[[email protected] i386]$ ls -l
total 3128
-rw-r–r– 1 root root 137343 2007-11-13 18:02 courier-authlib-0.60.2-1.fc8.i386.rpm
-rw-r–r– 1 root root 324618 2007-11-13 18:02 courier-authlib-debuginfo-0.60.2-1.fc8.i386.rpm
-rw-r–r– 1 root root 34208 2007-11-13 18:02 courier-authlib-devel-0.60.2-1.fc8.i386.rpm
-rw-r–r– 1 root root 18042 2007-11-13 18:02 courier-authlib-ldap-0.60.2-1.fc8.i386.rpm
-rw-r–r– 1 root root 14254 2007-11-13 18:02 courier-authlib-mysql-0.60.2-1.fc8.i386.rpm
-rw-r–r– 1 root root 13599 2007-11-13 18:02 courier-authlib-pgsql-0.60.2-1.fc8.i386.rpm
-rw-r–r– 1 root root 8339 2007-11-13 18:02 courier-authlib-pipe-0.60.2-1.fc8.i386.rpm
-rw-r–r– 1 root root 36855 2007-11-13 18:02 courier-authlib-userdb-0.60.2-1.fc8.i386.rpm
-rw-rw-r– 1 falko falko 383455 2007-11-13 18:21 courier-imap-4.2.1-1.8.i386.rpm
-rw-rw-r– 1 falko falko 917771 2007-11-13 18:21 courier-imap-debuginfo-4.2.1-1.8.i386.rpm
-rw-r–r– 1 root root 299030 2007-11-13 18:35 maildrop-2.0.4-1.8.i386.rpm
-rw-r–r– 1 root root 752872 2007-11-13 18:35 maildrop-debuginfo-2.0.4-1.8.i386.rpm
-rw-r–r– 1 root root 136235 2007-11-13 18:35 maildrop-devel-2.0.4-1.8.i386.rpm
-rw-r–r– 1 root root 58439 2007-11-13 18:35 maildrop-man-2.0.4-1.8.i386.rpm
[[email protected] i386]$
Nun kannst Du maildrop wie folgt installieren:
sudo rpm -ivh maildrop-2.0.4-1.8.i386.rpm
Nachdem Du alle benötigten Pakete erstellt und installiert hast, kannst Du wieder Root werden indem Du Folgendes eingibst
exit
5 Meine Fedora 8 Pakete
Hier sind die Links für meine Fedora 8 (i386) Pakete:
- courier-authlib-0.60.2-1.fc8.i386.rpm
- courier-authlib-debuginfo-0.60.2-1.fc8.i386.rpm
- courier-authlib-devel-0.60.2-1.fc8.i386.rpm
- courier-authlib-ldap-0.60.2-1.fc8.i386.rpm
- courier-authlib-mysql-0.60.2-1.fc8.i386.rpm
- courier-authlib-pgsql-0.60.2-1.fc8.i386.rpm
- courier-authlib-pipe-0.60.2-1.fc8.i386.rpm
- courier-authlib-userdb-0.60.2-1.fc8.i386.rpm
- courier-imap-4.2.1-1.8.i386.rpm
- courier-imap-debuginfo-4.2.1-1.8.i386.rpm
- maildrop-2.0.4-1.8.i386.rpm
- maildrop-debuginfo-2.0.4-1.8.i386.rpm
- maildrop-devel-2.0.4-1.8.i386.rpm
- maildrop-man-2.0.4-1.8.i386.rpm