Usenet-Server SN (Small News)

Aus BraLUG-Wiki

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Runterladen von News-Artikeln)
 
(14 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== Motivation ==
+
[[Kategorie:Tipps und Tricks]]
Im [http://www.heise.de/ct/ c't-Magazin] 4/2004 wurde eine Artikelserie begonnen, die das Projekt [http://www.heise.de/ct/ftp/projekte/srv/ c't-Debian-Server] zum Inhalt hat. Desweiteren beinhaltet das Sonderheft [http://www.heise.de/kiosk/special/ct/05/04/ "special Netzwerke"] eine Zusammenfassung der bisherigen Artikel. Auf der [http://www.heise.de/kiosk/special/ct/05/04/programme.shtml Heft-CD] des Sonderhestes ist die Version 1.1 des Serverprojektes zu finden. Diese Version bildet die Grundlage für die folgenden Erläuerungen.
+
  
Warum nochmal folgende Erläuterungen? Bei der Installtion/Konfiguration habe ich feststellen müssen, dass einige Einstellungen nicht ausreichend in den Artikeln beschrieben wurden (bzw. es waren nicht mehr alle Hefte vorhanden). Auf dem Heise-Server ist für dieses Projekt ein eigenes [http://www.heise.de/ct/foren/go.shtml?list=1&forum_id=73366 Forum] eingerichtet worden. Dieser Wiki-Artikel soll zusammenfassend die Besonderheiten behandeln, welche man natürlich auch aus den genannten Quellen mühsam zusammensuchen könnte. Es besteht aber auch nicht der Anspruch eine vollständige Doku zu dem Thema abzuliefern!
+
== Ein schlanker Usenet-Server ==
  
Folgende Dienste sollen dabei betrachtet werden, die ich (Uwe) auf meinem Homeserver vorgesehen habe:
+
===Allgemeines===
* Mail-Server
+
Ein News-Server muss her, um die Neuigkeiten aus dem Usenet lesen zu können! Eine wichtige Anforderung für mich ist, dass man mehrere externe News-Server im Internet abfragen kann. Aus diesem Grund scheidet schon mal das weit verbreitete [http://www.leafnode.org Leafnode] aus! Dies können aber z.B. [http://www.isc.org/products/INN/ INN (InterNetNews)] oder auch [http://www.infa.abo.fi/~patrik/sn/ SN (Small News)]. Ich habe mich letztendlich für SN entschieden, da das Einrichten und die Administration einfacher als bei INN ist.
* News-Server
+
* Samba-Server
+
* FTP-Server
+
* WEB-Server (mit php)
+
* mySQL-Datenbank
+
* LDAP
+
  
== Installation und Konfiguration ==
+
Besonderheit von SN ist, dass es keine eigentliche Konfigurationsdatei gibt. Entsprechende Aktionen werden durch Einträge im Dateisystem (''/var/spool/sn/...'') und verschiedene Tools ausgelöst. Hier die wichtigsten Dinge (alles weitere ist den sn-Manpages zu entnehmen...):
  
=== Allgemeine Bemerkungen ===
+
===Abonnieren einer Newsgroup===
Die Installation der c't-Server-Distribution ist an das aktuelle Debian (sarge) angelehnt und birgt keine Überraschungen. Der Umfang der Software-Pakete ist begrenzt, es ist aber möglich sich aus "offiziellen" Debian-Quellen mit dem fehlenden zu versorgen. Man erweitert die Datei ''/etc/apt/sources.list'' um den entsprechenden Eintrag eines Debian-Paketservers, z.B.:
+
Das Abbonieren einer News-Group erfolgt, einmalig für jede gewünschte Gruppe, mit dem Kommando ''snnewgroup'':
 +
snnewgroup de.comp.gnu news.freenet.de 119
 +
''de.comp.gnu '' ist die gewünschte News-Gruppe, ''news.freenet.de'' der News-Server und ''119'' der Port des News-Server. Es werden einige Verzeichnisse und Dateien unter oben genannten SN-Homeverzeichnis angelegt, aber noch keine News-Artikel geladen. Dieses Kommando muss man nun für jede News-Gruppe, deren Artikel man lesen möchte, ausführen. Es können ohne weiteres auch Gruppen von anderen News-Servern sein.
  
deb http://ftp.de.debian.org/debian/ stable main contrib
 
  
Man kann auch weitere solcher Server eintragen. Mittels apt-get, aptitude usw. sind jetzt auch Pakete aus diesen Quelle installierbar (eine Internetverbindung natürlich vorausgesetzt...).
+
===Runterladen von News-Artikeln===
 +
Die Artikel werden mit dem Kommando
 +
snget
 +
von allen vorher mit ''snnewgroup'' angegebenen News-Gruppen geladen (empfangen '''und''' senden). Es bietet sich an, ''snget'' zyklisch via cron-Job zu starten, um die Aktualisierung zu automatisieren.
  
Zusätzlich kommt ein "heise-eigenes" Konfigurationsprogramm ''ctsrvcfg'' mit. Hier kann man weitere Pakete von der CD installieren sowie einige Grundeinstellungen vornehmen. Auf der CD befindet sich auch eine aktuelle Version von [http://www.webmin.com WEBMIN], mit der man die meisten Dinge auf dem Server via Browser administrieren kann.
+
===Löschen einer abonnierten News-Gruppe===
 +
Mittels Kommando ''sndelgroup'', also z.B.
 +
sndelgroup de.comp.gnu
 +
kann man das Abbo einer News-Gruppe auch wieder entsorgen (Achtung, eswerden auch alle bisher geladenen Artikel gelöscht!).
  
  
=== News-Server ===
+
===Laden der gesamten Gruppen-Liste eines News-Server===
 +
Diese Vorgang ist in ''snget'' integriert, wenn das Tool eine Datei ''request-list'' im ''.outgoing''-Verzeichnis des entsprechenden News-Server findet. Inhalt der Datei sollte ein weiterverarbeitender Befehl sein, der die News-Gruppen-Liste von Standard-Input erwartet (ich finde diese Idee genial!). Z.B. könnte dies folgendes sein:
 +
echo 'sort -o /tmp/gruppenliste-news.freenet.de' > /var/spool/sn/.outgoing/news.freenet.de:119/request-list
 +
Man erzeugt also eine Datei ''request-list'' im ''.outgoing''-Verzeichnis des News-Servers mit dem Inhalt ''sort -o /tmp/gruppenliste-news.freenet.de''. Nach dem Ausführen des Kommandos ''snget'' findet man die alphabetisch sortierte Liste der News-Gruppen in der Datei ''/tmp/gruppenliste-news.freenet.de''. Auch diesen Vorgang kann man via cron oder at automatisieren...!
  
=== Mail-Server ===
 
==== Allgemeines====
 
  
In der Folge werden Besonderheiten zu den einzelnen Komponenten des Mail-Systemes beschrieben. Meldungen (Fehler, Warnungen oder nur Infos) der einzelnen Programme sind in folgenden Log-Dateien unter ''/var/log/'' zu finden:
+
===...und weiter?===
* mail.info
+
Das soll an dieser Stelle erstmal genügen, alles weitere ist in den Manpages zu sn und seinen Tools zu finden bzw. in der Datei ''INSTALL.run'' des Source-Paketes, welches von oben verlinkter sn-Homepage bezogen werden kann (ist im Debian-Binary ebenfalls diese Datei als Doku dabei?). Es sei darauf hingewiesen, dass man sich auch um die Entsorgung bereits gelesenener News-Artikel kümmern sollte, um die Größe des Verzeichnis ''/var/spool/sn/'' nicht ins Unendliche laufen zu lassen. Auch hier gibt es Mechanismen innerhalb der Tool-Sammlung von sn....
* mail.warn
+
* mail.err
+
* mail.log
+
 
+
Schaltet man in den einzelnen Konfigurationen der Module das Mitschreiben im syslog nicht aus, landen die Meldungen auch in ''/var/log/syslog''.
+
 
+
Es ist natürlich auch möglich eigene Log-Dateien (z.B. für jedes eigene Modul) zu konfigurieren. Dies ist dann in den einzelnen Einstellungen der entsprechenden Programme zu machen (und wird hier auch nicht weiter beschrieben).
+
 
+
==== Fetchmail ====
+
[http://www.catb.org/~esr/fetchmail/ Fetchmail] ist im Mail-System dafür verantwortlich, die Mails vom Provider abzuholen. Das entsprechende Paket ist auf der CD enthalten, die Konfiguration ist relativ einfach.
+
 
+
Zum einen ist es z.B. möglich mittels WEBMIN-Oberfläche jedes einzelne abzuholende externe Postfach einzutragen. Die entsprechend erzeugten Konfigurationsfiles (''.fetchmailrc'') landen in den Home-Verzeichnissen der User. Um das Abholen der Mails zu automatisieren muß man entsprechende CRON-Jobs einstellen.
+
 
+
Die zweite und elegantere Methode ist die systemweite Automatisierung des Abholens aller konfigurierten Mailboxen mit einem Schlag. Findet fetchmail beim Start eine Datei ''/etc/fetchmailrc'' startet das Programm als daemon, welcher dann zyklisch (Zyklus konfigurierbar) alle Mailboxen abklappert. Hier eine typische ''/etc/fetchmailrc'' (die Bedeutung ist in den einschlägigen Dokus zu fetchmail nachlesbar!):
+
 
+
set daemon 1800
+
set no syslog
+
defaults
+
  proto POP3
+
  timeout 90
+
  limit 4096000
+
  warnings 86400
+
poll pop3.web.de
+
  user "mailuser" password "mailpasswort" is "lokaleruser"
+
poll pop3.andererserver.de
+
  user "anderermailuser" password "anderesmailpasswort" is "andererlokaleruser"
+
 
+
Das sollte es eigentlich gewesen sein. Fehlermeldungen sind in den oben erwähnten Log-Dateien zu finden.
+
 
+
==== Squirrelmail ====
+
Bei [http://www.squirrelmail.org/ Squirrelmail] handelt es sich um ein WEB-Frontend (geschrieben in php), welches auf die IMAP-Mailboxen auf dem Server via Browser zugreifen kann. Das Paket gehört zum Umfang der c't-Distribution, muss aber nach der Installation noch konfiguriert werden, was allerdings in den c't-Dokumentationen nur stiefmütterlich behandelt wird.
+
 
+
Folgende Dinge sind nach der Installation zu tun:
+
 
+
* '''php4 installieren:''' Es wird zwar bei der Grundinstallation php4 installiert, es fehlen aber die notwendigen Libs für den Apache2, welche auch nicht in der c't-Distribution enthalten sind. Heißt also von einem Debian-Paketserver (siehe oben) das Paket ''libapache2-mod-php4'' nachinstallieren. Die Installationsroutine des Paketes erledigt alles weitere.
+
 
+
* '''Apache2 für Squirrelmail konfigurieren:''' Man steht vor der Frage "Mit welche URL rufe ich eigentlich den WEB-Mailer auf?". Ein Blick in die Apache-Konfiguration zeigt, dass noch etwas getan werden muß -> es fehlt der entsprechende Alias. Unter Apache2 spielt sich dies nicht mehr in den bekannten Konfigurationsfiles ab. Vielmehr kopiert man die Datei ''/etc/squirrelmail/apache.conf'' in das Verzeichnis ''/etc/apache2/conf.d/''. Am besten, man benennt diese Datei dort auch gleich noch um (z.B. ''squirrelmail.conf''), denn es werden im Laufe der Zeit bestimmt noch ein paar mehr solcher Konfigurationen dazu kommen. Der Dateiname ist egal, es werden alle Dateien aus diesem Verzeichnis beim Start des Indianers eingelesen. Nun kann man das WEB-Mailfrontend via http://servername/squirrelmail/ in einem Browser aufrufen.
+
 
+
* '''Apache2 neu starten:''' Nach obigen beiden Punkten ist es angebracht, dass der Apache2 neu gestartet wird, damit die Konfigurationsänderungen wirksam werden. Enweder bootet man dazu den ganzen Rechner durch oder, eleganter, nur den Dienst ansich mittels Kommando ''/etc/init.d/apache2 restart''.
+
 
+
* '''Squirrelmail selbst initial konfigurieren:''' Hat man obige Schritte erfolgreich absolviert, ist Squirrelmail schon mal aufrufbar und nach dem einloggen wird auch der Inhalt der entsprechenden Mailbox angezeigt. Nur einige Links zeigen ins Nirevana. Dies kann man beheben, indem einmalig das Konfigurationsscript des WEB-Mailers auf der Konsole aufgerufen wird und die folgenden Fragen entsprechend beantwortet. Der Name dieses (Perl-)Script lautet ''/usr/sbin/squirrelmail-configure'' (bzw. es existiert ein Verweis ''/usr/share/squirrelmail/config/conf.pl''). Später kann man die diversen Einstellungen auch in der WEB-Oberfläche (Menü-Punkt "Optionen") vornehmen/ändern.
+
 
+
== '''Dieser Wiki-Beitrag wird fortgesetzt...''' ==
+

Aktuelle Version vom 8. Februar 2008, 02:03 Uhr


Inhaltsverzeichnis

[Bearbeiten] Ein schlanker Usenet-Server

[Bearbeiten] Allgemeines

Ein News-Server muss her, um die Neuigkeiten aus dem Usenet lesen zu können! Eine wichtige Anforderung für mich ist, dass man mehrere externe News-Server im Internet abfragen kann. Aus diesem Grund scheidet schon mal das weit verbreitete Leafnode aus! Dies können aber z.B. INN (InterNetNews) oder auch SN (Small News). Ich habe mich letztendlich für SN entschieden, da das Einrichten und die Administration einfacher als bei INN ist.

Besonderheit von SN ist, dass es keine eigentliche Konfigurationsdatei gibt. Entsprechende Aktionen werden durch Einträge im Dateisystem (/var/spool/sn/...) und verschiedene Tools ausgelöst. Hier die wichtigsten Dinge (alles weitere ist den sn-Manpages zu entnehmen...):

[Bearbeiten] Abonnieren einer Newsgroup

Das Abbonieren einer News-Group erfolgt, einmalig für jede gewünschte Gruppe, mit dem Kommando snnewgroup:

snnewgroup de.comp.gnu news.freenet.de 119

de.comp.gnu ist die gewünschte News-Gruppe, news.freenet.de der News-Server und 119 der Port des News-Server. Es werden einige Verzeichnisse und Dateien unter oben genannten SN-Homeverzeichnis angelegt, aber noch keine News-Artikel geladen. Dieses Kommando muss man nun für jede News-Gruppe, deren Artikel man lesen möchte, ausführen. Es können ohne weiteres auch Gruppen von anderen News-Servern sein.


[Bearbeiten] Runterladen von News-Artikeln

Die Artikel werden mit dem Kommando

snget

von allen vorher mit snnewgroup angegebenen News-Gruppen geladen (empfangen und senden). Es bietet sich an, snget zyklisch via cron-Job zu starten, um die Aktualisierung zu automatisieren.

[Bearbeiten] Löschen einer abonnierten News-Gruppe

Mittels Kommando sndelgroup, also z.B.

sndelgroup de.comp.gnu

kann man das Abbo einer News-Gruppe auch wieder entsorgen (Achtung, eswerden auch alle bisher geladenen Artikel gelöscht!).


[Bearbeiten] Laden der gesamten Gruppen-Liste eines News-Server

Diese Vorgang ist in snget integriert, wenn das Tool eine Datei request-list im .outgoing-Verzeichnis des entsprechenden News-Server findet. Inhalt der Datei sollte ein weiterverarbeitender Befehl sein, der die News-Gruppen-Liste von Standard-Input erwartet (ich finde diese Idee genial!). Z.B. könnte dies folgendes sein:

echo 'sort -o /tmp/gruppenliste-news.freenet.de' > /var/spool/sn/.outgoing/news.freenet.de:119/request-list

Man erzeugt also eine Datei request-list im .outgoing-Verzeichnis des News-Servers mit dem Inhalt sort -o /tmp/gruppenliste-news.freenet.de. Nach dem Ausführen des Kommandos snget findet man die alphabetisch sortierte Liste der News-Gruppen in der Datei /tmp/gruppenliste-news.freenet.de. Auch diesen Vorgang kann man via cron oder at automatisieren...!


[Bearbeiten] ...und weiter?

Das soll an dieser Stelle erstmal genügen, alles weitere ist in den Manpages zu sn und seinen Tools zu finden bzw. in der Datei INSTALL.run des Source-Paketes, welches von oben verlinkter sn-Homepage bezogen werden kann (ist im Debian-Binary ebenfalls diese Datei als Doku dabei?). Es sei darauf hingewiesen, dass man sich auch um die Entsorgung bereits gelesenener News-Artikel kümmern sollte, um die Größe des Verzeichnis /var/spool/sn/ nicht ins Unendliche laufen zu lassen. Auch hier gibt es Mechanismen innerhalb der Tool-Sammlung von sn....

'Persönliche Werkzeuge