If you decided to use INN instead of cnews you can skip this chapter.
I'll refer here to the path-conventions which are used by the cnews of
Slackware 2.1: /var/lib/news
for configurationfile, logfiles
and statusfiles and /usr/lib/newsbin
for the cnews-binaries.
In other distributions everything will be placed either in
/usr/lib/news
and /usr/lib/news/bin
or in
/usr/local/lib/news
and /usr/local/lib/news/bin
.
I'll list up here the most important configuration-files:
First the sys
-file, which contains where the newsgroups are
exported to:
# /var/lib/news/sys # # Attention: do not insert non-necessary blanks, this could cause # problems. # # ME: defines, which newsgroups you have on your own system. # You could write "all", but then you risk to automatically create # hierarchies (when having also an uucp-feed) you dont want to # have. ME:alt,comp,news,gnu,de,rec,fido,ger,spinnaker,junk # FidoGate (all FTN-nets, which are served via FidoGate): # fido.*, ger.*, de.*, comp.*, rec.*, alt.*, gnu.* fidogate/flokiste.fido.de:\ fido,de,comp,rec,alt,gnu/all:Lf:
/var/spool/news/out.going/fidogate
.
The owner of this should be news.news
and it should have the
permissions 775
.
Now we have to define how the news via FidoGate will be processed:
# /var/lib/news/batchparms # # site size queue builder muncher sender # ---- ---- ----- ------- ------- ------ /default/ 100000 20 batcher compcun viauux # fidogate 250000 200 batcher nocomp viafido
viafido
is used for the transport via
FidoGate. Furthermore the maximal packet-size is set to 250K. If you
have not much free space on your HD you may decrease the "size
" (for
the above you need at least 10MB of free space on /tmp
), but
this results in smaller .pkt
-files.
Newer versions of cnews have a different format for this file:
fidogate u 250000 200 batcher | nocomp | viafido
The file /usr/lib/newsbin/batch/nocomp
seems to be missing in
Slackware 3.0, but you can create with:
#!/bin/sh # /usr/lib/newsbin/batch/nocomp # exec cat $*
The file viafido
doesn't exist, you have to create it:
#! /bin/sh # /usr/lib/newsbin/batch/viafido # # Submit news batch to FIDOGATE's rfc2ftn -w. # # The 'exec' cuts down the number of processes active for this simple case. exec /usr/local/lib/fidogate/rfc2ftn -w Normal -b -n
# /var/lib/news/explist # # The history sould be kept 30 days. Articles older than 30 days, # reaching us are not inserted to the newssystem but simply deleted. /expired/ x 30 - # Articels are kept minimal 3 days and maximal 90 days /bounds/ x 3-5-90 - # The following list is searched from top to bottom. junk x 7 - fido.junk x 7 - control x 7 - de.newusers.questions x 8 - de.newusers x 90 - de x 14 - comp.os.linux.announce x 90 - comp.os.linux x 8 - fido.2450 x 27 - fido.r24 x 10 - fido.ger.linux x 18 - fido.ger x 14 - # default: 9 days (everything not matched above should be kept 9 days) all x 9 -
For this I use some cron-jobs. This is the crontab for the user news
:
# crontab.news # SHELL=/bin/sh MAILTO=news # # Crontab entries for news system # 15 * * * * /bin/date > /tmp/news_cron_ok # Before both polls the news are collected and exported to fido. # Additionaly the news are colleced and exported every hour. 27 8 * * * /usr/local/lib/fidogate/run-batch 27 20 * * * /usr/local/lib/fidogate/run-batch 13 * * * * /usr/local/lib/fidogate/run-batch # New articles should be inserted into the newssystem every 5 minutes */5 * * * * /usr/lib/newsbin/input/newsrun # Inspect the newssystem every evening 18 21 * * * /usr/lib/newsbin/maint/newsdaily # expire old articles every 12 hours. 24 8 * * * /usr/lib/newsbin/expire/doexpire 24 20 * * * /usr/lib/newsbin/expire/doexpire
run-batch
is a little shell-script, which at first calls
newsrun
and then sendbatches
:
#!/bin/sh # /usr/local/lib/fidogate/run-batch # # Call newsrun, sendbatches # /usr/lib/newsbin/input/newsrun /usr/lib/newsbin/batch/sendbatches
In Slackware 3.0 in every call of sendbatches
the UUCP-queue is
checked, where a error-message is given, as the system fidogate
doesn't exist as a UUCP-system. To avoid this message you have to edit
the script queuelen
like this:
#!/bin/sh # Find size of current queue of news outbound to $1. Taylor version. # =()<. ${NEWSCONFIG-@<NEWSCONFIG>@}>()= . ${NEWSCONFIG-/var/lib/news/config} PATH=$NEWSCTL/bin:$NEWSBIN:$NEWSPATH ; export PATH umask $NEWSUMASK if test "$1" = "fidogate" then echo -e "\t0" exit 0 else uustat -s $1 -c rnews | wc -l fi
Now we have to enter the newsgroups into the news system. To do this
job we use the program /usr/lib/newsbin/maint/addgroup
, which
takes the name of the newsgroup and the character y
as
parameters, e.g.
/usr/lib/newsbin/maint/addgroup fido.ger.linux yBy this the newsgroup
fido.ger.linux
(equals the fido-area
LINUX.GER
) is added. Do this for all your newsgroups. Then add
the newsgroups fido.junk
and junk
, which will contain
articles, which couldn't be sorted into another newsgroup. If
Fido-echomail belongs to an area, which isn't defined in
/usr/local/lib/fidogate/areas
, it will be stored in fido.junk.
If the area is defined in fidogate/areas
, but you forgot to
create the newsgroup with addgroup
, then the article is stored to
junk
. As the newsadmin should subscribe this group to find out
what groups are missing and to create them. To cancel articles you
need the newsgroup control
, which should be created with
addgroup
, too.
If there are problems with permissions a bug in relaynews
could
be the reason, as after an su
the old user-ID and group-ID are
used. The following patch should fix this problem:
--- org/relaynews.c Tue Mar 17 08:42:42 1992 +++ relaynews.c Sun Jan 30 13:48:34 1994 @@ -201,7 +201,7 @@ else newsuid = geteuid(), newsgid = getegid(); if (setgid(newsgid) < 0 || setuid(newsuid) < 0 || - getgid() != newsgid || getuid() != newsuid) { + getegid() != newsgid || geteuid() != newsuid) { if (getenv("NEWSPERMS") != 0) error("recursive loop setting ids", ""); /*