Linux-Arbeitskreis Hamburg |
INN ist eines der von S.u.S.E. mitgelieferten Programmpakete zum Aufbau eines Newsservers. Eine Alternative wäre CNEWS. Man kann nicht beide Programmpakete installieren, sondern muß sich unserer Entscheidung für INN anschließen, wenn man die folgende Beschreibung nutzen will.
Da wir unser Mail per UUCP beziehen, sollen auch die News hierüber gesendet werden. Dazu ist bei WinShuttle ein Programm namen GUP installiert. Die Kommunikation mit diesem Programm ist am Ende der Seite Beschrieben.
Das INN-Paket besteht aus folgenden Dateien:
/usr/lib/news/bin/innd | Dies ist die Binärdatei, die den eigentlichen News-Server bildet. Diese Datei sollte beim Booten des Rechners gestartet werden. |
/usr/lib/news/bin/ctlinnd | Programm zur Kontrolle bzw. Steuerung des inn. Wird u.a. zum Anlegen neuer Newsgruppen benötigt. |
/etc/init.d/inn | Das Start-/Stop Script für den INN |
/etc/news/inn.conf | Hauptkonfigurationsdatei des INN |
/etc/news/nnrp.access | Zugriffskontrolle für Newsgruppen auf der lokalen Ebene. |
/etc/news/newsfeeds | Hier wird festgelegt, welche Nachrichten wohin verschickt werden. |
/etc/news/expire.ctl | Hier wird eingestellt, wann welche Nachrichten abgelaufen sind. |
/etc/news/nntpsend.ctl | Lister der Systeme, die mit News versorgt werden, bei uns sind alle Zeilen auskommentiert. |
/usr/libs/news/bin/news.daily | Dieses Shell-Programm wird normalerweise von der Crontab aus gestartet. Es erledigt administrative Aufgaben, wie das Löschen abgelauferner Nachrichten und das Pflegen der Log-Files. |
/var/lib/news/newsgroups (Auszug) | Liste der Newsgruppen mit Kommentaren. |
/var/lib/news/active (Auszug) | Liste der Newsgruppen mit Download-Stand. |
Das Script news.pl erledigt die serverseitige Konfiguration automatisch. Zum Laden und Ausführen sind folgende Schritte sinnvoll:
damit wechselt man in das Verzeichnis /tmp, lädt das Script mit den Programm wget von seiner Homepage, macht es ausführbar und führt es dann aus. Das Script wertet den Rechnernamen und die IP-Adresse aus, um die richtigen Einstellungen vornehmen zu können.
Die Liste der Newsgruppen, zum Teil mit Erläuterungen befindet sich in der Datei /var/lib/news/newsgroups. In der Datei /var/lib/news/active findet sich ebenfalls eine Lister der Newsgruppen, aber zusammen mit dem Download-Stand. Hiermit läßt sich feststellen, welche Nachrichten schon geladen wurden und welche nicht.
Falls noch nicht vorhanden, oder nach einem längeren Zeitraum, kann man diese Listen folgendermaßen vom Provider beziehen:
Wir befinden uns als User root im Verzeichnis /root. Zunächst müssen
zwei Dateien von unserem Newsfeed, also dem Newsserver von Winshuttle besorgt
werden. Mit winshuttle start die ISDN- Verbindung aufbauen.
Anschließend folgende Befehle eingeben:
/usr/lib/news/bin/getlist -h news.hh.shuttle.de active > active.old
/usr/lib/news/bin/getlist -h news.hh.shuttle.de newsgroups > newsgroups
Es dauert einige Zeit bis dies geschehen ist. Beide Dateien zusammen haben
eine Größe von ca. 1 MB. Anschließend kann mit winshuttle
stop die ISDN- Verbindung abgebaut werden.
Nun folgenden Befehl eingeben:
sed -e 's/ [0-9]* [0-9]* / 0000000000 0000000001 /' active.old >
active
Die einzelnen Zeilen der Datei active sollten nun folgendes Format haben:
<Newsgruppe> 0000000000 0000000001 y
Mit den Befehelen cat active >> /var/lib/news/active,
cat newsgroups >> /var/lib/news/newsgroups die Dateien
an ihren Bestimmungsort bringen.
Als user news einloggen: su - news
makehistory -o
eingeben. Mit logout wieder als User root arbeiten:
yast - Administartion des System - Konfigurationsdatei verändern:
Den Wert der Variablen START_INN auf yes setzen.
Nun den Newsserver starten:
/etc/init.d/inn start
Mit tail /var/log/news/news.notice die Logdatei des Systems
überprüfen. Es muß in einer Zeile erscheinen:
SERVER starting
Nun noch einmal als User news einloggen und news.daily eingeben.
Nach der Beendigung des Programms wieder als User root arbeiten. Dieser hat
jetzt Mail bekrommen. Der Daily Usenet report muß
eine Zeile enthalten:
Server running
Hier die Crontab für den Benutzer NEWS. Normalerweise sind keine Änderungen notwendig.
SHELL=/bin/sh
PATH=/bin:/usr/bin:/usr/local/bin:/usr/lib/news/bin
MAILTO=news
# news crontab
#
# min hour day month dayofweek (1=Mo,7=Su) command
10 * * * * /usr/bin/rnews -U
15 17 * * * /usr/lib/news/bin/news.daily
#
# enable the following line for directly connected sites
# replace 'server.com' with your connected nntp machine
#
#15 * * * * /var/lib/news/send-nntp server.com >/dev/null
2>/dev/null
#
# uncomment the following line for a uucp-connected site
# replace 'server.com' with your connected uucp machine
#
0,30 * * * * /usr/lib/news/bin/sendbatch -c shuttle >/dev/null
Lokale Newsgruppen können vom User news wie folgt angelegt werden:
ctlinnd newgroup <Neue Newsgruppe> y
Beispiel:
/usr/lib/news/bin/ctlinnd newgroup local.schueler y