<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> <TITLE>ISP-Hookup-HOWTO: News</TITLE> <LINK HREF="ISP-Hookup-HOWTO-6.html" REL=next> <LINK HREF="ISP-Hookup-HOWTO-4.html" REL=previous> <LINK HREF="ISP-Hookup-HOWTO.html#toc5" REL=contents> </HEAD> <BODY> <A HREF="ISP-Hookup-HOWTO-6.html">Avanti</A> <A HREF="ISP-Hookup-HOWTO-4.html">Indietro</A> <A HREF="ISP-Hookup-HOWTO.html#toc5">Indice</A> <HR> <H2><A NAME="s5">5. News</A></H2> <H2><A NAME="ss5.1">5.1 Come faccio a configurare un news-reader online?</A> </H2> <P> <!-- news-reader --> Mentre il collegamento PPP è attivo, sarà possibile leggere le news <B>online</B>. Ci sono diversi programmi disponibili, due delle alternative semplici sono <!-- rtin --> rtin e <!-- trn --> trn. <P>Per iniziare a leggere le news, il più delle volte l'unica cosa necessaria in termini di configurazione è impostare NNTPSERVER (di solito una volta e tutte nel file <!-- .profile --> .profile): <P> <BLOCKQUOTE><CODE> <PRE> export NNTPSERVER=news.acme.xz </PRE> </CODE></BLOCKQUOTE> <P>Per avere l'indirizzo del mittente (campo <I>From</I>), alcuni programmi <I>possono</I> richiedere: <P> <BLOCKQUOTE><CODE> <PRE> export NNTP_INEWS_DOMAIN=acme.xz </PRE> </CODE></BLOCKQUOTE> <!-- NNTP_INEWS_DOMAIN --> <P> <H2><A NAME="ss5.2">5.2 Come faccio a configurare un news-reader offline?</A> </H2> <P> <!-- news-reader --> Per essere in grado di leggere le news offline e quindi risparmiare sulla bolletta del telefono e ottenere una maggiore flessibilità, è necessario predisporre in qualche modo un news-spool locale. Questo richiede un po' di configurazione ed anche una certa quantità di spazio disco dedicata. Dopo l'installazione iniziale, le cose dovrebbero più o meno girare da sole, con qualche intervento ogni tanto. <P>In seguito verranno descritte due diverse soluzioni. <P> <H2><A NAME="ss5.3">5.3 Come faccio a configurare C News?</A> </H2> <P>Questa soluzione è basata sul server delle news <B>C News</B> ed il protocollo NNTP. C News è stato originariamente progettato per una configurazione diversa, ma è abbastanza flessibile di adattarsi anche alla nostra situazione. Si potrebbe anche usare il più recente <B>INN</B> come server delle news, ma potrebbe richiedere un po' più di risorse. In ogni caso, fate attenzione a <B>non</B> installare entrambi, dato che non convivono facilmente. <P>È cruciale che tutta la gestione delle news venga fatta dall'utente <CODE>news</CODE>, e che tutti i file di configurazione si trovino nella cartella <!-- /usr/lib/news --> /usr/lib/news. Se avete già effettuato il login come <CODE>root</CODE>, potete digitare <CODE>su news; cd</CODE>. <P>I file di configurazione più importanti sono: <P> <UL> <LI> <!-- active --> active è un elenco dei newsgroup attivi. Viene aggiornato su richiesta dal comando <!-- addgroup --> addgroup, per esempio <CODE>addgroup comp.os.linux.networking y</CODE>. <P> </LI> <LI> <!-- organization --> organization dovrebbe semplicemente indicare quello che desiderate nel campo <I>Organization:</I> dei vostri articoli, per esempio:</LI> </UL> <P> <BLOCKQUOTE><CODE> <PRE> Dirk Gently's Holistic Detective Agency </PRE> </CODE></BLOCKQUOTE> <P> <UL> <LI> <!-- mailname --> mailname dovrebbe nel nostro esempio essere impostato a <CODE>acme.xz</CODE>. <P> </LI> <LI> <!-- whoami --> whoami è impostato con il nome del vostro <CODE>sito</CODE> nel thread Path:. Nella impostazione qui descritta, usando <!-- newsx --> newsx, questo nome non uscirà mai dal vostro sistema, quindi potete impostare questo nome come volete a condizione che non sia già in uso. In questo esempio useremo <CODE>roderick</CODE>. <P> </LI> <LI> Il file <!-- sys --> sys controlla lo scarico e ulteriore distribuzione delle news. Assumeremo che il nostro Internet Provider aggiunga <CODE>acme.xz</CODE> al Path, e che questa è la nostra unica fonte di news. L'esempio dato in realtà dice che accetteremo qualsiasi cosa in arrivo, e che invieremo soltanto delle news fresche verso <CODE>acme.xz</CODE> che sono state originate nel nostro sito. In questa configurazione semplificata, si assume che tutti i gruppi arriveranno da una singola fonte. <CODE>/all</CODE> specifica la distribuzione, e <B>deve</B> essere indicata. La lettera <CODE>F</CODE> dice che (i puntatori ai) nuovi articoli in uscita saranno raccolti in un file.</LI> </UL> <P> <BLOCKQUOTE><CODE> <PRE> ME:all/all:: acme/acme.xz:all,!junk/all:FL: </PRE> </CODE></BLOCKQUOTE> <P> <UL> <LI> Una cartella da creare per le news in uscita, nel nostro caso:</LI> </UL> <P> <BLOCKQUOTE><CODE> <PRE> mkdir /var/spool/news/out.going/acme </PRE> </CODE></BLOCKQUOTE> <P> <UL> <LI> <!-- mailpaths --> mailpaths controlla i posting nei gruppi moderati, anche se questo compito viene normalmente lasciato all'Internet Provider.</LI> </UL> <P>C News necessita di un certo grado di manutenzione giornaliera, ma questo può essere indicato una volta per tutte tramite il comando <CODE>crontab -e</CODE> <!-- crontab --> eseguito dall'utente <CODE>news</CODE>. La seguente impostazione può essere modificata secondo le esigenze: <P> <BLOCKQUOTE><CODE> <PRE> # mantieni i batch entrante e uscente 10,40 * * * * /usr/lib/newsbin/input/newsrun # scadenza delle news, una volta al giorno 30 0 * * * /usr/lib/newsbin/expire/doexpire # monitoraggio ed eventuali report 00 2 * * sat /usr/lib/newsbin/maint/addmissing 40 3 * * * /usr/lib/newsbin/maint/newswatch 50 3 * * * /usr/lib/newsbin/maint/newsdaily </PRE> </CODE></BLOCKQUOTE> <P> <!-- newsrun --> newsrun sposta gli articoli in ingresso e uscita (ogni mezz'ora), <!-- doexpire --> doexpire cancellerà gli articoli man mano che scadono (ogni notte alle 00:30), mentre gli ultimi tre comandi eseguono varie procedure di supervisione e correzione di errori. <P>Occorre anche effettuare un po' di pulizia in caso di riavvio del sistema. Come utente <CODE>root</CODE>, aggiungete la seguente linea al file /etc/rc.d/rc.local: <P> <BLOCKQUOTE><CODE> <PRE> su news -c /usr/lib/newsbin/maint/newsboot </PRE> </CODE></BLOCKQUOTE> <P>Le news possono essere raccolte da un server NNTP tramite il programma <B>NewsX</B>, <!-- NewsX --> che può essere prelevato da <A HREF="ftp://sunsite.unc.edu/pub/Linux/system/news/transport/newsx-0.9.tar.gz">ftp://sunsite.unc.edu/pub/Linux/system/news/transport/newsx-0.9.tar.gz</A> oppure da <A HREF="ftp://ftp.sol.no/user/egilk/newsx-0.9.tar.gz">ftp://ftp.sol.no/user/egilk/newsx-0.9.tar.gz</A><P>Configurare <CODE>NewsX</CODE> è abbastanza semplice. L'installazione è un caso classico di: <P> <BLOCKQUOTE><CODE> <PRE> make su make install exit </PRE> </CODE></BLOCKQUOTE> <P>Con le impostazioni appena descritte, tutto quello che resta da fare è creare i gruppi che desiderate leggere usando il comando <!-- addgroup --> addgroup. <P>Per scaricare degli articoli, l'utente <CODE>news</CODE> deve eseguire i seguenti comandi (si assume che il collegamento tramite PPP o simile è già su): <P> <BLOCKQUOTE><CODE> <PRE> newsrun newsx acme news.acme.xz newsrun </PRE> </CODE></BLOCKQUOTE> <!-- newsrun --> <P>L'opzione <CODE>-d</CODE> permette visualizzare continuamente dei messaggi sullo schermo. Per ulteriori informazioni, rivolgetevi alla documentazione di NewsX. <P>NewsX si prenderà cura di inviare le news in uscita. <P>Per controllare la cancellazione degli articoli man mano che scadono, è necessario un file <CODE>explist</CODE>. I commenti spiegano le nostre intenzioni: <P> <BLOCKQUOTE><CODE> <PRE> # conserva lo storico per 14 giorni, nulla oltre i 120 giorni /expired/ x 14 - /bounds/ x 0-1-120 - # conserva questi per due mesi comp.sources,comp.os.linux.all x 60 - # il rumore viene buttato via subito junk,control x 2 - # predefinito: 14 giorni, nessuna archiviazione all x 14 - </PRE> </CODE></BLOCKQUOTE> <P><B>ALTERNATIVA:</B> In uno news-spool piccolo, normalmente non è necessario il newsgroup <CODE>control</CODE>. Il traffico è <B>enorme</B> in confronto alla possibile convenienza. Il punto è che gli articoli saranno cancellati, e che i gruppi possono essere creati automaticamente. Per assicurarsi che i messaggi di controllo che contengono <CODE>newgroup</CODE> non causino disordini, un file chiamato <!-- newgroupperm --> newgroupperm specifica quello che permetteremo: <P> <BLOCKQUOTE><CODE> <PRE> comp.os.linux tale@uunet.com yv all any nq </PRE> </CODE></BLOCKQUOTE> <P>In questo esempio, tutti i gruppi sotto la gerarchia comp.os.linux verrano creati (y), e che l'utente <CODE>news</CODE> sarà notificato (v). Tutto il resto verrà ignorato (n) in completo silenzio (q). L'ultima linea è sufficiente se volete creare tutto i gruppi manualmente. <P><B>ALTERNATIVA:</B> Al posto di NewsX potete usare suck. <P> <H2><A NAME="ss5.4">5.4 Come faccio a configurare Leafnode?</A> </H2> <P>Una soluzione completamente differente è installare il pacchetto integrato <!-- leafnode --> leafnode. Questo permette la gestione di tutte le operazioni richieste per un news spool personale, ed è facile da configurare. È disponibile da <A HREF="http://www.troll.no/freebies/leafnode.html">http://www.troll.no/freebies/leafnode.html</A><P>Per quanto riguarda C News, tutta la manutenzione delle news dovrebbe essere realmente eseguita dall'utente <CODE>news</CODE>. <P>La cartella di lavoro di leafnode è /usr/lib/leafnode. Per installare, digitare: <P> <BLOCKQUOTE><CODE> <PRE> cd /usr/lib/leafnode tar -xzvf leafnode-0.8.tgz cd leafnode-0.8 make su make install </PRE> </CODE></BLOCKQUOTE> <P>Osservate in quanto segue che il prefisso /usr/local/sbin andrebbe sostituito da /usr/sbin se avete installato leafnode da un pacchetto. <P>Mentre siete ancora nei panni di <CODE>root</CODE>, modificate la linea che controlla NNTP nel file <!-- /etc/inetd.conf --> /etc/inetd.conf: <P> <BLOCKQUOTE><CODE> <PRE> nntp stream tcp nowait news /usr/sbin/tcpd /usr/local/sbin/leafnode </PRE> </CODE></BLOCKQUOTE> Attivatelo con: <BLOCKQUOTE><CODE> <PRE> killall -HUP inetd </PRE> </CODE></BLOCKQUOTE> <P>Ritornate come utente <CODE>news</CODE> digitando exit. Nel file <!-- /usr/lib/leafnode/config --> /usr/lib/leafnode/config modificate la linea che definisce il server NNTP. Nel nostro caso: <P> <BLOCKQUOTE><CODE> <PRE> server = news.acme.xz </PRE> </CODE></BLOCKQUOTE> <P>Leafnode sarà autosufficente aggiungendo il seguente comando tramite <CODE>crontab -e</CODE> come utente <CODE>news</CODE>: <P> <BLOCKQUOTE><CODE> <PRE> # scadenza delle news, una volta al giorno 0 4 * * * /usr/local/sbin/texpire </PRE> </CODE></BLOCKQUOTE> <!-- texpire --> <P>Anche lo scambio delle news viene fatto dall'utente <CODE>news</CODE> con il seguente comando (assumendo che PPP è attivo): <P> <BLOCKQUOTE><CODE> <PRE> /usr/local/sbin/fetch </PRE> </CODE></BLOCKQUOTE> <!-- fetch --> <P>Quelli che desiderano leggere le news dovrebbero seguire la ricetta descritta in <I>Come faccio a configurare un newsreader online?</I>, eccetto che nella configurazione del server delle news si deve definire localmente, cioè: <P> <BLOCKQUOTE><CODE> <PRE> export NNTPSERVER=localhost </PRE> </CODE></BLOCKQUOTE> <P>Questo sarebbe tutto quanto serve. Il primo <CODE>fetch</CODE> trasferirà l'elenco dei newsgroup disponibili. In seguito, <CODE>leafnode</CODE> prenderà nota dei gruppi che vengono richiesti dagli utenti, e si adatterà a questo la volta <B>successiva</B> che viene attivato. <P>Si rende noto che <CODE>leafnode</CODE> ha qualche problema laddove sono richieste particolari autorizzazioni per NNTP. <P><B>ALTERNATIVA:</B> Al posto di leafnode potete usare nntpcache, disponibile da <A HREF="ftp://ftp.suburbia.net/pub/nntpcache/nntpcache.tgz">ftp://ftp.suburbia.net/pub/nntpcache/nntpcache.tgz</A>. <P><B>ALTERNATIVA:</B> Un'altra alternativa è usare il newsreader <!-- slrn --> slrn insieme al pacchetto <!-- slrn- pull --> slrn-pull. Il newsreader va compilato abilitando l'opzione <CODE>spool</CODE>. <P> <HR> <A HREF="ISP-Hookup-HOWTO-6.html">Avanti</A> <A HREF="ISP-Hookup-HOWTO-4.html">Indietro</A> <A HREF="ISP-Hookup-HOWTO.html#toc5">Indice</A> </BODY> </HTML>