Unterabschnitte

Installation und Verwendung

Installation

Nach der Installation des Paketes über das Setup-Menü sollte ein neuer Eintrag News Service im Setup zu finden sein. Hier ist zuerst die Konfiguration zu bearbeiten. Anschließend Add new group auszuführen. Dabei legt man auch einen externen Newsserver an. Jetzt kann man mit Get send/news News holen (oder das Ganze automatisch erledigen lassen).

Beschreibung der Konfigurationsvariablen

SN_START
Wenn der News-Dienst zur Verfügung stehen soll, dann muß hier 'yes' eingetragen werden.
Syntax: 'yes', 'no'

SN_FQDN
Falls vom Newsreader keine Message-ID generiert wird, dann macht SN dies. Da das i.d.R. jedoch zu einer ungültigen MID führt (weil die im LAN verwendete Domain meist eine fiktive ist) kann der FQDN-Teil hier explizit angegeben werden. Auf http://www.hanau.net/faq_message-id_ueberschreiben.php gibt es eine FAQ zum Thema Message-ID.
Syntax: FQDN

SN_CLEAR_LOGS
Falls diese Option auf 'yes' gesetzt wird, dann werden die Logfiles bei jedem Bootvorgang gelöscht.
Syntax: 'yes', 'no'

SN_REQ_NEW_GROUPS
Wenn diese Option auf 'yes' steht, dann wird bei jedem Connect zu einem externen Newsserver nach neuen Gruppen auf diesem gesucht. Man sollte allerdings zuerst die Grouplist per Setup vom jeweiligen Newsserver bestellen. Gelegentlich kommt es leider zu Dupes, so daß man ab und zu die Funktion zum Sortieren der Grouplist im Setup nutzen sollte.
Syntax: 'yes', 'no'

SN_ALLOW_HOSTS_N
Mit dieser Option wird die Anzahl der zugelassenen Hosts und/oder IP-Bereiche festgelegt, die auf den Newsserver zugreifen dürfen. Es gilt ein DENY ALL, spricht, es werden nur die explizit angegebenen IP's zugelassen, alle anderen sind nicht berechtigt.
Syntax: Zahl

SN_ALLOW_HOST_#
Hier werden die Hosts angegeben, die Zugriff zum Newsserver erhalten sollen. Man kann eine einzelne IP angeben oder einen Bereich, Hostnamen sind ebenfalls erlaubt, allerdings muß dann sichergestellt sein, daß diese aufgelöst werden können. # steht dabei für eine Zahl von 1-SN_ALLOW_HOSTS_N. Bsp.: Syntax: hostname, ip/subnetmask

SN_LOG_DIR
In dem hier angegebenen Verzeichnis werden alle Logfiles gespeichert. Es muß sichergestellt sein, daß der User news Schreibrechte in diesem Verzeichnis hat, da das Logging sonst nicht funktioniert.
Syntax: absoluter Verzeichnisname

SN_FETCH_LOG
Hier wird erfaßt, von welcher Newsgroup, wie viele Artikel geladen wurden und wie lange dies gedauert hat. Auch evtl. Fehler (z.B. fehlgeschlagene Authentifizierung am externen Newsserver) werden hier gelistet.
Syntax: relativer Dateiname

SN_NNTPD_LOG
Hier wird erfaßt welcher Artikel (Message-ID) in welche Newsgroup gepostet wurde.
Syntax: relativer Dateiname

SN_DB_LOG
Logfile für die Datenbankaktivitäten.
Syntax: relativer Dateiname

SN_CONF_LOG
Ein Eintrag erfolgt, wenn eine Newsgroup gelöscht oder angelegt wird.
Syntax: relativer Dateiname

SN_ADMIN
An dieses Ziel werden Messages gesandt, die für den Administrator des lokalen Newsservers gedacht sind. Das sind meistens fehlgeschlagene Postings, die der externe Newsserver nicht angenommen hat (z.B. weil die Newsgroup dort nicht existiert, oder das Posting zu alt ist) oder Cancellation-requests für eine bestimmte Message.
Dabei gibt es drei Optionen: Syntax: relativer Dateiname, 'NG newsgroup', 'EM email-adresse'

SN_FETCH_MODE
Mit diesem Eintrag wird festgelegt, wie die News vom externen Server zu holen sind. Drei Einträge sind möglich: Syntax: 'manual', 'wait', 'auto'

SN_FETCH_TIMES
Falls SN_FETCH_MODE='auto' ist, dann legt dieser Eintrag fest, wann der Cronjob ausgeführt wird. Dabei ist die normale Cron-Syntax (man crontab) zu verwenden. Bsp.: Syntax: Cron-Syntax

SN_WAIT_PORT
Falls SN_FETCH_MODE='wait' ist, dann wird auf diesem Port auf die Nachricht 'ONLINE' gewartet.
Syntax: Zahl von 1024-65535

SN_WAIT_ALLOW
Aus Sicherheitsgründen muß hier angegeben werden, von welchem Host die Nachricht 'ONLINE geschickt werden darf. In der Regel ist das die IP des Routers.
Syntax: hostname, ip

Zusätzliche Anmerkungen zur Konfiguration

SN_FQDN
Eine Message-ID sieht so aus: local-Part@FQDN
FQDN steht für 'Full-Qualified-Domain-Name', z.B.: gmx.de oder web.de sind solche.
Es gibt immer wieder Diskussionen, ob der FQDN gültig sein muß oder nicht, da es bei der Interpretation durchaus Spielräume gibt, aber es gilt:
Wenn man einen FQDN nutzt, der einem selbst gehört (z.B. eigene Domain) dann ist man auf der sicheren Seite. Wenn man das nur für den Newsservice nutzen will, dann gibt es Adressen (z.B. http://www.myfqdn.de) wo man sich einen eigenen FQDN reservieren kann. Dieser ist allerdings nur für den Einsatz in MIDs von News oder Mails gedacht.

Die Funktionen im Servicemenü

Edit and apply config
Zur Zeit ist es noch nötig, die Konfigurationsdatei von Hand zu bearbeiten. Was die einzelnen Variablen machen ist oben beschrieben. Nach dem Abspeichern der Datei kommt die Frage: apply new config? (yes/no). Wenn man mit 'y' oder 'yes' antwortet, dann werden die neuen Einstellungen übernommen, ansonsten werden die Änderungen nicht übernommen.

Show documentation
Anzeigen der Dokumentation.

Request Newsgrouplist from external Server
Damit wird die komplette Liste aller Newsgroups, die der entsprechende externe Newsserver führt angefordert.

Search for Newsgroups in Grouplist
Falls man die Grouplist vom externen Server heruntergeladen hat, dann kann mit dieser Funktion diese Liste durchsuchen. Dabei kann nach allen regulären Ausdrücken suchen, die grep auch versteht. Bsp.: Normalerweise steht . für ein beliebiges Zeichen. Wenn man jedoch nach dem Zeichen . suchen will, dann muß man es maskieren mit \. Da \ aber auch ein Sonderzeichen ist und es bei der Übergabe durch die Shell verschluckt werden würde, muß man dieses wiederum mit \ maskieren.

Add Newsgroup
Damit kann man eine neue Gruppe abonnieren. Man kann sie entweder von einem bereits existierenden Server beziehen (dann entfallen die Angaben zum Server) oder man legt einen neuen Server an. Weiterhin können auch lokale Newsgroups angelegt werden. Lokale Gruppen legt man an, indem man 'existing Newsserver (or local NG)' wählt und dann 'local'. Die Gruppe wird mit dem Namen angelegt, den man angibt. Damit es nicht zu Problemen mit öffentlichen Gruppen kommt, sollte man immer ein local oder lokal vor den Gruppennamen setzen. Bsp.: local.foobar oder lokal.wichtig

Delete Newsgroup
Hier kann man eine bestehende Newsgroup abbestellen bzw. löschen im Falle einer lokalen Gruppe. Dabei wird die Gruppe inkl. aller gespeicherten Postings gelöscht.

Show subscribed Newsgroups
Damit kann man sich, die zur Zeit abonnierten Gruppen anzeigen lassen.

Get/Send News
Hier kann man das Abholen/Senden der News von Hand auslösen.

Change Login on external Newsserver
Falls man sich vertippt hat, oder sich der Login auf dem externen Server geändert hat, dann kann man das hier korrigieren. Das ist natürlich nur nötig, wenn der externe Server einen Login benötigt.

Sort Grouplists and kill Dupes
Wenn man per SN_REQ_NEW_GROUPS='yes' regelmäßig nach neuen Gruppen suchen läßt, dann passiert es leider, daß man doppelte Einträge in der Grouplist hat, so daß bei der Suche nach einer Gruppe evtl. einige doppelt aufgeführt werden. Mit dieser Funktion wird die Liste sortiert und von diesen Dupes befreit.

Clear up Database
Wenn der Server länger läuft (länger als 24h) dann empfiehlt es sich, mit dieser Funktion veraltete Einträge auszusortieren und den Index neu zu ordnen. Leider kommt es dabei ab und zu zu Problemen. Falls die letzten Zeilen in SN_DB_LOG in etwa so aussehen:
Wed Aug  7 17:54:26 MEST 2002
snexpire:dh_open:table has wrong size!
snprimedb:dh_open:table has wrong size!
snprimedb:Can't open database:Function not implemented?
dann wurde die Datenbank nicht richtig aufgebaut. Abhilfe schafft hier ein erneutes Ausführen der Funktion 'Clear up Database (bitte beachten, daß das Aufbauen der Datenbank eine Weile dauert, besonders bei vielen Artikeln). Die letzten Zeilen in SN_DB_LOG sollten in etwa so lauten:
snprimedb:insert:"mid-bla-blub" already exists in foo-bar:12345
snprimedb:12345 insertions
oder es ist nur eine Datumszeile vorhanden, dann wurden keine Artikel als doppelt vorhanden erkannt.