8.1. Configurazione

Leafnode si occupa di ricevere e inviare i post da e verso i newsgroup Usenet. È in genere adatto, data la sua semplicità, per computer singoli o comunque piccole reti. Se necessitate di creare newsgroup locali per la vostra LAN, o avete bisogno di maggior potenza e opzioni, rivolgetevi a INN, di cui potete trovare un'ampia trattazione nell'Howto scritto da Filippo Panessa - aka Kalem (http://web.tiscalinet.it/kalem). Non potete usare contemporaneamente due demoni che cercano di controllare la stessa porta, quindi nel caso abbiate INN o altri newsserver, commentate la riga apposita all'interno di /etc/inetd.conf o /etc/xinetd.conf e riavviate. Per configurarlo, dopo averlo installato, modificate il file /etc/leafnode/config come segue (è proprio il minimo indispensabile, ci sono molte più opzioni, direttamente commentate nel file). Ricordate che la directory /etc/leafnode/ e il suo contenuto devono appartenere all'utente e gruppo news, quindi date da una console, loggati come utente root:

chown -R news.news /etc/leafnode/
     

Ricordate inoltre che alcune vecchie distribuzioni di leafnode non erano compatibili con l'anno 2000, quindi usatene una versione > 1.9.4. Segue il file config di esempio:

=== file: /etc/leafnode/config ===

## inserisci qui il tuo server news - OBBLIGATORIO
server = news.libero.it

## I thread vengono cancellati dopo il numero di giorni seguente,
## se non definito diversamente con groupexpire - OBBLIGATORIO
## man leafnode per informazioni su groupexpire
expire = 60

## Numero massimo di messaggi da scaricare per volta. Sconsigliato
## sia impostarlo al di sotto di 1000 che al disopra di 2000
maxfetch = 2000

## per scaricare solo gli header dei messaggi e in seguito solo i body
## marcati per il download, impostare delaybody ad 1
delaybody = 0

## impedisce di scaricare articoli più grandi di 50000 bytes
maxbytes = 50000

## impedisce di scaricare articoli più lunghi di 1000 righe
maxlines = 1000

## massimo numero di giorni in cui sarà scaricato un newsgroup che non
## viene letto, prima di annullare la sottoscrizione in automatico
timeout_long = 7

## minimo numero di giorni in cui sarà scaricato un newsgroup che forse si è sottoscritto
## per errore e non viene letto, prima di annullare la sottoscrizione in automatico
timeout_short = 2

## attiva l'invio di messaggi di debug al syslog, per evidenziare malfunzionamenti
debugmode = 1

## evita che vengano sottoscritti in automatico newsgroup non desiderati
## in caso di crosspost verso di essi
create_all_links = 0

## file contenente i filtri per i messaggi da NON scaricare (leggete alla fine della pagina
## per altre informazioni e nel caso togliete il carattere # all'inizio della riga seguente)
# filterfile = /etc/leafnode/filterfile
     

Controllate che in /etc/inetd.conf sia presente una riga come la seguente, NON commentata da #:

nntp   stream   tcp    nowait    news    /usr/sbin/tcpd   /usr/sbin/leafnode
     

Nel caso non esista, aggiungetela. Se invece usate xinetd, guardate la sezione apposita dell'howto, c'è un file già pronto. Date da utente root: killall -HUP inetd per riavviare il demone inetd, oppure killall -USR1 xinetd per riavviare il demone xinetd e provate a fare: telnet localhost 119 per vedere se leafnode vi risponde. Dovreste ottenere una riga simile alla seguente:

200 Leafnode NNTP Daemon, version 1.9.19 running at    localhost.localdomain
     

Nel caso di inetd, potrebbe dover essere aggiunta al file /etc/hosts.allow la riga:

leafnode: LOCAL
     

e al file /etc/hosts.deny la riga:

ALL: ALL
     

Per scaricare le news, dovete lanciare il comando: fetchnews da utente root o news (badate che spesso l'utente news viene creato ma non gli viene assegnata una password, quindi non può loggarsi; nel caso da utente root date il comando: passwd news e assegnategliene una). Se non volete loggarvi come utenti root o news (presuppongo che l'eseguibile fetchnews sia in /usr/sbin/, se which fetchnews vi da un path diverso sostituitelo dove necessario), date i seguenti comandi da root :

chown root.news /usr/sbin/fetchnews
chmod a+s /usr/sbin/fetchnews
ln -s /usr/sbin/fetchnews /usr/bin/fetchnews
     

e poi modificate /etc/group in modo che nell'ultimo campo appaia il vostro nome utente:

prima: news:x:13:news

dopo: news:x:13:news,vostronomeutente

Nota: il numero può cambiare, e la x potrebbe essere assente nel caso non utilizziate le shadow password o potrebbe essere qualcosa di ingarbugliato nel caso il gruppo abbia una password, sempre non shadow.

La prima volta che lancerete il comando fetchnews verranno scaricati tutti i nomi dei gruppi presenti sul server remoto. Dopo questa fase, entrate nel vostro newsreader preferito e scorrendo la lista dei newsgroup marcate quelli che volete frequentare, entrando nel newsgroup scelto e LEGGENDO il placeholder di leafnode (questo dovrebbe creare i file: /var/spool/news/interesting.groups/nome.del.gruppo.scelto di lunghezza 0: controllate e se ciò non avviene createli voi con il comando: touch /var/spool/news/interesting.groups/nome.del.gruppo.scelto, ripetendo per ognuno dei gruppi scelti). Al successivo lancio di fetchnews verranno scaricati gli header e gli articoli (in base all'impostazione di delaybody nel file /etc/leafnode/config) dei gruppi sottoscritti. Per leggerli, impostate il vostro newsreader su server: localhost e porta 119. Riguardo a quale newsreader scegliere, io vi consiglio slrn per console (la configurazione è nelle ultime pagine del Quick&Easy Configuration HOWTO): ci sono varie scuole di pensiero a seconda che vogliate un programma da console o da gui. Tra i migliori per console ci sono slrn e tin, tra quelli per gui i più promettenti sembrano pan e knode (notate che ho scritto "promettenti", non migliori, in quanto ancora buggatelli anzichenò), oltre al veterano knews (che non c'entra niente con il KDE, il cui newsreader krn è bene che evitiate come LA PESTE, a meno che vi piaccia tanto Windows da volerne emulare i crash sotto Linux! ;-) ).

Possibili opzioni utili di fetchnews sono:

Per cancellare i vecchi post che hanno superato il tempo di expire, data da utenti root o news il comando: texpire, magari forzandolo con l'opzione -f.