Unterabschnitte
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).
- 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.:
- '192.168.5.0/24' - alle Hosts aus dem IP-Bereich 192.168.5.0-254 haben
Zugriff
- 'localhost' - man hat von EIS/FAIR selbst Zugriff
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:
- die Angabe eines Logfiles (wie oben), dann werden alle Nachrichten mit Datum
und Uhrzeit in dieses Log geschrieben
- mit 'NG newsgroup' werden die Messages in die lokale Newsgroup
local.newsgroup gepostet (wird automatisch angelegt)
- mit 'EM email-adresse' werden die Messages an die angegebene Mailadresse
weitergeleitet (falls es sich um eine lokale Adresse handelt muß der Benutzer
existieren, Bsp.: 'EM root' - alle Nachrichten gehen an root)
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:
- manual: das Abholen und Senden der News muß von Hand per Setup veranlaßt
werden
- wait: es wird ein Eintrag in der xinetd-Konfiguration gemacht, so daß auf
eine einkommende Verbindung auf Port SN_WAIT_PORT gelauscht wird. Falls diese
Verbindung zustande kommt und die Zeichenkette 'ONLINE' empfangen wird, dann
wird das Pollen der News veranlaßt. Es wird lediglich die Verbindung von dem durch
SN_WAIT_ALLOW festgelegten Host akzeptiert. Falls fli4l als Router genutzt wird,
dann kann man dort z.B. im Skript /etc/ppp/ip-up.user folgenden Eintrag machen:
echo 'ONLINE' | netcat -w 10 <eis-server> <SN_WAIT_PORT>
(dazu muß allerdings aus dem opt_tools netcat installiert sein). Diese Option ist für
Leute gedacht, die ihren Router auf manuelle Wahl gestellt haben (wie ich z.B.).
- auto: das Pollen wird von einem Cronjob erledigt
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.:
- '*/10 * * * *' - alle 10min News holen
- '0 */2 * * *' - alle zwei Stunden (immer zur vollen Stunde) News holen
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
- 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.
- 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.:
^
de
\
\.comp.* - sucht nach allen Gruppen, die mit
'de.comp' anfangen
- ascii - sucht nach allen Gruppen, die 'ascii' enthalten
^
de.*pgp - sucht nach allen Gruppen in der de-Hierarchie, die was mit pgp zu
tun haben
-
\
\.pascal$ - sucht nach allen Gruppen, die auf '.pascal'
enden
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.