Wie man courier-imap, courier-authlib, Und maildrop Auf Fedora, RedHat, CentOS installiert

Version 1.0
Author: Falko Timme


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:

[falko@server1 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
[falko@server1 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:

[falko@server1 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
[falko@server1 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:

[falko@server1 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
[falko@server1 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:

0 Kommentar(e)

Zum Posten von Kommentaren bitte