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:
-v : (anche ripetuto, come -vvvv) che stampa a video un resoconto di quello che sta succedendo, più dettagliato in base a quante v mettete
-P : invia solo i vostri nuovi messaggi, senza scaricare quelli presenti sul server remoto
-n : evita l'annullamento automatico delle sottoscrizioni di gruppi che non si leggono da molto tempo (intervallo modificabile nel file di configurazione, opzioni timeout_short e timeout_long).
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.