Inhalt

7. Mail und News konfigurieren

Die lokalen Mail- und Newsserver müssen noch konfiguriert werden, damit Sie die Möglichkeiten von UUCP ausnutzen. Damit News und Mail per UUCP angeliefert werden können, ist normalerweise keine Konfiguration notwendig. Die Konfiguration beschreibt also, wie Sie Sendmail und INN/cnews dazu bringen, UUCP zu nutzen.

7.1 Sendmail

Wenn Sie einen sendmail-Mailserver installiert haben, ist dieser Abschnitt für Sie interessant. Wenn Sie sendmail benutzen, sollten Sie bei

telnet localhost 25
den folgenden Text erhalten:

Trying 195.244.243.209...
Connected to Perikles.toppoint.de.
Escape character is '^]'.
220 Perikles.toppoint.de ESMTP Sendmail 8.8.8/8.8.8; Fri, 26 Jun 1998 17:26:14 +0200

SuSE-Config

Wenn Sie eine SuSE-Distribution benutzen, können Sie einfach per YaST Ihren Mailserver für den UUCP-Betrieb konfigurieren.

Starten Sie dazu als root yast. Gehen Sie in das Menü Administrieren des Systems, Netzwerk konfigurieren, Sendmail konfigurieren. Nun wählen Sie Benutze UUCP zur Mail-Übertragung. Tragen Sie den Namen des Systems Ihres Providers ein.

/etc/sendmail.cf

Wenn Sie keine grafische Oberfläche haben oder Sendmail von Hand installiert haben, müssen Sie die Konfigurationsdateien selbst anpassen.

Die folgenden Variablen sollten Sie in Ihrer /etc/sendmail.cf-Datei anpassen:

# "Smart" relay host
# hier muß der Rechnernamen auf der Seite Ihres 
# Providers eintragen werden (hier: tpki)
DSuucp-dom:tpki

Überprüfen, ob die Mails richtig verschickt werden

Wenn Sie sendmail konfiguriert und neu gestartet haben, sollten Sie testweise eine EMail verschicken, um zu verfolgen, ob alles richtig konfiguriert ist.

mailq

Das Programm mailq zeigt an, welche EMails vom sendmail noch bearbeitet werden müssen. Wenn Sie eine EMail geschrieben haben und Ihre EMail hier nicht finden können, dann ist das kein Grund zur Sorge, da Ihr Mailserver die EMail wahrscheinlich schon bearbeitet hat.

/var/log/mail

Die Datei /var/log/mail enthält Informationen zu den bearbeiteten EMails. Um diese Datei anzuschauen, müssen Sie root sein. Sie können mit

tail -f /var/log/mail
verfolgen, was sich an der Datei ändert.

/var/spool/uucp/Log

Diese Logdatei von UUCP verzeichnet alle ein- und ausgehenden EMails. Die genaue Beschreibung finden Sie im Abschnitt Wo finde ich die Fehlermeldungen.

7.2 Welcher Newsserver ist am besten geeignet?

Es gibt verschiedene Newsserver, die unterschiedliche Eigenschaften haben ;-).

INN - InterNetNews

+ INN ist weit verbreitet, da der Server sowohl UUCP- als auch NNTP-Links ermöglicht.
+ INN ist relativ schnell.
+ Das Suchen nach Schlüsselwörtern in den News ist möglich.
- aufwendig zu konfigurieren
- verbraucht relativ viele Ressourcen

cnews

+ Leichte Konfiguration
- nur für UUCP gedacht
- keine Suche nach Artikeln möglich

Suchen Sie sich nun den Server aus, der für Sie besser geeignet ist.

7.3 INN - InterNetNews

INN ist ein sehr beliebter News-Server für Unix-Systeme. INN ist die Abkürzung für InterNetNews. Falls Sie eine SuSE-Distribution benutzen, finden Sie die Binaries in der Serie »n«. Aktuell ist die Version 2.2.1. Da viele Distributionen noch ältere Versionen wie z.B. 1.72 benutzen, gibt es hier eine Beschreibung für die Konfiguration eines INN 1.72 und eines neueren INN (Version 2.2).

INN 1.72

Die Konfigurationsdateien befinden sich meist in /var/lib/news/ oder /etc/news. /usr/local/news ist allerdings auch denkbar, so daß Sie vielleicht etwas suchen müssen.

send-uucp.cf - Batchparameter

Mit dieser Datei wird geklärt, wie und wann die News, die Sie verschicken, gepackt werden. Das System (tpki) ist der Rechnername Ihres Provider.

# Das Format sieht so aus:
# sitename<Space>compressor<Space>maxsize<Space>batchtime
tpki compress 1048576 1-24

newsfeeds - Wer bekommt was?

In der newsfeeds-Datei wird definiert, welcher Server welche Gruppen oder Artikel von Ihrem Server bekommt. Außerdem wird hier definiert, welche Artikel Ihr Server annimmt. Hier ist meine newsfeeds-Datei:

# ich akzeptiere alles (siehe FAQ-Abschnitt)
ME:*::
#
# interne Verwaltung des Newsservers (default)
OVERVIEW!:*,!junk,!control*:Tc,WO\
    :/usr/lib/news/bin/overchan
#
# mein Newsfeed zu tpki (mein Provider ;-))
tpki/tpki.toppoint.de,news.toppoint.de\
   :*,!junk,!control,!*local*:Tf,Wnb,B4096/1024

Die einzige Zeile, die Sie anpassen müssen, ist die letzte Zeile. Die genaue Syntax finden Sie als Kommentar in der newsfeeds-Datei.

Das Format sieht so aus:

# systemname/keine_artikel_von_diesem_server\
#   :zu_verschickende_Artikel:Feed_Typ:Parameter
tpki/news.toppoint.de:*,!junk,!control,!*local*\
   :Tf,Wnb,B4096/1024
#
# ersetzen Sie <system> und <news.provider.de> und Sie
# haben einen Standardfeed :-)
# system/news.provider.de:*,!junk,!control\
#    :Tf,Wnb,B4096/1024

Erklärung:

Ich schicke zu tpki meine Artikel aus allen Gruppen außer junk, control und local.*. Außerdem schicke ich nicht die Artikel, die von news.toppoint.de kommen.

INN neu starten

Nun ist es an der Zeit, daß der News-Server neu gestartet wird, damit die Änderungen wirksam werden. Überprüfen Sie zuerst, ob der Server läuft:

$ ps auxwww | grep inn
hscholz   3795  0.0  0.7   888   336  p1 S    13:43   0:00 grep inn 
news       426  0.0  3.4  2132  1620  ?  S    08:32   0:13 /usr/lib/news/bin/innd -p4 -i0 

Der Server läuft in diesem Fall. Der INN-Prozess wird mit dem folgenden Befehl gestoppt:

$ ctlinnd shutdown weg damit

Das Programm ctlinnd kann auch einzelne Konfigurationsdateien neu laden, aber dafür muß man mehr tippen :-).

Der Server wird über den Befehl rc.news neu gestartet. rc.news befindet sich bei mir im Verzeichnis /usr/lib/news/. /usr/local/news ist ein anderer möglicher Aufenthaltsort. Falls Sie die Datei nicht finden, können Sie mit dem folgenden Befehl die Datei suchen:

$ locate rc.news
/usr/lib/news/bin/rc.news

In der Datei /var/log/messages und/oder der Datei /var/log/news sollten nun einige Nachrichten erscheinen, daß der Server gestartet wurde:

Oct 21 14:33:45 perikles innd: SERVER descriptors 256
Oct 21 14:33:45 perikles innd: SERVER outgoing 243
Oct 21 14:33:45 perikles innd: SERVER ccsetup control:12
Oct 21 14:33:45 perikles innd: SERVER lcsetup localconn:14
Oct 21 14:33:45 perikles innd: SERVER rcsetup remconn:4
Oct 21 14:33:45 perikles innd: think it's a dotquad: 193.174.3.209
Oct 21 14:33:45 perikles innd: think it's a dotquad: 193.174.3.210
Oct 21 14:33:45 perikles innd: think it's a dotquad: 193.174.3.211
Oct 21 14:33:45 perikles innd: think it's a dotquad: 193.174.3.212
Oct 21 14:33:45 perikles innd: think it's a dotquad: 193.174.3.213
Oct 21 14:33:45 perikles innd: think it's a dotquad: 193.174.3.214
Oct 21 14:33:45 perikles innd: think it's a dotquad: 193.174.3.215
Oct 21 14:33:45 perikles innd: think it's a dotquad: 192.168.1.11
Oct 21 14:33:45 perikles innd: dionysus.toppoint.de opened dionysus.toppoint.de:16:file
Oct 21 14:33:45 perikles innd: OVERVIEW! spawned OVERVIEW!:18:proc:4402
Oct 21 14:33:45 perikles innd: tpki opened tpki:17:file
Oct 21 14:33:45 perikles innd: SERVER starting

News zusammenpacken

Der Newsserver muß jetzt noch so konfiguriert werden, daß er automatisch vor jedem Pollen die Newsbatches zusammenpackt, damit diese hochgeladen werden können.

Das Packen für UUCP erledigt das Programm /usr/lib/news/bin/send-uucp.pl. Wenn Sie eine Artikel geschrieben haben und dann

/usr/lib/news/bin/send-uucp.pl systemname
ausführen, wobei Sie systemname durch den Systemnamen Ihres Providers ersetzen, sollte eine zusätzliche Zeile in der /var/spool/uucp/Log erscheinen:

uux tpki news (1998-06-25 13:00:06.83 535) Queuing rnews (D.00KI)

INN 2.2

Da selbst SuSE eingesehen hat, daß es Standard-Verzeichnisse für die Konfigurationsdateien gibt, werden Sie das Home des Users news und die Konfigurationsdateien des INN wahrscheinlich in /etc/news oder (bei selbstcompilierten Versionen) in /usr/local/news finden.

Aktuellen INN selbst compilieren

Die Website des INN finden Sie hier:

http://www.isc.org/inn.html
Die Sourcen selbst können Sie von der Index-Seite aus herunterladen oder direkt per FTP von hier holen:
ftp.isc.org:/inn/

Entpacken Sie nun die Sourcen in einem temporären Verzeichnis:

$ tar xfvz inn-2.2.1.tar.gz

Wechseln Sie in das Verzeichnis und lesen Sie die Dokumentation in den Dateien README und INSTALL. Führen Sie nun das ./configure aus. In der Dokumentation haben Sie hoffentlich die Parameter gelesen. Ich benutze meist folgendes:

$ ./configure --enable-tagged-hash --prefix=/usr/local/news \
  --with-spool-dir=/var/spool/news \
  --with-log-dir=/var/log/news && echo ok

Gegebenenfalls benötigen Sie noch ein zusätzliches --with-sendmail=/usr/lib/sendmail.

Nach kurzer Zeit sollten Sie in der letzten Zeile ein einsames ok sehen. Wenn nicht, dann hat das Skript irgendwo einen Fehler gefunden und abgebrochen. Compilieren Sie nun den INN:

$ make && echo ok

Wieder einige Minuten später sollten Sie ein ok in der letzten Zeile sehen. Wenn dies dort nicht steht, ist etwas schiefgegangen. Installieren Sie den INN mit dem folgenden Befehl:

$ make install

inn.conf

Die inn.conf ist eine der zentralen Konfigurationsdateien. Sie finden diese im Verzeichnis [PREFIX]/etc. Wenn Sie den INN wie angegeben compiliert haben, befindet sich die Datei in /usr/local/news/etc/inn.conf. Passen Sie die folgenden Zeilen an:

# Diese Zeile erscheint im Header jedes Postings
organisation: noch eine UUCP-Site
# Der FQDN Ihres Rechners
server: perikles.toppoint.de
# Dieser Name taucht im Header in der Path-Zeile auf:
pathhost: perikles.toppoint.de

newsfeeds

In dieser Datei steht beschrieben, welcher andere Server welche Gruppen bekommt. Es gibt dort viele Beispiele, so daß Sie sicher schnell herausfinden, wie es funktioniert. Die folgende Zeile konfiguriert einen UUCP-Feed fuer das System tpki:

# System/Exclude:Gruppen/Distribution:Parameter:
tpki/tpki.toppoint.de:*,!junk,!control*/*:Tf,Wnb,B4096/1024:

tpki ist der Name meines UUCP-Partners. Hier tragen Sie nicht Ihren eigenen Sitenamen sondern den Ihres Providers ein. Das /tpki.toppoint.de verhindert, das Newsartikel, die schon ein tpki.toppoint.de im Pfad haben, nicht an den Server geschickt werden. Gucken Sie bitte in einige Newsheader, wenn Sie sich nicht sicher sind, was hier stehen muß. Normalerweise ist es news.provider.de. Sie können mehrere Servernamen mit Kommas trennen.

Der String zwischen den ersten beiden Doppelpunkten regelt, welche Gruppen an den Server geschickt werden. In diesem Fall wird alles (*), außer junk (!junk) und außer den Controlgruppen (!control*) gefeedet. Diese Konfiguration ist sehr einfach. Wenn Sie z.B. lokalen Newsgruppen haben, die nicht gefeedet werden sollen, tragen Sie hier einfach ein !Gruppe ein. Das abschließende /* bestimmt die Distribution. Dieser Parameter wird fast nicht mehr benutzt, so daß * stehenbleiben kann.

nnrp.access

Wer auf Ihren Server zugreifen darf, wird in dieser Datei geregelt. Das Format ist denkbar einfach. Die ersten drei Zeilen sind zwingend notwenig, da sonst das UUCP keine Artikel einliefern darf. In der vierten Zeile erlaube ich allen Rechnern der Domain toppoint.de, bei mir News zu lesen. Die Rechner aus dem Netz 192.168.9 dürfen lesen und schreiben:

stdin:Read Post:::*
localhost:Read Post:::*
127.0.0.1:Read Post:::*
*.toppoint.de:Read:::*
192.168.9:Read Post:::*

In der Datei selbst befindet sich eine ausreichende Dokumentation zu dem Format.

expire.ctl

Alte News sind uninteressant und können gelöscht werden. Der INN löscht alte Artikel automatisch nach Ihren Vorgaben, die Sie in der expire.ctl gemacht haben:

/remember/:30
*:A:1:15:never
de.alt.netdigest:M:1:90:never

Die erste Zeile ist gleich die Ausnahme :). Die MSG-IDs der eingehenden Artikel werden 30 Tage gehalten. So wird verhindert, daß ein veralteter Artikel nochmal angenommen wird, weil Ihr Server nicht weiss, daß er diesen schoneinmal hatte. Die zweite Zeile legt die Haltezeit für alle Artikel auf 15 Tage fest. * ist hierbei eine Gruppenangabe. de.alt.netdigest ist die einzige Gruppe, die länger (90 Tage) gehalten wird.

Dokumentation

Wenn Sie mehr über den Newsserver erfahren möchten, sollten Sie die Dokumentation lesen, die bei dem Source-Code dabei ist oder einen Blick nach /usr/doc/packages/inn riskieren.

News automatisieren

Wenn Sie das Packen der News automatisieren möchten, können Sie einen Eintrag in der crontab vornehmen. Ich lasse meine News jede Stunde einmal packen und zusätzlich kurz vor dem Ausführen von UUCP.

Stündliches News packen

Bitte kopieren Sie die folgende Zeile in die crontab vom Benutzer news:

0 * * * * /usr/lib/uucp/bin/send-uucp.pl systemname

Ersetzen Sie systemname durch das UUCP-System Ihres Providers.

News packen, bevor UUCP ausgeführt wird

Damit wirklich alle News per UUCP verschickt werden, die Sie geschrieben haben, sollte

/usr/lib/uucp/bin/send-uucp.pl systemname

kurz vor dem Pollen ausgeführt werden.

Wenn Sie um 21.30 Uhr per crontab des Benutzers root pollen, können Sie um 21.25 Uhr alle News packen lassen.

Tragen Sie dazu bitte die folgende Zeile in die crontab vom Benutzer news ein:

25 21 * * * /usr/lib/uucp/bin/send-uucp.pl systemname

Der systemname muß durch den Namen des UUCP-Rechners Ihres Providers ersetzt werden.

7.4 cnews

Cnews ist ein Newsserver, der von der SuSE-Distribution für UUCP empfohlen wird. Die Konfiguration des Servers befindet sich unter /var/lib/news/.

Konfigurieren Sie den Server bitte so, daß er das lokale Posten und Lesen von News ermöglicht, anschließend nehmen Sie die folgenden Änderungen vor:

Die Datei /var/lib/news/sys definiert, ähnlich der /var/lib/news/newsfeeds des INN, die Newsfeeds. Zuerst kommt der obligatorische Eintrag, daß wir, der Newsserver, alle ankommenden Artikel annehmen. Warum wir alle Artikel annehmen, steht im FAQ-Abschnitt. Anschließend folgt der Eintrag für den Provider:

ME:all
tpki/tpki.toppoint.de:all/all:f:tpki/togo

Die Datei /var/lib/news/batchlog enthält die Logdatei zum Batchvorgang. Gestartet wird der Batchvorgang per /usr/lib/news/bin/batch/sendbatches. Je nachdem, wie viele Artikel sie posten, sollten Sie mehrmals pro Stunde den Befehl /usr/lib/news/bin/input/newsrun ausführen, um die neuen News einzusortieren. Eine komplette crontab mit einem Eintrag für newsdaily, ein Programm, das über den Status von cnews wacht, sieht so aus:

# Newsrun alle 10 Minuten
*/10 * * * * /usr/lib/news/bin/input/newsrun
# oder Newsrun einmal pro Stunde um 5 nach voll
5 * * * * /usr/lib/news/bin/input/newsrun

# Newsbatches nach dem Newsrun um 10 nach voll packen
10  * * * * /usr/lib/news/bin/batch/sendbatches

# Newsdaily einmal pro Tag in der Nacht um 3.33 Uhr starten
33 3 * * * /usr/lib/news/bin/maint/newsdaily


Inhalt