<!doctype linuxdoc system>
<linuxdoc>
<article>

<!-- Title information -->
<titlepag>
<title>Mail2News Mini-Howto</title>

<author><name>Bek Oberin <tt/gossamer@tertius.net.au/,<newline>
Vertaald door: Ellen Bokhorst <tt>bokkie@nl.linux.org</tt></name></author>
<date>v1.2, november 2000</date>

<abstract>
In dit document wordt beschreven hoe je newsserver en de
mail2news software in te stellen om discussielijsten te koppelen
aan lokale nieuwsgroepen.
</abstract>
</titlepag>

<sect><heading>Copyright en dergelijke</heading>

<!-- Copyright 2000, Bek Oberin -->

<p>
Het copyright wordt opgelegd door de auteur. Het is toegestaan het
document in elektronische vorm en op CD's te distribueren op voorwaarde
dat het volledig in het oorspronkelijke formaat behouden blijft. Het is
ook toegestaan een kopie van dit document voor persoonlijk gebruik af
te drukken.
</p>

<p>
Het geheel of gedeeltelijk opnieuw publiceren van dit document zonder 
permissie van de copyright houder met alle andere bedoelingen dan hiervoor
is aangegeven, is verboden.
</p>
</sect>

<sect><heading>Introductie</heading>

<p>
Waarom zou je het verkeer op een discussielijst willen posten naar lokale nieuwsgroepen?
</p>

<p>
Als meer gebruikers zich inschrijven op dezelfde discussielijst, dan zal
er verkeer in duplo zijn. Door de site in te schrijven op een lijst 
(als de eigenaar van de lijst dit toestaat) en het emailverkeer naar
de lokale newsserver door te sluizen, is het mogelijk discussielijsten
voor alle sitegebruikers toegankelijk te maken of de beveiligings
faciliteiten van 'innd' te gebruiken om de toegang tot bepaalde gebruikers
te beperken. Een dergelijk site-aanmelding
(vooral als het een aantal lijsten met veel verkeer betreft)
kan een benoemenswaardige besparing van bandbreedte opleveren.
</p>

<p>
Ook biedt het inlezen van het verkeer op de lijst via een newsreader
het voordeel van threads en scoring/killfiles die niet in alle
mailreaders beschikbaar zijn. En uiteraard houdt het de inbox vrij voor
mogelijk dringende persoonlijke email.
</p>

<p>
In deze mini-HOWTO wordt het instellen van  het 'mail2news' script 
beschreven om dit te bewerkstelligen.
</p>

<sect1><heading>mail2news opsporen</heading>

<p>
Je kunt het mail2news package inclusief het script, deze HOWTO
en andere documentatie downloaden vanaf:

<code>
http://www.tertius.net.au/~gossamer/code/mail2news/
</code>
</p>
</sect1>
</sect>

<sect><heading>Overzicht van het systeem</heading>

<p>
Hoe het systeem werkt is waarschijnlijk het eenvoudigst te begrijpen
door een bericht vanuit de discussielijst naar de nieuwsgroep op te
sporen en dan een bericht gepost naar de lokale nieuwsgroep (en doorgestuurd
naar de discussielijst) en te bekijken hoe dat wordt afgehandeld.
</p>

<sect1><heading>Mail van de discussielijst</heading>

<p>
Wanneer mail van de discussielijst op de lokale computer arriveert, zoekt
procmail uit aan welke nieuwsgroep het toebehoort, en stuurt het 't 
inkomende bericht via een pipe door naar mail2news.
</p>

<p>
Het mail2news script verwerkt het bericht, past er newsheaders op toe
en gebruikt vervolgens rnews of inews om het bericht naar de nieuwsgroep
te posten.
</p>
</sect1>

<sect1><heading>Berichten gepost naar de lokale nieuwsgroep</heading>

<p>
De lokale nieuwsgroep is ingesteld als een moderated groep, aangezien
dit het mogelijk maakt voordeel te hebben van de emailmogelijkheden van innd.
Alle berichten die naar een moderated groep worden gepost, worden niet 
onmiddellijk aangeleverd aan de groep. In plaats daarvan worden de berichten
naar de moderator van de groep gemaild.
</p>

<p>
Door de moderator van de lokale nieuwsgroep als een discussielijstadres
te declareren, worden alle lokaal geposte berichten naar de nieuwsgroep
automatisch door innd uit de discussielijst gemaild en verschijnen
ze slechts zodra ze terug zijn ontvangen via mail2news die de
benodigde 'approved' regel aan de berichten toevoegt en ze dus
acceptabel zijn voor innd om naar de nieuwsgroep te posten.
</p>
</sect1>
</sect>

<sect><heading>Instellen van mail2news</heading>

<p>
Plaats het mail2news script op een daarvoor geschikte lokatie. Ik geef
de voorkeur aan /usr/local/bin, maar wat de lokatie zal zijn hangt van jezelf
af.
</p>

<p>
Je moet als volgt het script wijzigen:

<itemize>
<item>Zorg dat je bovenaan het script verwijst naar de lokale Perl binary.
Je kunt er waarschijnlijk achter komen waar Perl is ge&iuml;nstalleerd door
het achter de prompt intikken van 'whereis perl' of 'which perl'. 
Als je het niet kunt vinden, kun je het beste /usr/bin/perl invoeren:

<code>
#!/usr/bin/perl
# verwijs naar de juiste lokatie van perl
</code>
</item>

<item>Wijzig de volgende regels zodanig dat ze naar het programma waarmee
wordt gepost verwijzen (ik gebruik rnews, inews werkt ook) en naar je
news host:

<code>
# $inews = "/usr/bin/inews";
# $iopts = "-h -o \"mail2news gateway\"";
$inews = "/usr/bin/rnews";
$iopts = "";
$postinghost = "je.news.server";   # verwijst naar je newsserver
</code>
</item>
<item>Zorg dat het script uitvoerbaar is:

<code>
chmod 755 /usr/local/bin/mail2news
</code>
</item>
</itemize>
</p>
</sect>

<sect><heading>Procmail</heading>

<p>
Het procmail configbestand is ~/.procmailrc. Als je niet reeds
een procmailrc bestand hebt, maak je die gewoon aan.
</p>

<p>
Maak voor iedere discussielijst een record aan die naar je lokale
nieuwsserver zal worden doorgestuurd.
In de meeste gevallen zal iets als dit de truuk doen, maar zou in gebreke kunnen blijven voor mail die middels
een Bcc naar de mailinglijst wordt gestuurd.
</p>

<p>
Als je discussielijst bijvoorbeeld 'jokes@netizen.com.au' is en je
wilt dat de nieuwsgroep 'lists.jokes' wordt genoemd, zou je record
er ongeveer zo uit komen te zien:
</p>
<p>
<code>
:0
* TOjokes@netizen.com.au
|/usr/local/bin/mail2news lists.jokes
</code>
</p>

<p>
Op de tweede regel bevindt zich geen spatie tussen 'TO' en het adres
van de lijst.
</p>

<p>
Je moet een lege regel plaatsen tussen de regels voor iedere groep.
Plaats er zoveel regels in als je wilt, waarbij je gebruik maakt van
dezelfde 3 regels voor iedere groep, maar waarbij je het adres van de
lijst en de nieuwsgroep wijzigt.
</p>
</sect>

<sect><heading>Instellen van de nieuwsgroepen en newsserver (innd)
</heading>

<p>
Met ctlinnd maak je de nieuwsgroepen aan op je newsserver. Denk eraan dat
dit lokale nieuwsgroepen moeten zijn, dus begin ze met een 
onderscheidende naam, zodat je ze uit je news distributies kunt filteren 
(in je newsfeeds bestand).
</p>
<p>
Je moet innd ook opgeven dat de groep moderated is (met behulp van
ctlinnd). Denk er aan, innd is nogal gevoelig wat betreft de eigenaar
en permissies van een bestand, dus je moet met innd op het niveau van
de newsuser uitwisselen. Een moderated groep geef je op door de m aan
de opdracht newgroup mee te geven.

<code>
ctlinnd newgroup lists.jokes m
</code>
</p>
<p>
De m vertelt innd dat de groep moderated is.
</p>
<p>
Wijzig het newsfeeds bestand om er zeker van te zijn dat deze lokale
groepen niet worden gedistribueerd (tenzij je dit specifiek wilt laten
plaatsvinden).
</p>
<p>
Als je discussielijst bijvoorbeeld local.site.group wordt genoemd, dan
zou je waarschijnlijk !local* aan het tweede veld toe willen voegen
van je up (en mogelijk je down) stream newssites in je newsfeeds bestand.
</p>
<p>
Om er nu zeker van te zijn dat berichten van gebruikers automatisch
door innd naar de lijst worden gezonden, wijzig je /etc/news/moderators
waarin je een regel opneemt die het emailadres van de discussielijst
als de moderator declareert.

<code>
lists.jokes:jokes@netizen.com.au
</code>
</p>
</sect>

<sect><heading>Als het niet werkt...</heading>

<p>
Als er iets niet werkt, moet je het pad dat de meldingen volgen opsporen
om precies te zien waar het verkeerd gaat.
Handige hulpmiddelen hierbij zijn de mail en news logs.
</p>
</sect>

<sect><heading>De toekomst</heading>

<p>
Een probleem met berichten die op deze wijze worden gepost is dat
er een Newsgroups: header in voorkomt en nog wat andere rommel die
de newsserver introduceert. Dit is niet zo'n belangrijk probleem, maar
het maakt de berichten "rommelig". Het zou fijn zijn als er een programma
zou zijn dat dit onderschept en de headers zou herschrijven voor ze
verder te versturen.
</p>
</sect>
</article>
</linuxdoc>
