[ lamepage · Linux · News · sp4si ]

** sp4si Script package for Suck & INN **

0.99 2000-12-16


[ CHANGES | ENGLISH ]

Einführung:

sp4si darf weiterverbreitet werden und unterliegt der GNU General Public License der Version 2.
Ich übernehme keine Garantie für hier beschriebene Verfahrensweise und hafte für keinerlei Schäden die eventuel durch dieses Dokument oder sp4si entstehen könnten. Verwendung auf eigene Gefahr. Ich hoffe natürlich daß sowohl die Intallation als auch der Betrieb ohne Probleme abläuft :-).
 (c) 1998-2000 Peter Sobisch, Alle Rechte vorberhalten.

Da meistens anfangs sehr viele elementare Fragen offenstehen ud keiner so richtig Lust hat lange Anleitungen zu lesen, habe ich mich dazu entschlossen diese Anleitung in der Form von kurzen Fragen und Antworten zu gestalten. Dieser Text ist als WWW-Seite und als Reguläre Anleitung zum sp4si (im sp4si-Paket enthalten) geschrieben.

Inhalt

  1. Was ist sp4si ?
  2. Was kann sp4si und was nicht ?
  3. Warum und wann brauche ich sp4si ?
  4. Was brauche ich um sp4si einsetzen zu können ?
  5. Wie funktioniert sp4si ?
  6. Syntax und Funktionen
    1. Konfiguration: env, newshosts und andere
    2. active - Scripts: get.active und rebuild.active
    3. Spool - Scripts: nntp.up, nntp.down, uucp.batchund uucp.cico
    4. Bestell - Scripts: subscribe und wwwsubscribe
    5. Installationsscript: install.sh
  7. Installation
  8. Konfiguration: erste Schritte
  9. Tips
    1. lokale Newsgroups hinzufügen
    2. den sp4si-Betrieb automatisieren
    3. erweiterte Konfiguration: env
    4. sp4si und CNFS
  10. Bezugsquelle

1. Was ist sp4si ?

Das sp4si ist ein Scriptpaket, daß das Management von INN und das Zusammenspiel mit SUCK sehr erleichtert und den Konfigurationsaufwand bei der steigenden Anzahl der zu spoolender Newshosts sehr niedrig hält. Es ist aus Not enstanden und richtet sich hauptsächlich an die jenigen die über eine Wählverbindung ins Internet gelangen und die News offline auf ihrem kleinen lokalen INN lesen möchten und an die, die ihr lokales News-System erweitern möchten.

Anfangs war es ursprünglich nur ein Script zur automatischen lokalen Newsgroups-Bestellung und hat sich mit laufe der Zeit zu einem (fast) automatischen multihost- und multitaskingfähigen Spool-Tool für auf INN und suck basierende Newssysteme entwickelt.

[Zurück]

2. Was kann sp4si und was nicht ?

[Zurück]

3. Warum und wann braucht man sp4si ?

für das alles wäre man mit Sicherheit mit sp4si sehr gut beraten.

[Zurück]

4. Was braucht man um sp4si einsetzen zu können ?

Es werden folgende Pakete benötigt: Es wird vorrausgesetzt daß INN bereits fertig installiert und konfiguriert ist, das bezieht sich insbesondere um lokale Einstellungen. Wie dies am einfachsten zu bewerkstelligen ist beschreibt Carsten Voss in seiner Anleitung "Einrichtung eines News-Systems unter Linux". Ferner wird vorrausgesetzt daß die Befehle aus dem Suck-Paket sich im aktuellen Kommando-Suchpfad befinden, am besten ist es, wenn man sie ins /usr/bin oder /usr/local/bin Verzeichnis kopiert.

[Zurück]

5. Wie funktionert sp4si ?

sp4si basiert auf mehreren Scripts und zwei Konfigurationsfiles: newshosts und env. Die newshosts Datei beinhaltet die Namen der Hosts und der Sites die gespoolt werden sollen und die env Datei enthält die Environment-Variablen die zu fast allen sp4si-Scripts zur Laufzeit hinzugefügt werden.

sp4si setzt sich eigentlich aus drei verschiedenen Gruppen von Scripts zusammen: ein Teil dient zur Verwaltung der active Datei, ein weiterer bietet die automatische Verwaltung der bestellten Newsgroups und der dritter Teil kümmert sich um den News-Spool selbst.

Fast alle Scripts lesen die newshosts Tabelle ein und führen Aktionen an allen gültigen Einträgen durch. Das hat den Vorteil, daß falls man ein neuen Newsserver hinzufügen möchte, muß er nur in der newshosts und in der newsfeeds (INN) Dateien eingetragen werden.
sp4si erleichtert den Umgang mit mehreren Newsservern und dank der zentralen Umgebung lässt sich sehr leicht und effektiv steuern und einsetzen.
Falls man das Spool-Frontend spool.news benutzt (was sehr empfohlen wird), werden alle Spoolaktivitäten automatisch gelogt und auf Wunsch auch Berichte per E-Mail zugeschickt oder in eine Newsgroup zugestellt.

[Zurück]

6. Syntax und Funktionen

6.1. Konfigurationsdateien

Alle Scripts, die die Newshosts einzeln behandeln orientieren sich an der newshosts Tabelle. Zu allen Scripts wird zur Laufzeit der Inhalt der env Datei hinzugefügt. Bei fast jedem Script wird bei der Angabe von -h oder --help oder -? die Syntaxinformation angezeigt.

[Zurück]

6.2. active - Scripts

[Zurück]

6.3. Spool - Scripts

[Zurück]

6.4. Bestell - Scripts

[Zurück]

6.6. Installation

[Zurück]

7. Installation

ACHTUNG: UUCP und HTTPD Konfigurationsanleitung gehört nicht zum Umfang von sp4si und muss aus anderen Quellen bezogen werden (zB: HowTo). Das sp4si Archiv besteht aus folgenden Scripts: Das Archiv wird zunächst mit tar xvfz sp4si-0.99.tar.gz entpackt. Dann wechselt man mit cd sp4si in das neuangelegte Verzeichnis und starten install.sh. Es werden hierzu keine Kommandozeilenparameter erwartet. Um die Pfade der INN Installation zu ermitteln, wird die Datei innshellvars eingelesen. Es wird jetzt nur noch der Installationszielpfad manuell vom User abgefragt. Falls die innshellvars Datei nicht gefunden werden konnte, werden alle benötigten Pfade manuell abgefragt.
CGI Installation:
bei der Installation wird nach dem Usernamen des HTTPD-Accounts gefragt. Dieser mag auch einem auch ein wenig fremd erscheinen, lässt sich aber relativ leicht herausfinden. Zuerst muss der HTTP-Daemon gestartet werden (wenn noch nicht geschehen), dann schaut man in der Prozessliste und lässt sich diesen Anzeigen. In der ersten Spalte steht dann der Accountname (hier wwwrun):
ps@comm:~ > ps -fC httpd
UID        PID  PPID  C STIME TTY          TIME CMD
root     10389     1  0 Dec08 ?        00:00:04 /usr/sbin/httpd -f /etc/httpd/httpd.conf -D PERL -D PHP
wwwrun   10392 10389  0 Dec08 ?        00:00:07 /usr/sbin/httpd -f /etc/httpd/httpd.conf -D PERL -D PHP
wwwrun   11064 10389  0 Dec08 ?        00:00:07 /usr/sbin/httpd -f /etc/httpd/httpd.conf -D PERL -D PHP
ps@comm:~ >
Nach der Installation muss der wwwsubscribe Script manuell in das CGI Verzeichnis reinkopiert werden, dann müssen die Zugriffsrechte für alle auf lesen+ausführen (rx) stehen, das erreicht man durch ein: chmod 755 wwwsubscribe.

[Zurück]

8. Konfiguration: erste Schritte

8.1. Schritt 1: newshosts konfigurieren


Nachdem die Installation erfolgreich abgeschlossen wurde, können die Newsserver in die newshosts Tabelle (zu finden im Zielverzeichnis) aufgenommen werden, zB.:

newshosts (Beispiel):

# example for NNTP sites
3dfx:news.3dfx.com
stardiv:news.stardiv.de:nntp/nntp
# example for UUCP sites
uucpsite:uucpsite.domain.com:uucp/uucp::::gzip:gup@uucpsite.domain.com:secret16
uucp2:uucp2.domain.com:uucp::::cat:gupaccount@uucp2.domain.com:der63lfd
# example
remsite:news.domain.com:2000:mylogin:mypass:nntp/uucp:cat:gup@news.domain.com:secrt.32
[Zurück]

8.2. Schritt 2: active Dateien downloaden

Nachdem die Datei nun gespeichert wurde, kann jetzt der zweite Schritt gemacht werden, die active Dateien müssen vom News-Server runtergeladen werden. Mit dem Start des folgenden Script werden die jeweiligen active-Dateien der o.g. News-Server runtergeladen und in den jeweiligen site/<site> Unterverzeichnis gespeichert:
get.active
[Zurück]

8.3. Schritt 3: newsfeeds konfigurieren

Nachdem alle active Dateien nun erfolgreich runtergeladen und gespeichert wurden, kann man zu dem einzigen umständlichen Schritt bei der Konfiguration übergehen: die Newsfeedseinträge. Es müssen die active Dateien (die neu runtergeladene) in den site/<site> Unterverzeichnissen angeschaut werden und entschieden werden welche Newsgroups in unseres INN System von welchen News-Servern übernommen und gespoolt werden sollen. Hierzu müssen die entsprechenden Einträge in der newsfeeds Datei erstellt werden. Jede Newsgroup sollte nur von einem Server gespoolt werden, dadurch wird Querpropagation der Artikel vermieden. Dabei möchte ich auf die Manpage von newsfeeds verweisen, die den Syntax des newsfeeds Files beschreibt, trotzdem zur besseren Verständnis biete ich in der Anleitung "Erweiterung von INN & suck auf mehrere ! Newsserver"  ein paar Beispiele an.

[Zurück]

8.4. Schritt 4: neue active erzeugen

Nachdem die Newsfeeds eingetragen wurden, kann nun die globale active-Datei generiert werden:
rebuild.active
hier wird die neue active Datei mit Berücksichtigung von localhost.active Datei erzeugt und damit die alte active Datei ersetzt. Dafür wird INN gestoppt, seine Konfigurationsdateien neugeladen und ausgewertet (die newsfeeds Änderungen werden aktiv) und anschliessend neugestartet.

Fertig !

Somit hat man ein fertig konfiguriertes News-System mit mehreren Newshosts.
Das ganze in einer Kurzfassung:
  1. <site> <newshost> und evtl. <up/down> <packer> <gupmail> <password> in newshosts eintragen
  2. online gehen und mit get.active die active Datei(en) laden (danach kann weiter offline gearbeitet weren)
  3. die Newsfeeds in der newsfeeds Datei mit den gewünschten Newsgroups eintragen
  4. rebuild.active
[Zurück]

9. Tips

sp4si wurde dafür entwickelt um das meiste an Newsadministration einsparen zu können, hier werden paar nützliche Tips vorgestellt die für noch mehr Arbeit einsparen können.

9.1. Lokale Newsgroups hinzufügen

Um eine neue Newsgroup zB: my.newsgroup hinzuzufügen muss diese in die localhost.active Datei eingetragen werden:

localhost.active (Beispiel):

localhost.test 0000000000 0000000001 y
localhost.spool 0000000000 0000000001 y
my.newsgroup 0000000000 0000000001 y
danach muss nur rebuild.active neugestartet werden:
rebuild.active
danach stehen uns 3 lokale Newsgroups zu Verfügung !

[Zurück]

9.2. den sp4si-Betrieb automatisieren

Sp4si kann mittels CRON vollautomatisch laufen und den eignen Newsserver mit frischen Artikeln aus dem USENET versorgen. Dabei bedarf es keinerlei Pflege. Es müssen lediglich einige Zeilen in die /etc/crontab eingefügt werden:
ACTIVE="su -l news -c /etc/news/sp4si/get.active"
REBUILD="su -l news -c /etc/news/sp4si/rebuild.active"
SUBSCRIBE="/etc/news/sp4si/subscribe"
SPOOL="su -l news -c /etc/news/sp4si/spool.news"
ONLINE=/etc/ppp/ppp-on      # how to get online
OFFLINE=/etc/ppp/ppp-off    # how to get offline
0 6,16,21 * * * root $ONLINE; $SUBSCRIBE; $SPOOL; $OFFLINE
0 0 1 * * root $ONLINE; $ACTIVE; $OFFLINE; $REBUILD
Wie dieses Beispiel zeigt, werden 3 mal täglich News geholt, davor allerdings werden noch alle Bestellungen berücksichtigt. Ferner wird immer am ersten Tag eines Monats neuen active Dateien runtergeladen und eine lokale active Datei erstellt, wodurch man immer up-to-date bleibt.
Um weitere Informationen über die Syntax der CRON Tabelle zu bekommen gibt es auch eine Man Page: man 5 crontab.

[Zurück]

9.3. Erweiterte Konfiguration: env

Wie schon oben erwähnt, wird sp4si über die env Datei konfiguriert. Bei dieser Datei handelt sich um ein Script, der von jedem anderen Script als erstes ausgeführt wird um die gesetzte Variablen wirksam zu machen. Der Aufbau disere Datei soll hier erläutert werden.
Die env Datei besteht aus 2 Bereichen: [Zurück]

9.4. sp4si und CNFS

sp4si wurde auf Anfrage provisorisch an das CNFS angepasst. Die zu versendetete Artikel werden dabei einer nach dem anderen verschickt, was gerade nicht die höchste Performance bietet. Es bedarf noch weiterer Verbesserungen in dieser Hinsicht. Geplant ist ein Batchfile zu generieren und das Batch dann mit der neuen Version von rpost zu verschicken (>4.2.3 kann auch Batches verschicken). Wie der INN auf CNFS umgestellt werden kann steht unter zB: Umstellung der INN Konfiguration uuf CNFS.

[Zurück]

10. Bezugsquelle:

folgende Links können zum Download benutzt werden:

http://www.lamepage.de/linux/news/sp4si-0.99.tar.gz
ftp://sunsite.unc.edu/pub/linux/system/news/misc/sp4si-0.99.tar.gz

Jegliche Bugreports, konstruktive Kritik und Verbesserungsvorschläge sind gerne willkommen. Bitte Mail an Peter Sobisch <petersob@gmx.net>.
Hiermit möchte ich mich bei Carsten Voß bedanken, dessen Anleitung mir geholfen hat mein erstes INN Newssystem einzurichten.