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", "");
/*