|
Bevor man mit der Installation beginnen kann, muss man sich
leafnode natürlich
zuerst einmal besorgen. Wenn keine aktuelle Version mit der Distributions-CD
mitgekommen ist, kann man Leafnode von http://www.leafnode.org herunterladen.
Wenn man leafnode nicht über das distributionsspezifische
Installationstool
installieren kann, muss man dies halt von Hand machen. Es empfiehlt sich dabei
die Verwendung eines RPM-Paketes.
Es ist wichtig, dass ein zur Distribution gehörendes RPM heruntergeladen wird.
Wenn RPMs gemischt werden, kann dies zu grösseren Problemen führen. Ein RPM
für Mandrake wird kaum auf SuSE laufen. Dies ist darin begründet, dass die
Pfade zu Programmen und Diensten nicht gleich sind.
|
Je nach grafischer Oberfläche für RPM erfolgt die Installation unterschiedlich.
Da dies keine Probleme bereitet, beschreibe ich hier den Weg über die Konsole.
Als erstes wechselt man mit cd in das Verzeichnis, indem das Leafnode RPM liegt.
Da rpm nur als root funktioniert, wechselt man mit Hilfe von
su den Benutzer.
Über den Befehl rpm -ihv leafnode.rpm wird das Paket
installiert. leafnode.rpm
muss natürlich vorher durch den entsprechenden Namen ersetzt werden.
Hier währe ein ausführliches Beispiel. Es wird davon ausgegangen, das sich das
RPM-Packet im Verzeichnis download liegt:
user@linux ~$
cd download
user@linux ~/download$
su
<passwort>
root@linux ~/download#
rpm -ihv leafnode.rpm
|
Wenn dies ohne Fehlermeldung funktioniert hat, ist
Leafnode
nun installiert.
Damit ist es aber noch nicht getan. Leafnode ist ein
Netzwerkdienst und muss
daher über ein Netzwerk - und sei es nur ein lokales - erreichbar sein. Da
alles, was mit Netzwerk zu tun hat, vom inetd (Internet Daemon) oder xinetd
(Weiterentwicklung von inetd) gestartet werden kann, muss leafnode noch dort
eingetragen werden.
Je nach Verwendung von inetd oder xinetd
muss für die weitere Installation
die entsprechende Anleitung verwendet werden.
Nach der entsprechenden Konfiguration kann zur Kontrolle über
telnet eine
Verbindung zu leafnode aufgebaut werden.
user@linux ~$
telnet localhost nntp
Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. 200 Leafnode NNTP Daemon, version 1.9.19 running at jgraber.ch
|
Wenn eine solche Meldung kommt, hat es geklappt. Bei Fehlermeldungen sollte
man als erstes nachsehen, ob alle genannten Dateien news gehören.
|
Wenn die Distribution inetd verwendet, müssen wir die Datei
/etc/inetd.conf
bearbeiten. In dieser Datei sollte es bereits einen auskommentierten Eintrag
für nntp geben. Diese Zeile muss gesucht und das # am Zeilenanfang entfernt
werden. Die entsprechende Zeile sollte danach so aussehen (Pfade sind
natürlich wieder anzupassen):
/etc/inetd.conf
|
nntp stream tcp nowait news /usr/sbin/tcpd /usr/local/sbin/leafnode
|
Nachdem diese Änderung gespeichert wurde, hat inetd diese
aber noch nicht übernommen. Erst mit der Eingabe von
root@linux ~#
killall -HUP inetd
|
als root wird das Konfigurationsfile neu eingelesen.
|
xinetd ist, wie wir gleich bemerken werden, komplett anders aufgebaut als inetd.
Wir wechseln ins Verzeichnis /etc/xinetd.d und finden dort je nach RPM-Paket
bereits eine Datei mit Namen leafnode. Diese Datei sollte so aussehen:
/etc/xinetd.d/leafnode
|
service nntp
{
flags = REUSE
socket_type = stream
wait = no
user = news
server = /usr/sbin/leafnode
log_on_failure += USERID
}
# End of nntp
|
Ist diese Datei nicht vorhanden, muss sie manuell erstellt werden.
Damit die Konfigurationsdatei neu eingelesen wird, muss nachher dieses
Kommando ausgeführt werden:
root@linux ~#
/etc/init.d/xinetd reload
|
|
Konfiguriert wird Leafnode über die Datei /etc/leafnode/config.
/etc/leafnode/config
|
## This is the NNTP server leafnode fetches its news from.
## You need read and post access to it. Mandatory.
server = <servername>
## Unread discussion threads will be deleted after this many days if
## you don't define special expire times. Mandatory.
expire = 20
##
## All the following parameters are optional
##
## I have free access to my news server. If you don't have, comment out
## the following two lines and change them accordingly.
#username = <benutzername>
#password = <passwort>
|
Wie wir sehen, ist das Config-File sehr gut dokumentiert. Für Leafnode sind
eigentlich nur die ersten 2 Parameter notwendig: server und expire.
Bei server muss <servername> durch den entsprechenden Server ausgetauscht
werden.
expire definiert die Aufbewahrungszeit der Newsartikel. Vorgegeben sind 20 Tage,
was aber beliebig geändert werden kann. Man sollte aber beachten, dass mehr Tage
mehr Postings bedeuten und diese wiederum mehr Platz beanspruchen.
Falls der Newsserver eine Identifizierung durchführen will, muss das # vor
username und passwort entfernt und die entsprechenden Werte eingetragen werden.
Da das Passwort im Klartext vorliegt, muss nach dem Ändern die Datei auf den
Benutzer news übertragen werden.
root@linux /etc/leafnode/#
chmod 600 config
root@linux /etc/leafnode/#
chown news config
root@linux /etc/leafnode/#
chgrp news config
root@linux /etc/leafnode/#
ll
-rw--------- 1 news news 4468 Dez 26 17:34 config
|
|
Wer mit Leafnode in der Standardkonfiguration nicht zufrieden ist, kann bei
der Feinabstimmung noch viel erreichen. Dazu öffnet man wieder die Datei
/etc/leafnode/config.
Wenn man ein wenig tiefer nachschaut als wir es oben getan haben, findet man
noch eine grosse Anzahl von Variablen. Auf die wichtigsten gehe ich hier nun
ein:
hostname = <Domain in der MID, die von leafnode angehängt
wird>
maxfetch = n
Maximal n Postings pro Group auf einmal abholen
initialfetch = n
Beim abonnieren einer Newsgroup nur n Postings abholen
maxcrosspost = n
Nur Postings abholen, die in max. n Groups gepostet werden
maxage = n
Nur Postings die nicht älter als n Tage sind abholen
maxlines = n
Nur Postings mit max. n Zeilen Länge abholen
maxbytes = n
Nur Postings bis zu einer Größe von n Bytes abholen
timeoutshort = n
Wenn versehentlich eine Group geöffnet wurde, nur n Tage diese
Gruppe abholen. Default sind 2 Tage
timeoutlong = n
wenn eine Gruppe n Tage nicht mehr gelesen wurde, werden keine
News aus dieser Gruppe mehr abgeholt
Wie oben schon erwähnt muss an diesen Variablen nichts geändert werden. Sie
dienen nur zur Feinabstimmung und die Default-Werte sind für die meisten
Benutzer in Ordnung.
|
|
fetchnews und texpire sind zwei Programme
für den Unterhalt von leafnode. Ohne
die beiden ist leafnode relativ nutzlos.
fetchnews dient, wie der Name verrät, zum Herunterladen der
News. Der erstmalige
Aufruf von fetchnews lädt die Liste der Newsgroups vom Server
herunter. Ist
dies getan, besorgt er die Newsartikel. Da diese Arbeit je nach Server und
Gruppe
länger dauern kann, bietet fetchnews die Option
-v zur Anzeige der aktuellen
Arbeit. -v steht für verbose (ausführlich) und kann durch die
Anzahl -vs
gesteigert werden.
root@linux /etc/leafnode/#
fetchnews -vvv
|
liefert eine angenehm ausführliche Liste.
texpire dient zum Löschen veralteter News. Die News werden
von leafnode solange
aufbewahrt, wie in /etc/leafnode/config unter expire eingestellt ist. Ist diese
Zeit überschritten, werden die News von leafnode intern
entsprechend markiert und
beim nächsten ausführen von texpire gelöscht.
Der Datenmenge in den Newsgroups entsprechend häufig muss
texpire ausgeführt
werden. Wenn nur wenig gepostet wird, nutzt das tägliche
texpire nicht sehr viel.
Bei einer grossen Flut von Nachrichten wird man aber mit einem wöchentlichen
texpire auch nicht glücklich. Nach einigen Versuchen wird man
aber einen für
sich passenden Rhythmus finden.
|
|
|