News Leafsite mini-HOWTO

Florian Kuehnert, sutok@gmx.de,
Vertaald door: Ellen Bokhorst, bokkie@nl.linux.org

v0.4, 01-12-2001


Deze HOWTO zal je op weg helpen bij het configureren van een kleine leafsite voor Usenet News met behulp van het vrij verkrijgbare softwarepackage Leafnode. Schrijf voor eventuele vragen, suggesties en opmerkingen alsjeblieft naar Florian Kuehnert (sutok@gmx.de). Stuur alle fouten die je in dit document vindt ook alsjeblieft naar mij. (C) 1998 door Florian Kuehnert.

1. Waarom Leafnode gebruiken?

Normaal gesproken moet je newsserver software zoals INN of CNews installeren als je op je lokale computer news offline wilt lezen. Je hebt hier ook een nntp of uucp verbinding naar je newsfeed voor nodig. In feite bieden dergelijke packages veel meer mogelijkheden dan je nodig hebt. Je zal beter af zijn door Leafnode te installeren.

Leafnode is eenvoudiger in het gebruik en het is zeer klein, maar er zijn een aantal nadelen: Leafnode is langzaam en verliest bij bijna iedere foutsituatie nieuwsberichten. Daarom kun je het voor een grote newsserver maar beter niet gebruiken. Voor privegebruikers die niet veel tijd willen spenderen aan de configuratie van Inn is het niettemin geschikt.

2. Waar haal ik Leafnode vandaan?

Leafnode is beschikbaar vanaf ftp://ftp.troll.no/pub/freebies/ en is ontwikkeld door Arnt Gulbrandsen, een werknemer van Troll Tech AS. De recente versie is 1.4 en Leafnode is in een aantal distributies (zoals bijvoorbeeld Debian) opgenomen. Zorg er echter voor dat je op z'n minst versie 1.4 gebruikt aangezien daarin een aantal kritieke bugs zijn gecorrigeerd.

3. Hoe installeer ik het?

Er wordt met het package een klein bestand met installatie-aanwijzingen geleverd, maar laten we het samen doen :-) -- Als Leafnode >=1.4 met je distributie wordt meegeleverd, is het 't verstandigst de voorgecompileerde versie te gebruiken en de stappen 1 tot 4 over te slaan.

1.) Zorg dat er geen andere newsserver op je systeem actief is. Als je
$ telnet localhost nntp

intikt, zou je een foutmelding moeten krijgen. Als je een verbinding terugkrijgt naar de prompt van je shell, moet je INN, CNews of wat je nu dan ook actief hebt, de-installeren en een commentaarteken voor de nntp regel plaatsen in /etc/inetd.conf.

2.) Zorg voor een gebruiker genaamd "news", controleer in /etc/password op de naam. Als het er niet in staat, maak het dan aan (of door het typen van
$ adduser news
of door gebruik te maken van een tool welke met je distributie werd meegeleverd).

3.) Pak de sources uit:
$ tar xfz leafnode-1.4.tar.gz
en cd naar die directory
$ cd leafnode-1.4

4.) Compileer het programma en installeer het
$ make; make install

5.) Wijzig /usr/lib/leafnode/config (het kan zich op een andere plaats bevinden zoals /etc/leafnode wanneer je een voorgecompileerde versie van je Linux distributie gebruikt). De regel "server =" moet verwijzen naar de newsserver van je ISP.

6.) Wijzig /etc/nntpserver. Hierin moet je lokale hostnaam worden opgenomen (localhost of welke naam je computer ook heeft, de opdracht hostname zou je hierbij kunnen helpen). Als in een opstartbestand zoals /etc/profile of  /.bash_profile de omgevingsvariabele is gedefinieerd, moet je het ook aan de naam van je computer aanpassen.

7.) Wijzig het bestand /etc/inetd.conf: Zorg dat hierin geen regel voorkomt met de string "nntp". Als een dergelijke regel hier wel in voorkomt, plaats hier dan een "#" teken voor. Voeg dan de volgende regel toe:
nntp stream tcp nowait news /usr/sbin/tcpd /usr/local/sbin/leafnode
Wanneer iemand (jijzelf bijvoorbeeld :-) een verbinding met je computer maakt via de NNTP-poort, wordt leafnode als serverproces gestart.

8.) Ga online en start als root of news het programma "fetch". Wanneer fetch voor de eerste keer wordt gestart, zal het een lijst met de nieuwsgroepen van je ISP downloaden. Afhankelijk van de snelheid van je verbinding en het aantal groepen in het active-File van je ISP kan dit wat tijd in beslag nemen.

9.) Start je favoriete newsreader (slrn, (r)tin en knews zijn geen slechte start) en meld je bij alle groepen aan die je leest. Let erop dat je je niet alleen bij deze groepen aanmeldt, maar ze binnengaat, zelfs als ze leeg zijn.

10.) Start fetch nog een keer om al het nieuws van de gewenste groepen te downloaden.

4. Hoe beheer ik leafnode?

Nu heb je een newsssysteem werkend en draaiend, maar daarmee zijn we er nog niet. Je kunt het bestand /usr/lib/leafnode/config wijzigen om de vervaldata van je groepen in te stellen. Dit getal betekent dat oude berichten moeten worden verwijderd. De standaardtijd van 20 dagen is vaak veel te lang als je een aantal groepen met veel verkeer leest, 4 dagen of een week is in de meeste gevallen een prima tijd voor je systeem. Je kunt de waarde voor alle groepen wijzigen ("expire = n" om de berichten voor alle groepen n dagen te behouden), of leafnode opgeven deze tijdsduur voor een aantal afzonderlijke groepen te wijzigen door een:
groupexpire foo.bar n
voor het instellen van de vervaltijd op n dagen voor de groep foo.bar.

Deze instelling op zichzelf maakt niet dat leafnode oude berichten verwijdert, hiervoor is een apart programma verantwoordelijk: texpire. Het kan als een cron job of via de opdrachtregel worden opgestart. Als je computer continue aan staat, kun je de volgende regel aan het crontab bestand van news toevoegen (log voor het wijzigen in als news en type "crontab -e" of log in als root en typ "crontab -u news -e"):
0 19 * * * /usr/local/sbin/texpire
Deze regel zorgt ervoor dat de cron daemon iedere dag om 19:00 texpire opstart. Kijk in de crontab man page als je meer aanpassingen wilt maken. Als je computer niet regelmatig aan wordt gezet, kun je texpire gewoon van tijd tot tijd opstarten, wanneer je bemerkt dat fetch langzamer wordt. Het werkt net als de "cron methode" prima.

5. Hoe werkt het?

Leafnode is een "echte" NNTP server, wat betekent dat je ook vanaf een andere computer in kunt loggen (via Internet, het lokale netwerk, enz.). Iedere keer wanneer je een groep in je newsreader binnengaat, stuurt de reader de informatie naar leafnode en doet het een verzoek. Als je groep niet voorkomt, zal leafnode een leeg bestand /var/spool/news/interesting.groups aanmaken, benoemd naar de groep. Wanneer je fetch de eerstvolgende keer uitvoert, zal het de berichten van de groep ophalen. Als een newsgroup voor een bepaalde periode niet wordt bezocht, zal leafnode stoppen de artikelen ervan binnen te halen en de naam ervan in de directory /var/spool/news/interesting.groups verwijderen. Dus als je je per ongeluk bij een nieuwsgroep hebt aangemeld waar veel verkeer op is, kun je het bestand ervan handmatig verwijderen, zodat je van de komende week niet alle post hiervan hoeft te downloaden.

Is een week niet genoeg voor je? Wil je drie weken op vakantie en nog steeds nieuws krijgen? Helaas biedt leafnode geen optie dit te wijzigen. Maar je kunt het bestand leafnode.h wijzigen en het hercompileren. De #defined constanten zijn TIMEOUT_LONG en TIMEOUT_SHORT, stel gewoon de tijd in seconden in. Een andere eenvoudiger oplossing is een cron-job te definiëren dat iedere nacht een "touch /var/spool/news/interesting.groups/*" uitvoert.

Als je een lijst wilt met alle beschikbare groepen, kijk dan in het bestand /usr/lib/leafnode/groupinfo, waarin een korte beschrijving van de groep is te vinden.

Als je de lijst met nieuwsgroepen opnieuw in wilt lezen vanuit je newsfeed (bijvoorbeeld wanneer je een nieuwe groep wilt gaan lezen), verwijder je gewoon het bestand /var/spool/news/active.read. Fetch zal het de volgende keer aanmaken en de lijst opnieuw ophalen. Fetch zal de lijst met groepen ook van tijd tot tijd opnieuw inlezen, dus je hoeft het niet met de hand te doen.

6. Welke newsreader zou ik moeten gebruiken?

Er is geen *de* newsreader voor Linux, net zoals er geen *de* editor is. Mijn favoriete newsreader is emacs in gnu's mode wat de meest confortabele reader voor Linux is. Veel mensen maken in een terminal gebruik van slrn en tin en veel mensen gebruiken knews onder X. En dan is er ook nog trn, nn en nog heel wat anderen, dus probeer gewoon wat je prettig vindt. De enige reader die ik niet zou gebruiken, is Netscape. Het is log, zonder mogelijkheden, niet stabiel, en het maakt soms gebrekkige berichten aan. Het is echter je persoonlijke besluit.

Hoe dan ook, knews is geen slecht idee voor je eerste ervaringen aangezien het zeer gebruiksvriendelijk is en eenvoudig te begrijpen.

7. Waar haal ik meer informatie?

Er wordt in het Leafnode package wat documentatie meegeleverd (lees de bestanden INSTALL en README, de sources zijn ook nogal interessant). Als je meer wilt weten over "professionele" en "grote" newsservers, kijk dan in de INN FAQ (deze is te vinden in het INN package). Typ man "naam van je newsreader" voor meer informatie over je newsreader of controleer op andere bestanden in /usr/doc.

Als je vragen hebt betreft het nieuwssysteem, stel ze dan gewoon in een daarvoor van toepassing zijnde nieuwsgroep (zoek in de news.software.ALL hierarchie).

Als je een vraag, opmerkingen of correcties hebt betreffende deze HOWTO, schrijf me dan gewoon (sutok@gmx.de).

8. Dank

Ik wil graag Michael Schulz (michaels@home.on-luebeck.de) bedanken voor zijn hulp betreft een aantal taalproblemen en Cornelius Krasel (krasel@wpxx02.toxi.uni-wuerzburg.de) voor zijn "touch *"-truuk.

9. Copyright, Licentie, Dank

Dit document is auteursrechtelijk beschermd (c) 1995, Florian Keuhnert.

Het wordt gedistribueerd onder de GNU Free Documentation License, welke je zou moeten hebben ontvangen. Je kunt het ook nalezen op http://www.fsf.org/licenses/fdl.html.

Ik zou graag Michael Schulz (michaels@home.on-luebeck.de) willen bedanken voor zijn hulp betreffende wat taalproblemen en Cornelius Krasel (krasel@wpxx02.toxi.uni-wuerzburg.de) voor zijn "touch *"-truuk.