Introduction to Leafnode

Leafnode is an NNTP server designed for small sites to provide a local USENET spool.

Package information

Leafnode dependencies


PCRE-5.0 and tcpwrappers-7.6


xinetd-2.3.13 and Fcron-

Installation of Leafnode

Create the group and user news, if not present:

groupadd news &&
useradd -c "Leafnode News Server" -d /var/spool/news -g news news

Install Leafnode by running the following commands:

./configure --prefix=/usr \
    --localstatedir=/var --sysconfdir=/etc/leafnode \
    --with-lockfile=/var/lock/leafnode/fetchnews.lck &&

Now, as the root user:

make install

Installation command explanations

--localstatedir=/var: Change the default spool directory of /usr/var.

--sysconfdir=/etc/leafnode: Leafnode reads its configuration data from a file called config which will be created in /etc/leafnode to avoid any potential conflict with other packages.

make update: Run this command if you are upgrading from a very old version of Leafnode.

Configuring Leafnode

Config files

/etc/leafnode/config, /etc/nntpserver, /etc/xinetd.conf or /etc/inetd.conf and /etc/sysconfig/createfiles

Configuration commands

The /etc/leafnode/config file must be edited to reflect the name of the upstream NNTP provider. Copy the example configuration file to /etc/leafnode/config and save the original for reference:

cp /etc/leafnode/config.example /etc/leafnode/config

Change the

server = 

entry to reflect your news provider.

The /etc/nntpserver file must contain to prevent news clients from reading news from the upstream feed. Create this file using the following command:

cat > /etc/nntpserver << "EOF"


The /etc/rc.d/init.d/cleanfs script, part of the LFS bootscript package, will remove the /var/lock/leafnode directory during the system boot sequence. Install the following line in the /etc/sysconfig/createfiles file to re-create the directory:

/var/lock/leafnode   dir   2775   news   news

Leafnode may be configured to use inetd by adding an entry to the /etc/inetd.conf file with the following command:

echo "nntp stream tcp nowait news /usr/sbin/tcpd /usr/sbin/leafnode" \
>> /etc/inetd.conf

Issue a killall -HUP inetd to reread the changed inetd.conf file.

Alternatively, Leafnode may be configured to use xinetd by adding an entry to the /etc/xinetd.conf file with the following command:

cat >> /etc/xinetd.conf << "EOF"
        service nntp
           flags           = NAMEINARGS NOLIBWRAP
           socket_type     = stream
           protocol        = tcp
           wait            = no
           user            = news
           server          = /usr/sbin/tcpd
           server_args     = /usr/sbin/leafnode
           instances       = 7
           per_source      = 3

Issue a killall -HUP xinetd to reread the changed xinetd.conf file.

Add entries to the root or news user's crontab to run the fetchnews and texpire commands at the desired time intervals.


Installed Programs: applyfilter, checkgroups, fetchnews, leafnode, leafnode-version, newsq and texpire
Installed Libraries: None
Installed Directories: /etc/leafnode, /var/lock/leafnode and /var/spool/news

Short Descriptions


filters newsgroup articles according to regular expressions.


inserts newsgroup titles into the newsgroup database.


sends posted articles to and retrieves new articles from an upstream news server.


is an NNTP server daemon.


prints the Leafnode version.


shows articles waiting to be sent upstream.


expires old articles and unread groups.

Last updated on 2005-02-25 16:51:59 -0700