slrn + leafnode
auf Mac OS X installieren

deutsch | english | français

Voraussetzungen

Installierte Apple Developer Tools, Bedienung von vim.

Als erstes müssen wir prüfen, ob /usr/local/bin und /usr/local/sbin im Pfad sind, damit unsere selbstkompilierten Programme überhaupt gefunden werden. Je nachdem, welche Shell verwendet wird, geht das unterschiedlich.

tcsh (Standard bei Mac OS X 10.0 bis 10.2)

Hier ist es am einfachsten, die vorgefertigten Beispiele aus dem System zu übernehmen.

Die Konfigurationsdatei /etc/csh.login muß dafür so aussehen:

# System-wide .login file for csh(1).
source /usr/share/tcsh/examples/login
setenv MANPATH "${MANPATH}:/usr/local/man"

Dann das Terminalprogramm beenden und wieder starten, damit die neuen Einstellungen eingelesen werden.

bash (Standard ab Mac OS X 10.3)

– to be written –

leafnode

leafnode 2

Version 2 von leafnode ist noch im Alpha-Stadium. Letzte getestete Version: Leafnode 2.0.0.alpha20061010a und PCRE 6.7.

Der User »news« muß vor dem Kompilieren angelegt werden. Das geht am einfachsten mit dem Shellskript adduser-news.sh:

% sudo ./adduser-news.sh

Nun werden PCRE und leafnode heruntergeladen und installiert.

% curl -O ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-6.7.tar.bz2
% curl -O http://www.dt.e-technik.uni-dortmund.de/~ma/leafnode/beta/leafnode-2.0.0.alpha20061010a.tar.bz2
% tar xjf pcre-6.7.tar.bz2
% tar xjf leafnode-2.0.0.alpha20061010a.tar.bz2
% cd pcre-6.7/
% ./configure
% make
% sudo make install
% cd ../leafnode-2.0.0.alpha20061010a/
% ./configure --sysconfdir=/Library/Leafnode --enable-spooldir=/private/var/spool/news
% make
% sudo make strip-install

Da Du so fleißig bis hier gelesen hast, möchte ich hier einen Hinweis auf meinen neuen Leafnode Installer (Testversion) anbringen, der die Arbeit des Selbstkompilierens in naher Zukunft sparen könnte.

Leafnode konfigurieren

% cd /Library/Leafnode
% sudo cp config.example config
% sudo vi config

Hier die entsprechenden Einträge vornehmen. Beispiel meiner Konfiguration:

server = news.arcor.de
expire = 10
initialfetch = 100
maxcrosspost = 5
hostname = <meinedomain>

Bitte zum Eintrag für »hostname« die mitgelieferte FQDN-Readme lesen.

Liste der Newsgroups herunterladen und cronjob einrichten

$ sudo /usr/local/sbin/fetchnews -vv
$ sudo crontab -u news -e

Die Datei folgendermaßen editieren:

0 22 * * * /usr/local/sbin/texpire

Das heißt, die »veralteten« News werden täglich um 22 Uhr (man kann auch jede andere Zeit nehmen, Hauptsache ist, der Rechner läuft meistens um diese Zeit) aussortiert.

leafnode starten

Man kann leafnode auf verschiedene Arten starten:

inetd (≤ Mac OS X 10.2)

leafnode beim inetd bekannt machen:

% sudo vi /etc/inetd.conf

Hier muß eine Zeile eingefügt werden:

#nntp  stream  tcp  nowait  usenet  /usr/libexec/tcpd  nntpd
nntp  stream  tcp  nowait  news    /usr/libexec/tcpd  /usr/local/sbin/leafnode

inetd neu starten:

% sudo kill -HUP `cat /var/run/inetd.pid`

leafnode selber hat keine Mechanismen zur Authentifizierung. Deshalb werden die Zugriffsrechte über den tcpd geregelt. Die Einstellungen befinden sich in den Dateien /etc/hosts.allow und /etc/hosts.deny.

Beispiel (Zugriff für alle Rechner im lokalen Netz):

/etc/hosts.deny

leafnode: ALL

/etc/hosts.allow

leafnode: 127.0.0.1 192.168.64.0/255.255.255.0

xinetd (Mac OS X 10.3 Panther)

Eine neue Konfigurationsdatei für leafnode in /etc/xinetd.d anlegen:

% sudo vi /etc/xinetd.d/nntp

Inhalt der Datei:

service nntp
{
        disable         = no
        socket_type     = stream
        wait            = no
        user            = news
        server          = /usr/local/sbin/leafnode
        only_from       = 192.168.64.0
        groups          = yes
        flags           = IPv4
        session_create  = yes
}

xinetd neu starten:

% sudo kill -HUP `cat /var/run/xinetd.pid`

launchd (Mac OS X 10.4 Tiger)

Datei /Library/LaunchDaemons/de.netzallee.leafnode.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Label</key>
	<string>de.netzallee.leafnode</string>
	<key>Program</key>
	<string>/usr/local/sbin/leafnode</string>
	<key>ProgramArguments</key>
	<array>
		<string>/usr/local/sbin/leafnode</string>
	</array>
	<key>Sockets</key>
	<dict>
		<key>Listeners</key>
		<dict>
			<key>Bonjour</key>
			<true/>
			<key>SockServiceName</key>
			<string>nntp</string>
		</dict>
	</dict>
	<key>UserName</key>
	<string>news</string>
	<key>inetdCompatibility</key>
	<dict>
		<key>Wait</key>
		<false/>
	</dict>
</dict>
</plist>
% sudo launchctl load /Library/LaunchDaemons/de.netzallee.leafnode.plist

News herunterladen

Zum Herunterladen der News ruft man sudo /usr/local/sbin/fetchnews auf. Alternativ kann man sich einen crontab-Eintrag anlegen, der das regelmäßig übernimmt.

slang

slang installieren. Mit den neueren Versionen ist auch das ziemlich einfach geworden.

% curl -O ftp://ftp.uni-stuttgart.de/pub/unix/misc/slang/slang/v1.4/slang-1.4.6.tar.bz2
% tar xjf slang-1.4.6.tar.bz2
% cd slang-1.4.6
% ./configure
% make all
% sudo make install-elf install-links

slrn

slrn herunterladen und installieren

% curl -O ftp://ftp.fu-berlin.de/pub/unix/news/slrn/slrn-0.9.7.4.tar.bz2
% tar xjf slrn-0.9.7.4.tar.bz2
% cd slrn-0.9.7.4
% ./configure
% make
% sudo make install

Folgendes in die Datei ~/.cshrc eintragen (pro User), oder systemweit in die /etc/csh.login:

setenv NNTPSERVER localhost
setenv COLORTERM ""

Um die Änderungen zu übernehmen, muß man das Terminalprogramm beenden und wieder starten, oder die beiden Befehle einmal von Hand eingeben.

In den Terminal-Einstellungen muß unter »Fenstereinstellungen – Monitor« die Zeichensatzkodierung auf »Westeuropäisch (ISO Latin 1)« gestellt werden, bis slang/slrn UTF-8 unterstützen. Jetzt muß nur noch die Konfigurationsdatei für slrn angepaßt werden (~/.slrnrc).

Welchen Editor man zum Schreiben verwendet, ist Geschmackssache. Ich benutze vim.

Dann kann slrn gestartet werden (nur beim ersten Start muß die Datei .jnewsrc erzeugt werden).

% slrn --create

Screenshot

screenshot.png


Revisionen dieses Dokuments

Du bist hier: Home > technisch > slrn + leafnode auf Mac OS X

Say cheerio to books now. The only things I read are faces.