<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://studioware.com/wikislax/index.php?action=history&amp;feed=atom&amp;title=INN</id>
		<title>INN - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://studioware.com/wikislax/index.php?action=history&amp;feed=atom&amp;title=INN"/>
		<link rel="alternate" type="text/html" href="http://studioware.com/wikislax/index.php?title=INN&amp;action=history"/>
		<updated>2026-05-07T15:21:18Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.29.2</generator>

	<entry>
		<id>http://studioware.com/wikislax/index.php?title=INN&amp;diff=38&amp;oldid=prev</id>
		<title>Wikislax: Created page with &quot;{{RightTOC}}  == What is INN ? ==  [http://www.isc.org/software/inn/ INN] (InterNet News) is the leading Usenet news software, available from the [http://www.isc.org ISC] webs...&quot;</title>
		<link rel="alternate" type="text/html" href="http://studioware.com/wikislax/index.php?title=INN&amp;diff=38&amp;oldid=prev"/>
				<updated>2017-12-06T21:35:26Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{RightTOC}}  == What is INN ? ==  [http://www.isc.org/software/inn/ INN] (InterNet News) is the leading Usenet news software, available from the [http://www.isc.org ISC] webs...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{RightTOC}}&lt;br /&gt;
&lt;br /&gt;
== What is INN ? ==&lt;br /&gt;
&lt;br /&gt;
[http://www.isc.org/software/inn/ INN] (InterNet News) is the leading Usenet news software, available from the [http://www.isc.org ISC] website.&lt;br /&gt;
&lt;br /&gt;
The news articles received from peer servers on the Internet can also be viewed by clients using a newsreader such as slrn or Thunderbird. It is possible to read and to answer to articles.&lt;br /&gt;
&lt;br /&gt;
== Installing INN ==&lt;br /&gt;
&lt;br /&gt;
[http://www.isc.org/software/inn Download] and untar in /usr/local. Installation is described very well in the [http://www.eyrie.org/~eagle/software/inn/docs-2.5/ INSTALL] file also available from the isc website. INN runs as the news user. This user is present by default on Slackware, but the home directory must be changed to match INN's : '''/usr/local/news'''.&lt;br /&gt;
&lt;br /&gt;
 # usermod --home /usr/local/news news&lt;br /&gt;
 # tar -C /usr/local -xvf inn-x.y.z&lt;br /&gt;
 # cd /usr/local&lt;br /&gt;
 # chown -R root:root inn-x.y.z&lt;br /&gt;
 # cd inn-x.y.z&lt;br /&gt;
 # less INSTALL&lt;br /&gt;
 # ./configure --help | less&lt;br /&gt;
 # ./configure --prefix=/usr/local/news --libdir=/usr/local/news/lib64 --mandir=/usr/local/man \&lt;br /&gt;
 --with-sendmail --with-perl --with-python --with-berkeleydb --with-zlib --with-openssl --with-sasl&lt;br /&gt;
 # make&lt;br /&gt;
 # make install&lt;br /&gt;
 # make clean&lt;br /&gt;
&lt;br /&gt;
== Configuring INN ==&lt;br /&gt;
&lt;br /&gt;
INN runs as the news user, so login or su as news in order not to break the file permissions. There are &amp;lt;u&amp;gt;27 configuration files !&amp;lt;/u&amp;gt; but it's possible to work only with a small subset of files minimally modified. In addition the default configuration files provided with the software are very well written and commented, and man pages are available.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;inn.conf&amp;lt;/u&amp;gt; : main configuration file, to specify the host, path, and certificates. As INN is ran as '''news''', let us make a copy of the server private key hat will be readable only by this user :&lt;br /&gt;
&lt;br /&gt;
 # cd /etc/ssl/private&lt;br /&gt;
 # cp mtakey.pem.unsecure news.mtakey.pem.unsecure&lt;br /&gt;
 # chown &amp;lt;nowiki&amp;gt;news:news&amp;lt;/nowiki&amp;gt; news.mtakey.pem.unsecure&lt;br /&gt;
 # cd /usr/local/news/etc&lt;br /&gt;
 # vi inn.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;inn.conf&amp;lt;/u&amp;gt; : general options of the program. The line '''organization''' must be modified, replacing '''A poorly-installed InterNetNews site''' by your organization name. '''ovhmethod''' is the method used to store overview data. '''ovdb''' looks more efficient than the others so we've chosen that. '''artcutoff''' is the retention duration of the articles in number of days. It is not possible to feed your site with articles older than this value, that it can be interesting to increase as by default it is only 10 days. The '''pathhost''' must contain the site '''FQDN''', that must be resolvable (for instance present in the '''/etc/hosts''' file).&lt;br /&gt;
 &lt;br /&gt;
 mta:                    &amp;quot;/usr/sbin/sendmail -oi -oem %s&amp;quot;&lt;br /&gt;
 organization:           &amp;quot;studioware&amp;quot;&lt;br /&gt;
 pathhost:               inner.studioware.com&lt;br /&gt;
 pathnews:               /usr/local/news&lt;br /&gt;
 artcutoff:              366&lt;br /&gt;
 &lt;br /&gt;
 tlscafile:              /etc/ssl/certs/cacert.pem&lt;br /&gt;
 tlscapath:              /etc/ssl/certs&lt;br /&gt;
 tlscertfile:            /etc/ssl/certs/mtacert.pem&lt;br /&gt;
 tlskeyfile:             /etc/ssl/private/'''news.'''mtakey.pem.unsecure&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;cycbuff.conf&amp;lt;/u&amp;gt; : configuration of cyclic buffers. Cyclic buffers are a more efficient version of the article storage mode, in a reduced number of files or in block peripherals.&lt;br /&gt;
&lt;br /&gt;
 cycbuff:ONE:/var/news/cycbuffs/one:512000&lt;br /&gt;
 cycbuff:TWO:/var/news/cycbuffs/two:512000&lt;br /&gt;
 metacycbuff:ONETWO:ONE,TWO&lt;br /&gt;
&lt;br /&gt;
Create the files using :&lt;br /&gt;
&lt;br /&gt;
 # mkdir -p /var/news/cycbuffs&lt;br /&gt;
 # chown -R &amp;lt;nowiki&amp;gt;news:news&amp;lt;/nowiki&amp;gt; /var/news&lt;br /&gt;
 # chmod -R 750 /var/news&lt;br /&gt;
 # usermod -s /usr/bin/bash news&lt;br /&gt;
 # usermod -d /usr/local/news news&lt;br /&gt;
 # su news&lt;br /&gt;
 $ dd if=/dev/zero of=/var/news/cycbuffs/one bs=1K count=512000&lt;br /&gt;
 $ dd if=/dev/zero of=/var/news/cycbuffs/two bs=1K count=512000&lt;br /&gt;
 $ chmod 640 /var/news/cycbuffs/*&lt;br /&gt;
 &amp;lt;ctrl&amp;gt;d&lt;br /&gt;
 #&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;expire.ctl&amp;lt;/u&amp;gt; : expiration of articles. '''remember''' indicates the period during which the message headers will be kept after body elimination. This is to avoid re-taking the articles if offered again. Other options do not apply when using cyclic buffers. In this case expiration is on a first in first out basis.&lt;br /&gt;
&lt;br /&gt;
 /remember/:366&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;incoming.conf&amp;lt;/u&amp;gt; : this file affords defining the sites with which you have agreements and that feed you in fresh news. As there are probably none, you do not need to modify it. How are you going to feed your site then ? Using an external feeding software '''sucknews''', which presents itself to your Internet Service Provider like a simple news reader. '''sucknews''' is described in detail further on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;newsfeeds&amp;lt;/u&amp;gt; : list the newsfeeds that you are going to manage. A file with the name specified will be created in '''/usr/local/news/spool/outgoing''' and will contain one line per article to post. In the following example, all the groups except '''control''' and '''junk''' will be posted.&lt;br /&gt;
&lt;br /&gt;
 free\&lt;br /&gt;
     :*,!junk,!control*\&lt;br /&gt;
     :Tf,Wnm:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;readers.conf&amp;lt;/u&amp;gt; : list of access authorizations. For a general access, except to the control groups :&lt;br /&gt;
&lt;br /&gt;
 auth &amp;quot;theworld&amp;quot; {&lt;br /&gt;
     hosts: *&lt;br /&gt;
     default: &amp;quot;&amp;lt;theworld&amp;gt;&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 access &amp;quot;theworld&amp;quot; {&lt;br /&gt;
     users: &amp;quot;&amp;lt;theworld&amp;gt;&amp;quot;&lt;br /&gt;
     newsgroups: &amp;quot;*,!control*,!junk&amp;quot;&lt;br /&gt;
     access: RPA&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;storage.conf&amp;lt;/u&amp;gt; : general options for articles storage. In the example, cnfs corresponds to the cyclic buffers :&lt;br /&gt;
&lt;br /&gt;
 method cnfs {&lt;br /&gt;
     newsgroups: *&lt;br /&gt;
     class: 2&lt;br /&gt;
     options: ONETWO&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Next step is to initialize the history database :&lt;br /&gt;
&lt;br /&gt;
 # su news&lt;br /&gt;
 $ cd /usr/local/news&lt;br /&gt;
 $ bin/makedbz -i -s 100000 -o&lt;br /&gt;
 &amp;lt;ctrl&amp;gt;d&lt;br /&gt;
&lt;br /&gt;
'''INN''' sends maintenance mails to the '''news''' user, so we need to create the person in OpenLDAP and the mailbox in Cyrus-IMAP  :&lt;br /&gt;
&lt;br /&gt;
 # cd /usr/local/etc/openldap&lt;br /&gt;
 # vi news.ldif&lt;br /&gt;
 i&lt;br /&gt;
 dn: cn=news,dc='''domain''',dc=com&lt;br /&gt;
 objectclass: person&lt;br /&gt;
 cn: news&lt;br /&gt;
 sn: news&lt;br /&gt;
 userPassword: myPassword&lt;br /&gt;
 :x&lt;br /&gt;
 # ldapadd -x -D &amp;quot;cn=Manager,dc=studioware,dc=com&amp;quot; -W -f news.ldif&lt;br /&gt;
 # cyradm --user postmaster --auth plain localhost&lt;br /&gt;
 Password: &lt;br /&gt;
 localhost&amp;gt; cm user.news&lt;br /&gt;
 localhost&amp;gt; cm user.news.Drafts&lt;br /&gt;
 localhost&amp;gt; cm user.news.Junk&lt;br /&gt;
 localhost&amp;gt; cm user.news.Sent&lt;br /&gt;
 localhost&amp;gt; cm user.news.Trash&lt;br /&gt;
 localhost&amp;gt; sq user.news 307200&lt;br /&gt;
 quota:307200&lt;br /&gt;
 localhost&amp;gt; quit&lt;br /&gt;
&lt;br /&gt;
'''INN''' executes the daily script '''news.daily''', which writes its report in file '''news.daily''', then addressed to the '''news''' user.  Execution of '''news.daily''' must be configured in the news '''crontab'''. Here is an example for a daily execution at 13:30 :&lt;br /&gt;
&lt;br /&gt;
 # su news&lt;br /&gt;
 $ crontab -e&lt;br /&gt;
 # MIN HOUR DAY MONTH DAYOFWEEK COMMAND&lt;br /&gt;
 # 00 13 * * * /usr/local/news/bin/suck.sh&lt;br /&gt;
 30 13 * * * /usr/local/news/bin/news.daily expireover lowmark&lt;br /&gt;
&lt;br /&gt;
Add usenet user '''to /etc/mail/aliases''' and run '''newaliases''' :&lt;br /&gt;
&lt;br /&gt;
 # redirect news&lt;br /&gt;
 usenet:         news&lt;br /&gt;
 &lt;br /&gt;
 # newaliases&lt;br /&gt;
 /etc/mail/aliases: 16 aliases, longest 10 bytes, 172 bytes total&lt;br /&gt;
&lt;br /&gt;
INN should now be ready to work.&lt;br /&gt;
&lt;br /&gt;
== Running INN ==&lt;br /&gt;
&lt;br /&gt;
To start INN automatically at system startup add these lines to the /etc/rc.d/rc.local file :&lt;br /&gt;
&lt;br /&gt;
 # start inn&lt;br /&gt;
 if [ -x /usr/local/news/bin/rc.news ]; then&lt;br /&gt;
         echo &amp;quot;Starting inn: sudo -u news /usr/local/news/bin/rc.news start&amp;quot;&lt;br /&gt;
         sudo -u news /usr/local/news/bin/rc.news start&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
To stop INN automatically at system shutdown add these lines to the /etc/rc.d/rc.local_shutdown file :&lt;br /&gt;
&lt;br /&gt;
 # stop inn&lt;br /&gt;
 if [ -x /usr/local/news/bin/rc.news ]; then&lt;br /&gt;
         echo &amp;quot;Stopping inn: sudo -u news /usr/local/news/bin/rc.news stop&amp;quot;&lt;br /&gt;
         sudo -u news /usr/local/news/bin/rc.news stop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
== Getting Articles ==&lt;br /&gt;
&lt;br /&gt;
The list of Newsgroups to relay can be defined by editing the '''db/active''' file manually (innd must be stopped) or using '''ctlinnd'''. The definitions take no wildcard, meaning that the Newsgroups must be entered one by one. The ISC maintain a [ftp://ftp.isc.org/pub/usenet/CONFIG list].&lt;br /&gt;
&lt;br /&gt;
 # sudo -u news /usr/local/news/bin/rc.news start&lt;br /&gt;
 Starting innd.&lt;br /&gt;
 Scheduled start of /usr/local/news/bin/innwatch.&lt;br /&gt;
 # /usr/local/news/bin/ctlinnd newgroup alt.os.linux.slackware y jpmenicucci@studioware.com&lt;br /&gt;
 Ok&lt;br /&gt;
&lt;br /&gt;
But as no news peer has been defined in our configuration INN will not get articles for these newsgroups. So we'll have to get them from our Internet Service Provider in an other way, using as alternative the [[sucknews]] software. That's the object of next page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pFoot|[[RoundCube]]|[[Main Page]]|[[Sucknews]]}}&lt;/div&gt;</summary>
		<author><name>Wikislax</name></author>	</entry>

	</feed>