Linux-Arbeitskreis Hamburg

Newsserver INN

Grundlagen

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.

 

Server-Konfiguration

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.
/sbin/init.d/inn Das Start-/Stop Script für den INN
/var/lib/news/inn.conf Hauptkonfigurationsdatei des INN
/var/lib/news/hosts.nntp Liste der Hosts, die uns mit Nachrichten versorgen.
/var/lib/news/nnrp.access Zugriffskontrolle für Newsgruppen auf der lokalen Ebene.
/var/lib/news/newsfeeds Hier wird festgelegt, welche Nachrichten wohin verschickt werden.
/var/lib/expire.ctl Hier wird eingestellt, wann welche Nachrichten abgelaufen sind.
/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.
/var/lib/news/nntpsend.ctl Lister der Systeme, die mit News versorgt werden, bei uns sind alle Zeilen auskommentiert.
   

Welche Newgruppen können wir beziehen?

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.

Aktivieren eines installierten INN, falls dieser noch nicht gestartet wird

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:
/sbin/init.d/inn start
Mit „tail /var/log/news“ 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

crontab

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

Anlegen lokaler Newsgruppen

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

News beziehen


Kritik, Anregungen und Ergänzungen willkommen. Zusammengestellt von Uwe Debacher, letzte Änderung am 27.01.2006