home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / news / misc / 2087 < prev    next >
Encoding:
Internet Message Format  |  1992-12-30  |  34.2 KB

  1. Path: sparky!uunet!news.mentorg.com!sdl!not-for-mail
  2. From: tal@Warren.MENTORG.COM (Tom Limoncelli)
  3. Newsgroups: news.misc
  4. Subject: Re: inn faq
  5. Date: 30 Dec 1992 00:33:58 -0500
  6. Organization: Mentor Graphics -- IC Group
  7. Lines: 816
  8. Message-ID: <1hrcc6INNqbn@titantic.Warren.MENTORG.COM>
  9. References: <DLA.92Dec28151416@se05.wg2.waii.com> <1992Dec29.213448.26019@osf.org>
  10. NNTP-Posting-Host: titantic.warren.mentorg.com
  11.  
  12. In <1992Dec29.213448.26019@osf.org> rsalz@osf.org (Rich Salz) writes:
  13.  
  14. >In <DLA.92Dec28151416@se05.wg2.waii.com> dla@se05.wg2.waii.com (Doug Acker) writes:
  15. >>Does one exist?
  16. >The best place to ask INN questions is
  17. >news.software.nntp,news.software.b.
  18.  
  19. >Tom Limoncelli <tal@warren.mentorg.com> has an excellent faq/tutorial on
  20. >configuring an INN system.  Someone else (name withheld) is starting a
  21. >news.software.b faq, which includes various INN Q&A.
  22.  
  23. >I have a handful of INN Q&A that I've posted once or twice.  I will email
  24. >it to you.  I have sent it to both Tom and "the other person" requesting
  25. >that one of them take over my list.
  26. >    /r$
  27.  
  28. The best suggestion that I have gotten so far is that the "tutorial"
  29. section should be packaged with the distribution and the "added
  30. questions" parts should be extracted and put into the FAQ that someone
  31. else is maintaining.
  32.  
  33. The rationale for this is that you need the tutorial when you're
  34. installing the system (since you won't have INN running to get the
  35. FAQ!).  The FAQ should be stuff that you might need to know later.
  36.  
  37. In the past Rich has been reluctant to include the tutorial with the
  38. INN distribution.  Rich, have you changed your mind?
  39.  
  40. Tom
  41.  
  42. P.S.  This is the latest draft.  I have yet to integrated some
  43. suggested changes from Rich.
  44.  
  45. ------------------------------
  46.  
  47.  
  48. Subject: The Unofficial INN CONFIGURATION FAQ
  49. From: tal@warren.mentorg.com (Tom Limoncelli)
  50.  
  51. The Unofficial INN CONFIGURATION FAQ
  52. ------------------------------------
  53. by Tom Limoncelli, with additions by many, many others.
  54.  
  55. (Copyright 1992 Tom Limoncelli, this may be redistributed in whole and
  56. only on electronic networks.  Otherwise, contact the author.
  57. Publishers and movie agents should contact me as soon as possible.  I'd
  58. prefer it if Tom Cruise plays me in the movie, but if he isn't
  59. available we can negotiate.)
  60.  
  61.  
  62. Table Of Contents:
  63.  
  64.                        GENERAL OVERVIEW OF INN
  65. Subject:  Should I read the install.ms file in it's entirety before
  66. Subject:  How does it all fit together?
  67. Subject:  Terminology used in the rest of this document.
  68. Subject:  What should I monitor as I debug INN problems.
  69.                     CONFIGURATION DEBUGGING GUIDE
  70. Subject:  Connecting to a TCP/IP server.
  71. Subject:  My innd won't start!
  72. Subject:  Make sure that "feeders" can connect.
  73. Subject:  Make sure that "readers" can connect.
  74. Subject:  Make sure that clients can post.
  75. Subject:  "client" doesn't have the software needed to post.
  76. Subject:  Debugging the "newsfeeds" file.
  77. Subject:  The ME line in the newsfeeds file.
  78. Subject:  Cookbook example of an outgoing NNTP feed:
  79. Subject:  Cookbook example of an outgoing UUCP feed:
  80. Subject:  Testing a "newsfeeds" configuration.
  81.                              MISC ISSUES
  82. Subject:  Can I edit my configuration files where they are, or do
  83. Subject:  What does this mean:  ME cant nonblock 15 Operation not supported.
  84. Subject:  Suddenly my active and history files are owned by root!
  85. Subject:  What can I do if I can't purchase the O'Reiley And Associates book
  86. Subject:  Getting an active file.
  87. Subject:  How do I use nntplink?
  88. Subject:  Other cron jobs.
  89. Subject:  After a crash.
  90. Subject:  Debugging someone that is feeding you.
  91.  
  92. NOTE:  Read this document through from beginning to end after
  93. you first install INN.  Later, use it for reference if problems
  94. come up.
  95.  
  96. ======================================================================
  97.                        GENERAL OVERVIEW OF INN
  98. ======================================================================
  99.  
  100. Subject:  Should I read the install.ms file in it's entirety before
  101. reading this document?
  102.  
  103. YES!  Install.ms tells you how to compile and install the software.
  104. This document walks you through debugging the *configuration* of the
  105. software once it is installed.
  106.  
  107. This document takes you from where install.ms leaves off, gives you a
  108. quick overview of how all the pieces fit together, and then takes you
  109. through specific debugging tasks.
  110.  
  111. Debugging INN problems is often difficult because one needs to be an
  112. experienced netnews person to do it well.  You can only get experience
  113. by having a properly running system.  This is a catch-22.  This
  114. tutorial attempts to take you through the basics.  The rest you'll
  115. figure out.
  116.  
  117. This document also takes you through the process of verifying that your
  118. system is properly configured.  When you are done, you should:
  119.  
  120. 1.  be sure that when feeders connect they are treated as feeders.
  121.  
  122. 2.  be sure that when clients connect they are treated as clients.
  123.  
  124. 3.  be sure that posting works.
  125.  
  126. 4.  be sure that your out-bound feeds are properly configured.
  127.  
  128. ======================================================================
  129.  
  130. Subject:  How does it all fit together?
  131.  
  132. Here is a fantastic overview of the workings of INN.
  133.  
  134. From: Ken Hornstein <kenh@leps5.phys.psu.edu>
  135.  
  136. I discovered that the biggest problem I had with INN was understanding how
  137. everything fits together (since I had no experience with B or C news).
  138. Here's a (hopefully) simple description of how everything fits
  139. together:
  140.  
  141. After running rc.news, you should have the "innd" daemon running.  This
  142. is the Master Daemon.  It handles incoming connections, stores the
  143. articles on your disk, but does _not_ send any articles out itself.  It
  144. directs other programs to do that.  Exactly where articles are sent and
  145. how they are sent is determined by the "newsfeeds" file.  Setting up
  146. your newsfeeds file will be the hardest part of configuring INN.  Here
  147. are some example entries from my newsfeeds file:
  148.  
  149. ra/ra.nrl.navy.mil\
  150.         :*,!psu.*/!psu\
  151.         :Tf,Wnm:
  152.  
  153. Looks complicated?  It isn't.  Here's what it means:
  154.  
  155. "ra" is the name of the feed.  "/ra.nrl.navy.mil" is an alias for ra.
  156. This is important because INN uses the "Path" header to insure the
  157. articles are not sent to sites where they have already been.  Thus, any
  158. article that has "ra" or "ra.nrl.navy.mil" in the Path header will NOT
  159. be sent to this site.
  160.  
  161. The second line tells what articles will be sent to this site.
  162. "*,!psu.*" means that all articles that are not in psu.* will be sent
  163. to ra.  The details of the pattern matching is found in the wildmat(3)
  164. man page.  The "/!psu" means that articles with a "Distribution" header
  165. of psu will also not be sent to ra.
  166.  
  167. The last field specifies exactly what _kind_ of feeds.  "Tf" means this
  168. is a file feed.  Unless you have unusual requirements, all of your
  169. feeds will be file feeds.  "Wnm" means that the relative path name and
  170. the Message-ID of the article will be written to this file.  By
  171. default, this file is called the same name as your feed file, and is in
  172. your out.going directory.  So on my system, every article destined to
  173. ra will have it's filename and Message-ID written to the file
  174. "/var/spool/news/out.going/ra".
  175.  
  176. So how do the articles actually GET to ra?  You run a program that
  177. reads the feeds file and transmits the article.  Two such programs are
  178. included with INN -- "send-nntp" and "nntpsend".  My personal
  179. preference is for nntpsend.  If you are going to use nntpsend, you will
  180. need to add a similar line to your nntpsend.ctl file:
  181.  
  182. ra:ra.nrl.navy.mil
  183.  
  184. This tells nntpsend that articles in the feed file "ra" should be sent
  185. to the site "ra.nrl.navy.mil".  I run nntpsend out of cron every 10
  186. minutes with this line (in /usr/lib/crontab):
  187.  
  188. 0,10,20,30,40,50 * * * * /bin/su news -c '/usr/local/news/bin/nntpsend'
  189.  
  190. This is under Ultrix.  A sane cron would let you specify the userid to
  191. run programs under.
  192.  
  193. UUCP feeds work similarly and are described in a different section.
  194.  
  195. As each article comes in (note that hosts feeding you _must_ be listed
  196. in the hosts.nntp file), innd will examine it and distribute to your
  197. listed feeds based on the above-described selection criteria.
  198.  
  199. One last important thing to do is to make sure your articles get
  200. expired.  This is done from the "news.daily" script.  The "expire.ctl"
  201. file describes how long you want each article to last.  Here are some
  202. sample lines from my expire.ctl:
  203.  
  204. /remember/:14
  205.  
  206. This line tells expire to keep history entries for articles 14 days
  207. after they have been deleted.
  208.  
  209. *:A:1:7:21
  210.  
  211. This is the default line.  This says that by default, an article is
  212. kept a minimum of one day, the default expiration time is 7 days (this
  213. applies if there is no "Expires" header), and the very maximum that the
  214. article is kept is 21 days.
  215.  
  216. psu.*:A:1:14:28
  217.  
  218. This line applies to groups only in Penn State.  By default, those
  219. articles will last 14 days, 28 days at the most.
  220.  
  221. Note that lines in expire.ctl should have the most general entries
  222. first, with the most specific entries last.
  223.  
  224. ======================================================================
  225.  
  226. Subject:  Terminology used in the rest of this document.
  227.  
  228. We will pretend that your machine is named "nntphost" or
  229. "nntphost.do.main" and that there is a client named "client" or
  230. "client.do.main".
  231.  
  232. Some machines connect to you to try to feed you new articles.  We'll
  233. call these machines "feeders".  Some machines try to connect to you to
  234. read and/or post articles.  We'll call these machines "readers".
  235.  
  236. ======================================================================
  237.  
  238. Subject:  What should I monitor as I debug INN problems.
  239.  
  240. 1.  run "tail -f /var/adm/messages" to see if any syslog messages are
  241. being generated.
  242.  
  243. 2.  run "tail -f /var/log/news/inn.err" to see if any fatal errors
  244. happen.
  245.  
  246. 3.  Check for incoming email constantly (especially when trying to post
  247. from "nn").
  248.  
  249. ======================================================================
  250.                     CONFIGURATION DEBUGGING GUIDE
  251. ======================================================================
  252.  
  253. Subject:  Connecting to a TCP/IP server.
  254.  
  255. You know that "telnet"'ing to a machine lets you log into it.  Many
  256. TCP/IP services allow you to "telnet" into their port and talk directly
  257. to them.  Try "telnet nntphost 21".  This means log into port #21 (the
  258. "ftp" port) instead of the usual remote login port.
  259.  
  260. Once you are in, you'll get no prompt.  Type "help" and press RETURN.
  261. You should get a list of commands.  If you know what the commands are,
  262. you can talk to this server.  Type "quit" and press RETURN to get out.
  263.  
  264. After every command you should get some kind of status message.  Each
  265. line will begin with a number.  Each message has a unique number.
  266. Errors are defined as anything that starts with a number >= 400.
  267.  
  268. SMTP (mail) and NNTP (netnews) work the same way.  Telnet into their
  269. port and issue commands and data.  "quit" always gets you out.
  270.  
  271. We'll use this to debug INN configurations by "telnet"'ing into the
  272. innd server and seeing the raw error messages it gives us.
  273.  
  274. Try "telnet"'ing into the NNTP port (#119) of a working NNTP server to
  275. see what it's like.
  276.  
  277. ======================================================================
  278.  
  279. Subject:  My innd won't start!
  280.  
  281. Keep a "tail -f /var/adm/messages" running.  INN reports most errors
  282. via syslog.  Chances are, INN is starting, finding a misconfigured
  283. "ME" line in the newsfeeds file, and exiting.  You might want to
  284. read the section on configuring your "newsfeeds" file first.
  285.  
  286. ======================================================================
  287.  
  288. Subject:  Make sure that "feeders" can connect.
  289.  
  290. "feeders" are listed in hosts.nntp.  "readers" are listed in
  291. nnrp.access.  This section deals with "feeders" and hosts.nntp.
  292.  
  293. When a machine connects to the NNTP port of nntphost, it connects to
  294. the innd process.  innd knows the internet address of the machine that
  295. is making this connection, and sees if it matches the internet
  296. addresses many of the machines listed in the hosts.nntp file.
  297.  
  298. If the machine is not listed in hosts.nntp, it is assumed that this
  299. machine is not a "feeder" and forks off a nnrpd to handle this
  300. connection as a "reader".  If you didn't know that, you didn't read
  301. enough of the INN installation documentation.  Go back and read it
  302. now.
  303.  
  304. Read the man page hosts.nntp to get a complete understanding of what's
  305. going on.  nnrpd uses it's own authentication scheme, which is
  306. described in the next section.
  307.  
  308. Since I know you didn't read that man page, I'll give you one more
  309. chance to read them now.
  310.  
  311. Let's configure hosts.nntp.  Just enter the names of all the machines
  312. that feed you:
  313.  
  314. feeder1.do.main:
  315. feeder2.do.main:
  316.  
  317. I don't use passwords yet.  If you do, add them after the ":".
  318.  
  319. Now let's test to see if the feeder can connect properly.
  320.  
  321. Log into to the feeder and "telnet nntphost 119".
  322.  
  323. If you can't log into a feeder, configure your own machine as a feeder
  324. (i.e. feeder to itself) for testing purposes.  Once you can see that
  325. INN is treating that machine as a feeder you can replace the machine's
  326. name with the name of a real feed.
  327.  
  328. If you are given an error message and booted out, check the error
  329. message to see what's wrong.  Maybe the machine is running maintenance
  330. at the time and you have to try again later.  Maybe the machine doesn't
  331. recognize you at all and you have to edit "hosts.nntp" (and don't
  332. forget the "ctlinnd reload" command!).
  333.  
  334. If your "history" file or other files have the wrong ownership or
  335. protections INN will mention the offending file in the error message.
  336. Another common mistake is that people try to use wildcards in
  337. hosts.nntp (which is not supported).  Remember, there are very few
  338. machines that you consider to be "feeders", so you don't want to use a
  339. wildcard.
  340.  
  341. To test a "feeder":  If "feeder1" can send an "ihave" command and get a
  342. "335" as a response, you know that "nntphost" is permitting "feeder1"
  343. to transfer news as a "feeder".  "ihave" requires an operand.  I
  344. usually type "ihave <1@test>" ("<1@test>" is a Message-ID that I know
  345. doesn't exist) and press RETURN.  If I get "500 What?" I know that innd
  346. assumed that I'm a "reader" (so I have to edit my "hosts.nntp" file and
  347. add this client).  If I get "335" and then a blank prompt, then INN is
  348. expecting to be fed an article.  I usually just "^]" (control-]) and
  349. "quit" out; I know that it was willing to accept the article.  If I get
  350. some other error message, it usually gives me enough information to
  351. debug the problem.
  352.  
  353. ======================================================================
  354.  
  355. Subject:  Make sure that "readers" can connect.
  356.  
  357. As I wrote before, if a connection comes from a machine that isn't
  358. listed in the hosts.nntp file, it is assumed to be a "reader".  A
  359. "feeder" can also issue the "mode reader" command to become a
  360. "reader".  If you have "telnet"'ed in as a "feeder", try issuing this
  361. command.
  362.  
  363. Note: If a site is going to feed *and* read, you'll have to link
  364. readers with innd's client library. The reason for this is that the
  365. clients must tell innd that they want to read using the "mode reader"
  366. command.  The library does that automagically.  It is rare that you
  367. have a machine that is a reader and a feeder (since people will want to
  368. read on their local machine, not yours.)  News readers are now
  369. being packaged as "INN ready" so this will be less and less of a
  370. problem.
  371.  
  372. Once the connection has been handed off to nnrpd, nnrpd checks to make
  373. sure you are authorized.  It does that by reading the nnrp.access
  374. file.
  375.  
  376. There is a problem with what you enter in that file.  Namely, I might
  377. call the client machine "client", but that doesn't matter.  What
  378. matters is what "nntphost" thinks "client" is called.  Maybe "nntphost"
  379. thinks its name is "client.do.main" or even "137.202.177.3".  It
  380. doesn't matter what *you* call "client", permissions in the nnrp.access
  381. file have to be specified based on what "nntphost" calls "client".
  382. Technically, nntpd uses gethostbyaddr() to reverse-lookup the name.
  383. gethostbyaddr() uses DNS or, if you are on a brain-dead Sun running
  384. Sun's brain-dead NIS/DNS hack, it uses NIS, or DNS, or whatever the
  385. hell Sun was thinking when they created that cruft.
  386.  
  387. To find out what "nntphost" thinks your machine is called, do the
  388. following:  log into "client".  From "client" telnet to "nntphost" and
  389. log in.  On "nntphost" give the "finger" command with no arguments.
  390. The last column is what "nntphost" thinks your machine is called.  If
  391. you don't have an account on both machines things are more difficult,
  392. consult your NIS or DNS expert to tell you what the answer should be.
  393.  
  394. So, with this knowledge and a copy of the man page, edit nnrp.access
  395. and add "nntphost"'s name for "client" to the file.  Only nntp.access
  396. can have wildcards (for example, "*.sjc.mentorg.com").  You'll want to
  397. include wildcards for all the domains that should be allowed to
  398. read/post.
  399.  
  400. Here are some decent examples from my nnrp.access file:
  401.  
  402. -------------------------------------- Tom's nnrp.access file START
  403. ## Default is no access, no way to authentication, and no groups.
  404. *:: -no- : -no- :!*
  405. *.mentorg.com:Read:::*
  406. *.mentor.com:Read:::*
  407. *.warren.mentorg.com:Read Post:::*
  408. # local (NIS) machines should match this:
  409. *[^.]*:Read Post:::*
  410. -------------------------------------- Tom's nnrp.access file END
  411.  
  412. The second field of "nntp.access" is case sensitive.  "read post" does
  413. not mean the same as "Read Post".  If you know this already it's
  414. because you read the man page.
  415.  
  416. It is difficult to write a wildcard for "all machine in your NIS/YP
  417. domain" since they aren't FQDN's.  A wildmat expression for "all
  418. clients without FQDN's" is "*[^.]*".  In other words, "all hosts
  419. without periods in their name."  (See above example.)
  420.  
  421. After you change either file you you have to inform innd about the
  422. change.  "ctlinnd reload '' ynot" will re-read in all configuration
  423. files.  I always re-read all files rather than just what has changed
  424. because it's shorter to type.
  425.  
  426. Now "nntphost" should be letting "client" read.  Let's test this out:
  427.  
  428. Log into to the reader and "telnet nntphost 119".
  429.  
  430. To test a "reader":  Give the "mode reader" command and see how it
  431. likes it.  If it doesn't give an error, then nnrp.access is letting you
  432. through.  To read an article (or just get the header) type "head
  433. <2@test>" and press RETURN.  Again, "<2@test>" is a message-id that I
  434. know doesn't exist.  If you are allowed to read at all, it will tell
  435. you that it can't find that article.  You might try the command with an
  436. message-id that you know exists.
  437.  
  438. You are done with that phase.  Now you should test to see if posting is
  439. permitted.  Skip ahead to the next section.
  440.  
  441. If "mode reader" gives an error (and rudely disconnects you) then you
  442. have a typo in nnrp.access OR you didn't issue the "ctlinnd reload"
  443. command correctly (or at all) OR nntphost thinks that "client" is
  444. called yet something else OR innd can't exec nnrpd for one reason or
  445. another -- see the syslog output or the innd.err log file.  Go to the
  446. beginning of this section and start over.
  447.  
  448. Note: Some telnet implementations are Real Stupid and disconnect you
  449. before showing the error message.
  450.  
  451. ======================================================================
  452.  
  453. Subject:  Make sure that clients can post.
  454.  
  455. The "inews" command (usually in /usr/local/bin) takes a post from a
  456. user, adds any missing headers, appends the first 4 lines of
  457. ~/.signature (if it exists), and possibly replaces any headers that are
  458. seriously forged.  "inews" will also reject a message if you really
  459. botch it.  "inews -h" expects a post on stdin beginning with headers,
  460. then a blank line, then the body.  "inews -h -D" doesn't post the
  461. message, but outputs what it would have posted.  The minimum headers
  462. one can feed is "Newsgroups:" (which is plural) and "Subject:" (which
  463. is singular).
  464.  
  465. By the way, after a header there is exactly one colon then exactly one
  466. space.  The space is a space, not a tab.  Also, the list of newsgroups
  467. on the "Newsgroups:" line is a comma separated list, with no spaces.
  468. There are no spaces before the colon.  If there is nothing after the
  469. colon or if there is only whitespace after the colon then that header
  470. will be removed by "inews".  Sites that don't remove such "empty"
  471. headers have broken software.  Get it?  Got it?  Good.
  472.  
  473. Here's the test message I constantly use:
  474. ------------------------ cut here 8<
  475. inews -h -D
  476. Newsgroups: foo.test
  477. Subject: test of inn posting
  478.  
  479. this is a test
  480. ------------------------ cut here 8<
  481.  
  482. Exciting huh?
  483.  
  484. If inews was able to get to the /usr/lib/news/inn.conf file (for
  485. defaults) you should get a nice post on your screen.  If you don't,
  486. here are my suggestions:
  487.  
  488. 1 -- You have an old inews from C news or B news laying around
  489. 2 -- inews will give you an error message saying what's wrong.
  490.  
  491. You might want to look around the usual places to make sure that there
  492. are no old versions of "relaynews" or "inews".  People trying to use
  493. the "inews" from C news will get a message about "can't open
  494. redirection" or similar.  Make sure they are running the programs
  495. included with INN.  There is something called "mini-inews" which should
  496. just take a post and send it to the nntp server.  Delete that and
  497. replace it with INN's inews.  INN's inews is mini-inews and regular
  498. inews, it is the ying and then yang of inewses.  It is the one inews to
  499. end all inewses and all others are false idols.
  500.  
  501. Other problems are usually the result of not being able to find the
  502. "inn.conf" file (copy it to the client or make it available via NFS) or
  503. you are using Sun's brain-dead NIS/DNS stuff which doesn't do reverse
  504. name lookups well.  If inews tells you that it can't generate a
  505. Message-ID, this is because it can't figure out your domain.  Force it
  506. to know your domain by adding a "domain:" line in "inn.conf".
  507.  
  508. Once you get "inews -h -D" working, do the same test without the "-D" option
  509. and let it actually post the message.  If it can't post, it will tell
  510. you why.  If the answer isn't clear enough, "telnet nntphost 119", give
  511. the "mode reader" command, then the "post" command.  Enter lines of
  512. text like you would to "inews -h" and then type "." on a line by itself
  513. (and press RETURN).  If innd accepts the post but "inews" doesn't, you
  514. have a seriously wrong "inews" program.
  515.  
  516. By the way, posting to misc.test is pretty useless considering that the
  517. entire world doesn't need to see your message.  Post to a local
  518. newsgroup or even a state-wide newsgroup like "nj.test" (assuming you
  519. are in New Jersey).  There are lots of people that reply to every test
  520. message they see, so expect to get tons of stupid email.  (though, if
  521. you don't get any email consider yourself lucky).  Also, there is no
  522. newsgroup called "news.test" so don't post there.  Many do, many fail.
  523. By the way, if you are one of those people that reply to every test
  524. message they see, get a real hobby.
  525.  
  526. Do *NOT* post your test message to a non-test newsgroup.  You will get
  527. many angry replies from all over the world.
  528.  
  529. Look at the posted message in the news spool (if you post a message to
  530. nj.test, "cd /var/spool/news/nj/test" and cat the highest numbered file
  531. you see).  If your site name is listed multiple times in the "Path:"
  532. header, put your server's name on the "pathhost:" line of
  533. "inn.conf" and recompile INN with "INEWS_PATH" set to
  534. "DONT".  (I don't know why that isn't the default!)
  535.  
  536. If "inews -h" posts a message, smile because most of the battle is over.
  537.  
  538. ======================================================================
  539.  
  540. Subject:  "client" doesn't have the software needed to post.
  541.  
  542. If the client doesn't have "inews" at all, check the INN installation
  543. manual to find out how to compile it.  There is a special gimick
  544. included with INN to compile inews for the various other OS's and
  545. versions of Unix without having to compile the entire INN package.
  546.  
  547. Since nnpost, Pnews, postnews, and all other news posting software
  548. shouldn't do anything but ask for header information, let you add a
  549. body, and then pipe the whole thing to "inews -h", you can be pretty
  550. certain that if "inews -h" works, your news posting programs will
  551. work.  Think again!  Post from each of them and make sure they all get
  552. posted.  You might find that they access a copy of "inews" that was
  553. part of C news, mini-inews, or heavens knows what.
  554.  
  555. I highly recommend that people use "find" or "gnufind" to seek
  556. out and replace any old versions of "inews".
  557.  
  558. gnufind / /usr /usr/local /usr/lib -xdev -name inews\* -print
  559.  
  560. For every one that you find, do the following:
  561.  
  562. mv inews inews.cnews
  563. ln -s /usr/local/bin/inews inews
  564.  
  565. Now you only have to update /usr/local/bin/inews, rather than
  566. chasing may copies.
  567.  
  568. "nn" and "nnpost" create a file called "~/.nn/params" right before you
  569. post with tons of useful information.  While posting you can shell out
  570. of the editor and view the file.  The file is deleted after the message
  571. is posted.  I had to view this file while shelled out of my editor to
  572. find which "inews" was being used by "nnpost".
  573.  
  574. It's also a good idea to check your mail now and then while you are
  575. doing this.  Some newsreaders (like "nn" notify you of a posting
  576. problem via mail.
  577.  
  578. On non-INN systems, "inews" returns pretty quickly.  Actually they fork
  579. a process to do the actual posting in the background.  When those
  580. "inews" return, you don't know if the post was successful or not.
  581. These "inews"'s have a "-W" option which turns off this forking feature
  582. (i.e. Wait for the post to complete).
  583.  
  584. INN's "inews" never forks because the wait is never that long.  When
  585. "inews" returns you know if the post was successful or not.  INN's
  586. "inews" accepts the "-W" option for compatibility.
  587.  
  588. This may seem obvious, but when posting a test message, consider
  589. including the machine you are posting from and the program you are
  590. using.  Even though you may check to see if the message got posted
  591. after every test, this will help you later when you go back to see what
  592. you have done.
  593.  
  594. ======================================================================
  595.  
  596. Subject:  Debugging the "newsfeeds" file.
  597.  
  598. Outgoing news is controlled by the "newsfeeds" file.  The INN 1.2 man
  599. page for this file is a bit complex.  The man page in 1.3 (and beyond)
  600. gives better examples.  Here's a "cookbook" of examples that should
  601. cover most of your needs.  Debugging tips are also included.
  602.  
  603. ======================================================================
  604.  
  605. Subject:  The ME line in the newsfeeds file.
  606.  
  607. The "ME" entry is a bit confusing.  Be careful when you
  608. read the man page.
  609.  
  610. Here is the "ME" line that I use in my "newsfeeds" file.  I find
  611. it works quite well, but you might want to remove the distributions
  612. that you don't need (i.e. New Jersey).  Since my site has clients
  613. reading from all over the world I try to have every distribution I
  614. can find.  However, I hear of a new distribution almost daily so this
  615. list is always changing.
  616.  
  617. ME:!*/\
  618. news,gnu,comp,biz,alt,rec,misc,sci,soc,talk,inet,world,worldwide,all,\
  619. aus,su,uk,york,eunet,na,can,qc,tor,us,usa,mn,oh,chi,ca,ba,tx,pnw,il,ne,\
  620. ny,nyc,phl,bl,nj,warren::
  621.  
  622. If you want to blindly accept all distributions, try this:
  623.  
  624. ME:!*::
  625.  
  626. ======================================================================
  627.  
  628. Subject:  Cookbook example of an outgoing NNTP feed:
  629.  
  630. This example involves a machine named oddball.mentorg.com, that has an
  631. alias of oddball.sjc.mentorg.com, which should receive all posts (but
  632. control & junk should never be passed on) and not certain
  633. distributions.  Add the following line to newsfeeds:
  634.  
  635. oddball.mentorg.com/oddball.sjc.mentorg.com:*,!control*,!junk/!local,!warren:Tf,Wnm:
  636.  
  637. Have the user "news" run the following via cron:
  638.  
  639. 3,23,43 * * * *  /usr/lib/news/bin/nntpsend >/dev/null 2>&1
  640.  
  641. (this only needs to be added once.  nntpsend refers to a file
  642. called nntpsend.ctl to find out what to do).
  643.  
  644. Add the following to nntpsend.ctl:
  645.  
  646. oddball.mentorg.com:oddball.mentorg.com::
  647.  
  648. Done!
  649.  
  650. ======================================================================
  651.  
  652. Subject:  Cookbook example of an outgoing UUCP feed:
  653.  
  654. Example:  A site named "plts" that can not get the "clari" newsgroups
  655. or distribution "warren".
  656.  
  657. Add the following to the newsfeeds file:
  658.  
  659. plts:*,!clari.*,!junk*,!control*/!warren:Tf,Wnb:
  660.  
  661. Add the following to the cron tab (as user "news"):
  662.  
  663. 0 0-5,16-23 * * 1-5       /usr/lib/news/bin/sendbatch -c plts >/dev/null 2>&1
  664. ======================================================================
  665.  
  666. Subject:  Testing a "newsfeeds" configuration.
  667.  
  668. Here is a decent game-plan for testing your newsfeeds configuration:
  669.  
  670. Suppose your site is in New Jersey and you have a distribution called
  671. "mentorg" which should be used by people that want to make sure that
  672. their post will not leave their company (Mentor Graphics).  You should
  673. do a test post to "nj.test" with no "Distribution:" header, and with
  674. "Distribution: nj" and "Distribution: mentorg".  After posting, do a
  675. "ctlinnd flush ''" and make sure that the /var/spool/news/out.going
  676. files for all your sites did/didn't queue up those three messages as
  677. appropriate.
  678.  
  679. IMPORTANT:  Remember to do a "ctlinnd reload '' x" command every time
  680. you update your "newsfeeds" file!
  681.  
  682. ======================================================================
  683.                              MISC ISSUES
  684. ======================================================================
  685.  
  686. Subject:  Can I edit my configuration files where they are, or do
  687. I have to edit them in $INN/site ?
  688.  
  689. Technically, you should edit those files in the $INN/site directory, but
  690. then typing "make" all the time becomes a grind.  I found that I was
  691. constantly forgetting to type "make" and then I couldn't figure out why
  692. my changes weren't doing anything.  The alternative is to edit things
  693. in place and let the install procedure complain.  It will error out on
  694. the file, and you can copy that file to $INN/site then "make" again.
  695.  
  696. ======================================================================
  697.  
  698. Subject:  What does this mean:  ME cant nonblock 15 Operation not supported.
  699.  
  700. I get the following "syslog" message in /var/adm/messages:
  701.  
  702. Dec  2 20:40:04 venus innd: ME cant nonblock 15 Operation not supported
  703.  
  704. Answer: (from paulr@umbc4.umbc.edu (Paul Riddle))
  705.  
  706. It turns out that this is happening because /usr/spool/news on the
  707. machine running innd is an NFS-mounted filesystem, and innd is trying
  708. to do an FIONBIO on my feed file, which is under /usr/spool/news/out.going.
  709.  
  710. (tal@warren.mentorg.com adds:)
  711. All news transports (INN, C news, B news) want the spool partition to
  712. be local.  Newsreader can read from an NFS mounted partition without
  713. any problems but innd should only see local partitions.  NFS has a
  714. blatant disregard for many of the file semantics that are needed for a
  715. good news implementation.  If you don't agree, please feel free to
  716. prove the authors of B news, C news, and INN wrong.  Include source
  717. code. :-)
  718.  
  719. There is one other thing that can cause a "nonblock" message, but I
  720. don't remember what it is.
  721.  
  722. ======================================================================
  723.  
  724. Subject:  Suddenly my active and history files are owned by root!
  725.  
  726. rc.news runs from root.  After that, everything else should
  727. run as news.  More specifically, it sounds like you've run news.daily
  728. as root.  Make sure all your cron jobs run as news and you'll be fine.
  729.  
  730. If you have an old "cron" system, you might consider replacing yours
  731. with one of the many public domain replacements.  If you can't create
  732. a different "crontab" for each user, the idiom is something like:
  733.  
  734. 0 * * * * * su news -c '/do/this/as/news'
  735.  
  736. ======================================================================
  737.  
  738. Subject:  What can I do if I can't purchase the O'Reiley And Associates book
  739. on Managing Usenet?
  740.  
  741. Hold a fundraiser?
  742.  
  743. Seriously, this document will help you some.  HOWEVER many people have
  744. thought that the install.ms doc was incomplete but then re-read the
  745. "First Time Installation" portion and were amazed how good it was.
  746. Personally, I've been a newsadmin for too long to be able to know if it
  747. would be good for beginners.
  748.  
  749. ======================================================================
  750.  
  751. Subject:  Getting an active file.
  752.  
  753. >     In appendix IV, the reader is told that "the easiest way to
  754. > [find out which groups to create] is usually to ask [your newsfeed
  755. > site] for a copy of their active file, and for you to add the entries
  756. > of the groups that you're interested in." It would have been nice to
  757. > get instructions on where this active file lives, and how to create
  758. > the new groups, without digging through manpages (I still haven't
  759. > found out what the proper path and incantations are. How are these
  760. > commands issued? As shell commands? As news articles?).
  761.  
  762. If your neighbor doesn't know where his/her active file is, you should
  763. look for another neighbor.  "man active" will tell you on the first
  764. line.  Different sites put it in different places.  The man page should
  765. tell you where it is.
  766.  
  767. Here is how you zap someone else's active file to make it ready
  768. for re-use:
  769.  
  770. sed <active.old >active.new \
  771.        -e 's/^\([^ ]*\) [0-9]* [0-9]* \([^ ]*\)$/\1 0000000001 000000000 \2/'
  772.  
  773.  
  774. ======================================================================
  775.  
  776. Subject:  How do I use nntplink?
  777.  
  778. First of all, I don't personally recommend using this program.  I feel
  779. that it is a gimick.  I suggest that sites run the feed using a
  780. traditional method for a month so that you make sure you are used to
  781. INN and make sure that the feed is properly functioning.  Once you're
  782. ready, here's a cookbook example of an newsfeeds entry using nntplink.
  783.  
  784. netcomsv.netcom.com\
  785.     :!junk/!ParcPlace\
  786.     :Tc,Wmf:/usr/local/news/bin/nntplink -i stdin netcomsv.netcom.com
  787.  
  788. ======================================================================
  789.  
  790. Subject:  Other cron jobs.
  791.  
  792. Once a night you should run the "news.daily" script which will
  793. expire old articles, run the daily reports, etc.  It should run
  794. as "news" and look something like this:
  795.  
  796. 40 23 * * *               /usr/lib/news/bin/news.daily delayrm
  797.  
  798. If you get news feeds via UUCP, you might want to add this cron
  799. job (also as "news") which checks to see if any batches arrived
  800. while innd was down and processes them.
  801.  
  802. 20 * * * *                /bin/rnews -U
  803.  
  804. ======================================================================
  805.  
  806. Subject:  After a crash.
  807.  
  808. "What do I do after a system crash?"
  809.  
  810. INN handles crashes pretty well.  If there are any problems they
  811. get cleaned up by the nightly expire.  About once a month you
  812. might want to run "makehistory -bu" to look for "lost" articles.
  813. Check the man page for "makehistory" for more information.
  814.  
  815. ======================================================================
  816.  
  817. Subject:  Debugging someone that is feeding you.
  818.  
  819. David Myers <dem@meaddata.com> suggests that if a neighbor complains
  820. that their feed to you doesn't work: (1) make sure they've read the man
  821. pages, and (2) have them send a copy of their newsfeeds file.
  822.  
  823. - * The End * -
  824. -- 
  825. Tom Limoncelli -- tal@warren.mentorg.com (work) -- tal@plts.uucp (play)
  826.  
  827. Unix is a trademark of, WHATT????
  828.