1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
|
_ ___ _ _
/ |/ _ \ ___| |_ ___ _ __ ___ | |_ ___
| | (_) | / __| __/ _ \ '_ \/ __| | __/ _ \
| |\__, | \__ \ || __/ |_) \__ \ | || (_) |
|_| /_/ |___/\__\___| .__/|___/ \__\___/
|_|
_ _ _
_ _ ___ ___ _ __ ___| |_ _ __ (_)_ ____ ____ _ _ __ __ _| |
| | | / __|/ _ \ '_ \ / _ \ __| | '_ \| | '__\ \ / / _` | '_ \ / _` | |
| |_| \__ \ __/ | | | __/ |_ | | | | | | \ V / (_| | | | | (_| |_|
\__,_|___/\___|_| |_|\___|\__| |_| |_|_|_| \_/ \__,_|_| |_|\__,_(_)
1. type ./configure or sh configure. Consider creating a
"nntpcache" user id/group id prior to ./configure as the configure
script will hunt down which uid/gid nntpcache is to run under
from likely candidates in /etc/passwd and /etc/group.
2. Edit the file cf/nnconf.cf. These are the compile time variable
definitions, all of which can and should be changed at runtime
from the config file (nntpcache.config) - although the point in
changing the configFile variable at runtime is of obvious, and
dubious utility ;)
In particular, direct your attention to the overviewFmtInternal
specification, which should be changed to that of your most
frequently used NNTP upstream server. It is by default set to that
used by most INN installations.
Note that if you run ./configure again, your cf/nnconf.cf will
be regenerated from cf/nnconf.cf.in, so you may want to edit
the latter instead if you plan on hacking the source code
with some regularity.
Examine cf/nconf.h. You shouldn't need to change anything except
perhaps MAXCHILDREN (defaults to support for upto 256 concurrent
clients, but you may want to increase this value if you expect to
serve starving hoards).
3. type 'gmake' (or whatever it is you need to run gnumake -- under
linux, 'make' *is* gnumake). If you don't have gnumake, you can
find it at your local GNU mirror site. (listed as "make"). There
is a copy at ftp.nntpcache.org/pub/nntpache, however there's
almost certainly a less overloaded GNU archive site somwhere
in your network neighbourhood.
4. Hopefully it will compile okay. If it doesn't, either defile the
source and send in a patch or describe the problem to the nntpcahe
users' mailinglist (nntpcache-users@nntpcache.org). Then we will
try and hack in support for your god damned standards breaking
system configuration!
5. (as root) run 'make install'.
6. Copy the files "nntpcache.config-dist", "nntpache.servers-dist",
"nntpcache.access-dist", "innreport.conf-dist" and
"pgpring.pgp-dist" (by default strategically placed in
"/usr/local/etc/nntpcache/", or "/usr/pkg/etc" -- wherever
$(sysconfdir) resides) to files of the same name minus the "-dist"
and modify according to your news network topology. If you are
wondering why these are installed as "-dist" at all, it's so you
don't wipe out your local configuration if you re-install or
upgrade to the latest releace.
7. Check that the cache directory (probably /usr/local/var/nntpcache/)
was created correctly and that the partition in which it resides
is has plenty of room. The cache directory should be owned by one
of user/group {nntpcache,news,daemon,adm} and have mode 700
(rwx--------) (although you can make this less restrictive if you
desire).
8. (as root) start up the nntpcache daemon.
'nntpcached'
The daemon will try and bind to port 119 (default NNTP port,
unless you specify a different port with -b or in the config
file), so it must be run as root. That said, as soon as
nntpcached has bound the port it drops ALL root privileges and
runs as news.news (or whatever you defined in the config file - is
this phrase familiar yet ?;)). It will immediately listen for
NNTP & HTTP connections, seek out and collate the newsgroups,
active and active.times and overview.fmt files from all configured
nntp servers. NNTP requests that occurr during this initial collation
phase will be intentionally held off. This initial phase can
take a while!
9. Start up a web-browser (that supports tables) and point it at
the nntpcached http port i.e http://localhost:9119/ -- unless you
changed the definition in nntpcache.config. Examine syslog. If you
have *.debug turned on in your syslog.conf then you should notice
a large volume of reports.
10. telnet to localhost 119. You should get a response like this:
200 my.sexy.net NNTPcache server V2.2b2 Jan 14 1998 ready (posting ok).
If instead you get something like:
502 You are in the access file.
Then you haven't written 'nntpache.access' correctly.
11. try entering into a group:
group comp.test
12. try obtaining some xovers:
xover 33-34 (you will need to replace the numbers with an appropriate
article number as specified in the response given
to the group command)
13. try fetching an article:
article 33
14. try fetching part of the active file
list active news.*
15. Quit the telnet session. Check newscache directory. You should see
something like this:
$ ls -FCsa /var/spool/newscache/
total 3650
6 ./ 1 cache.history.dir 1 localhost:120/
1 ../ 31 cache.history.pag 3 nntp.world.net./
2 cache.history 3604 cache.mmap 1 nntpcache.stats
16. Quit telnet. Check syslog. Start up a full-blown news-reader and see
if you can make it break. Make sure caching is working correctly, by
fetching the same articles twice (check the headers). Make sure that
multiple servers have been chosen correctly by flipping between
appropriate groups.
17. Add a call to your rc files to start up nntpcached, or to your
inittab. You will need to use the "-n" (no detach) flag for inittab.
If you have perl5, consider writing a crontab entry to feed your
news syslog files into innreport.sh. This will generate additional
statistics.
18. subscribe to the nntpcache-users mailing-list
(nntpcache-users-request@suburbia.net) and chew the fat with your
godly brethren.
19. If you find yourself suffering, nntpcache performs extensive
logging by default at syslog level debug. (you may need to modify
/etc/syslog*.conf to see it). You can also force nntpcache to produce
truely horrible amounts of dugging information with kill -INT
|