Configuring a Linux Newsgroup (NNTP) Server

Configuring Storage for NewsGroups

In order to accept connections and postings for newsgroups you need to configure storage for them. Inn supports a number of storage formats depending on your needs. These include Traditional Spools, Time-Hash Spools, Time-Hashed Buffered Spools, and Cyclic Buffer Spools. The list below illustrates the differences between these four methods of storage.

Traditional Spool: Postings are stored in the spool directory based on the article number and newsgroup. This requires little configuraiton but is not practicle on a large news server due to the limits on the number of individual directory entries imposed by a file system.

Time-Hashed Spool: Postings are stored in directories that are based on a hash of the arrival time. This requies a little configuraiton, but does not encounter the limitations of the traditional spool.

Time-Hashed Buffered Spool: Uses a time-hash method, but stores multiple articles in a single file to make better use of disk space. A little slower than standard time-hash.

Cyclic Buffer Spool: Uses a circular logging mechanisim to write articles to a fixes amount of disk space. Once the buffer file become full older articles are overwritten to make reclaim disk space.

Storage is configured in the /usr/local/news/etc/storage.conf file. This file is written in C++ syntax, but is fairly simple to edit. Storage rules are implemented as methods in the file, and the simplest way to enable a storage method is to uncomment the entries for that method. Each method contains a filter that identifies the newsgroups that this method applies to. The default values are configured to enable the chosen method with liberal limitations on the size of articles. Be sure to restart inn after you edit this file.

News articles are stored in the directory specified in the [patharticles] parameter in the inn.conf file. You should ensure that this directory is on a different partition. In my case, this directory was stored on the mirrored drive mounted in /news.