In diesem Abschnitt wird die
Software
genannt, die zur Konfiguration des Mailservers benötigt wird. Im
Vergleich zu
sendmail (siehe
Mailserver-Howto auf
www.64-bit.de)
werden für die Benutzung von
qmail
mehr Pakete benötigt. Die meisten Programme kann man mit dem
jeweiligen
Paketmanager, der
Distribution die man verwendet, installieren. Nur
qmail darf (soweit ich weiss) nicht
als binäres Paket, sondern nur als Quelltext ausgeliefert werden.
Daher ist es ggf. bei verschiedenen Distributionen nicht dabei.
Aus Gründen der Sicherheit, die bei
qmail an erster Stelle steht,
werden verschiedene Programme installiert, die für
qmail die Funktion von ggf. schon
vorhandenen ersetzen. Dies sind u.a.
ucspi-tcp
(tcpserver) als Ersatz für den
inetd und
daemontools (multilog) für den
syslogd. Wenn die Pakete
bereits installiert sind, können sie gefahrlos für andere
Programme weiterverwendet werden - nur
qmail sollte mit den unten
angegebenen eingerichtet werden.
Ich gehe bei der Installation davon aus, dass Linux-Kenntisse vorhanden
sind. Daher erkläre ich nicht alles bis ins Detail, was die Howto
fast unleserlich macht, sondern Beschreibe immer nur die wichtigsten
Punkte.
Alle Sourcen die benötigt werden findet man hier oder auf den
entsprechenden Homepages!
Anm.: bevor Sie qmail installieren müssen Sie ihren
bisherigen Mailserver stoppen und ggf. deinstallieren!
Falls die Installation nicht durch
einen Paketmanager erfolgt muss man den Quellcode von der obigen
Homepage downloaden, danach kompilieren und installieren. Eine
ausführliche Installationsanleitung findet
man ebenfalls auf der Homepage. An dieser Stelle will ich auch noch auf
gewisse Eigenarten von
D. J.
Bernstein hinweisen, der sich häufig, mit Begründungen
über die man Diskutieren kann, nicht an Standards hält und
Ihnen daher ggf. verschiedene Verzeichnisse oder Einstellungen
'komisch' vorkommen.
Laden Sie sich zuerst die Quelldateien herunter und entpacken Sie diese
(z.B. unter
/usr/local/src)
Standardmäßig erfolgt die Installation unter
/var/qmail. Dieses Verzeichnis
muss also angelegt werden:
Danach müssen noch verschiedene
Gruppen
und
User angelegt
werden, unter deren IDs die qmail-Programme laufen:
groupadd nofiles
useradd -g nofiles -d /var/qmail/alias alias
useradd -g nofiles -d /var/qmail qmaild
useradd -g nofiles -d /var/qmail qmaill
useradd -g nofiles -d /var/qmail qmailp
groupadd qmail
useradd -g qmail -d /var/qmail qmailq
useradd -g qmail -d /var/qmail qmailr
useradd -g qmail -d /var/qmail qmails
Vor dem Kompilieren von
qmail
sollte zumindest das Patch
qmail-1.03.errno.patch
eingespielt werden, da es ansonsten auf einigen Systemen zu Fehlern
kommt. Wechseln Sie dazu zuerst in das Verzeichnis in das die
Quelldaten entpackt wurden (ich gehe davon aus, dass das Patch unter
/tmp liegt!).
patch -p0 </tmp/qmail-1.03.errno.patch
# oder falls die Meldung 'can't find file to patch..' erscheint:
# patch -p1 </tmp/qmail-1.03.errno.patch
Nun kann man
qmail
kompilieren und installieren:
make setup check
./config
# falls .config wg. der Namensauflösung nicht funktioniert (meist bei dynamischen IPs!) tragen Sie den
# Namen des Rechners in die /etc/hosts ein und versuchen es wieder oder benutzen Sie
# ./config-fast RECHNERNAME.DOMAENE
In dem Verzeichnis
/var/qmail befinden
sich nach der Installation
mehrere Unterordner in denen die Konfigurationsdateien, Startscripte
usw. untergebracht sind:
- alias: hier werden
Mail-Aliase verwaltet
- bin: die qmail-Programme
und verschiedene Scripte
- boot: Startscripte
- control: die
Konfigurationsdateien
- doc: verschiedene
Dokumentationen
- man: Handbücher
(Manual-Pages)
- queue: die Warteschlange
- Mail-Queue
- users: optionale
User-Datenbank
Den Pfad zu den
qmail-Programmen
sollte man noch in die PATH-Variable (
export PATH=$PATH:/var/qmail/bin) mit
aufnehmen. Um die Handbücher benutzen zu können müssen
sie in die
vorhandenen Manual-Verzeichnisse verschoben (meist
/usr/local/share/man) oder der
qmail-Pfad muss mit aufgenommen werden (durch
export MANPATH=$MANPATH:/var/qmail/man).
2.1.2 Script rc
Dieses Script wird zum Starten von
qmail
benötigt. Es übergibt
qmail-start
eine Konfigurationsdatei mit Startparametern. (Zu finden
hier)
#!/bin/sh
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start "`cat /var/qmail/control/defaultdelivery`"
2.1.3 Script qmailctl
Zum manuellen Steuern von
qmail
gibt es noch ein weit verbreitetes Script mit dem Namen
qmailctl. Dieses habe ich als
Anhang beigefügt. Es muss evtl. noch
nach der Installation angepasst (Pfade) und in das Verzeichnis
/var/qmail/bin kopiert werden.
Anm.:
für die Installation sind die Pakete 2.2 ucspi-tcp und 2.3
daemontools unbedingt notwendig!
2.2 ucspi-tcp (UNIX Client-Server Program
Interface for TCP)
Bei diesem Paket ist ein Programm namens
tcpserver enthalten. Dieser
'lauscht' an einem bestimmten Netzwerk-Port (z.B. SMTP - 25) und ruft
bei einer Verbindung einen Daemon (
qmail-smtpd)
auf. Es bietet u.a. eine Beschränkung der Verbindungen und ist ein
Ersatz für
inetd (der
dies nicht bietet). Die Homepage lautet
http://cr.yp.to/ucspi-tcp.html.
2.2.1 Installation
Die Installation erfolgt ähnlich wie bei
qmail: Downloaden, entpacken, ins
Quellcodeverzeichnis wechseln und dann mit den folgenden Befehlen
ein Patch einspielen und kompilieren und installieren:
patch -p0 </tmp/ucspi-tcp-0.88.errno.patch # oder -p1
make
make setup check
2.3 daemontools
Das Paket
daemontools wird
aus zwei Gründen verwendet: zunächste beinhaltet es das Tool
multilog, das ein Ersatz für
den
syslogd unter qmail ist.
Weiterhin ist es ein Programm mit dem mehrere Dienste (
Daemonen) gesteuert werden
können. Die
daemontools
finden Sie unter
http://cr.yp.to/daemontools.html.
Wenn man eine Distributionsbasierte Installation durchführt sollte
man überprüfen, dass
svscanboot
korrekt gestartet wird.
2.3.1 Installation
Die Installation der
daemontools
läuft ein wenig anders ab als die vorherigen. Es muss ein
Verzeichnis
/package
angelegt werden, in das die Quellen entpackt werden. Nach dem Entpacken
muss man in dieses Verzeichnis wechseln, wieder einen Patch einspielen
und kann dann die Installation starten.
mkdir -p /package
chmod 1755 /package
cd /package/
# entpacken
gunzip /.../daemontools-0.76.tar
tar -xpf /.../daemontools-0.76.tar
rm /.../daemontools-0.76.tar
# und dann ins Verzeichnis wechseln
cd admin/daemontools-0.76
# Patch einspielen
patch -p1 </tmp/daemontools-0.76.errno.patch
# Installation starten
package/install
Nach
der Installation können die Programme unter
/package/admin/daemontools-0.76/command
nach
/usr/local/bin
kopiert
werden. In diesem Verzeichnis befinden sich u.a. folgende Programme:
- supervise: überwacht
gestartete Dämonen und startet dieser ggf. wieder
- svc: zum Starten oder
Stoppen von Dämonen
- multilog:
verwaltet die Log-Ausgaben der Dämonen und kümmert sich um
die Größe der Logdateien
- setuidgid: hiermit
können die Dämonen unter einer anderen User-ID gestartet
werden (statt root)
Anm.:
bei der Installation werden unter /usr/local/bin Links erstellt,
die auf Dateien unter /command verweisen und diese widerrum verweisen
auf Dateien unter /package.
Diese, inkl. dem Verzeichnis /command, sollten gelöscht und durch die Originaldateien ersetzt
werden. Ansonsten muss das /package-Verzeichnis immer vorhanden sein.
Die Scripte gehen in meiner Howto alle von /usr/local/bin aus.
Dann muss noch in der Datei
/etc/inittab
der Eintrag
(Pfadangabe) für
svscanboot
angepasst werden. Außerdem existiert noch das Verzeichnis
/service.
2.4 fetchmail
Zum Empfangen von E-Mails gibt es nur wenige Programme, die diese
Aufgabe auf einfache Art erledigen, ohne Wünsche offenzulassen.
Eines davon ist
fetchmail.
Die Homepage von fetchmail lautet:
http://catb.org/~esr/fetchmail/.
Info: es sollte eine Version höher als 6.2.4 benutzt werden.
Ansonsten kann es zu Fehlern beim Abrufen wg. fehlerhaftem Mailheader -
häufig SPAM-Mails - kommen.
2.4.1 Installation
Die Installation von
fetchmail
kann als Paket mit dem entsprechenden Manager der Distribution (
emerge Yast usw.) erfolgen. Es ist
(sehr wahrscheinlich) bei jeder vorhanden. Wer dennoch die Sourcen
benutzen will, sollte diese wie die vorherigen Pakete entpacken und
dann:
configure
make
make install
2.5 Sonstiges
Dies sind noch Pakete die je nach Konfiguration (u.a.
Serialmail bei Einwahl-Rechnern!)
auch benötigt werden.
checkpassword-0.90-r2
http://cr.yp.to/checkpwd.html;
Wird von
qmail-pop3d benötigt
um die Kennwörter der Benutzer zu überprüfen;
Installation: Entpacken, Patch einspielen,
make,
make setup check
serialmail http://cr.yp.to/serialmail.html;
wird benötigt um bei einem Einwahl-Mailserver die Mails zu
bestimmten Zeiten zu versenden; Installation: Entpacken, Patch
einspielen,
make,
make setup check
dot-forward-0.71-r2 http://cr.yp.to/dot-forward.html
cmd5checkpw-0.30
supervise-scripts
relay-ctrl