20/07/95 v0.61 INN Setup (INN.ins) Configuration of Linux Slackware INN_PKG for use with DEMON INTERNET SERVICES Copyright (C) 1995 Ivan A. Beveridge. iab@@dreamtim.demon.co.uk This package is freely distributable. ----------------------------------------------------------------------------- Preliminary Information ----------------------- My system (For Your Information) is: Slackware 2.1.1 INN_PKG installed (INN v1.4) Perl installed (from d-series) Linux Kernel 1.3.11 (bleedin' edge :^) Dummy kernel net driver installed Demon connection with CSLIP slurp v1.10 slack2.1.help.tar.gz package (modified) from John Phillips (from ftp.demon.co.uk /pub/linux/Demon) Although I set up quite a few bits up before using the Linux/Demon packages mentioned in my README, I used the scripts for connecting and checking mail and news (demon.dip, start.dip, stop.dip, querypost, procnews). My personal preference for the scripts is /usr/local/sbin (except for demon.dip, which is in /usr/local/etc), as they are locally setup. If you put them in different places (originally they were in /etc and or /sbin), then check the paths in start.dip and procnews (that should be all that has changed). As mentioned earlier, I have included all that is required for News setup, and so have also included slurp + man page. I use slurp, as I can specify to only download a few groups, but setup more to be able to post to (via the active file). Although it may seem nice and easy to just copy all the configuration files into the correct place and try to get it working quickly, it is normally better to look at the changes I have made and make them. I say this because you may find that some of the files I have included have been changed on your system by installing it (and hence you may have difficulties). My first recommendation is to save all "original" files with the extension ".ORIG", so that you have something to go back to in case of problems. To make changes to the files, I normally do: cp OLD-CONFIG-FILE OLD-CONFIG-FILE.ORIG cat NEW-CONFIG-FILE >> OLD-CONFIG-FILE This adds the new file to the end of the old one, so you can easily take the pieces that you want from the new file and delete the rest. PRELIMINARY ========== The "dummy" kernel network driver is needed for off-line news posting, etc. This driver can be compiled into the kernel, or used as a module. Setting up the dummy driver is detailed in the BASIC package of Slack-help v2.2.0. CNews -> INN conversion ----------------------- This is for those of you who currently have CNews installed and would like to opt for an easier life ;^) As INN and CNews are effectively competing packages, you must choose which one you want ... after you choose INN, carry out the following instructions: 1) Copy any configuration files that you want to keep from your CNews setup. I would recommend this if you have it working, in case you decide to go back to CNews - you can allways delete them later. 2) Remove the CNews package using pkgtool (run as root and select remove package .. .then select CNews). 3) Remove all the directories and files that remain from the CNews package and setup. The files that were deleted should be named in a file called /tmp/PKGTOOL.removed. You should get an idea of what to delete from there. Here is a list of what should be deleted from the CNews package that I have just looked at: rm -fr /var/lib/news rm -fr /usr/lib/newsbin rm -fr /usr/doc/cnews 4) Ensure that the /etc/password entry for the user "news" is set to /usr/lib/news, eg: news:*:9:13:news:/usr/lib/news: 5) Install the INN package from the Slackware "network" series (currently on disk n3). Setting up INN ============== The INN_PKG is installed by Slackware in /usr/lib/news. The files that have been changed are found under ./usr/lib/news. Ensure all files in *your* /usr/lib/news are owned by both user and group "news". Check file ownership of all other files that you are adding using this package (assume Slackware is correct)! For information on what each of the configuration files means, please read the FILES.descript file. It would be beneficial to read this _short_ text so you know what I have done and what it means. The following states the files which you *must* (or may have to) configure - these contain computer-specific information, like machine name, your domain name, etc: hosts.nntp ---------- YOURHOST.demon.co.uk This means that you are able to "feed" news to your site (from your news reader). inn.conf -------- domain: demon.co.uk means that news articles posted from you will be in domain demon.co.uk server: YOURHOST.demon.co.uk This sets the default NNTP server that you will use to *read* news. This is for when you dis- connect from Demon, and want to read news locally. nnrp.access ----------- YOURHOST.demon.co.uk:Read Post:::* means that you machine can read and post articles to all newsgroups. Ensure that you put you host name in place of YOURHOST. (Note, if you have a domain name like HOST.YOURCO.co.uk, change the name to this. slurp.news.demon.co.uk ---------------------- This file contains a timestamp. This is the last time you downloaded news. Set this to something reasonable - say yesterday. The format for the time is: YYMMDD HHMMSS Further setting up ================== Some other files need to be changed for INN to work correctly. /etc/inetd.conf --------------- The NNTP line must be commented out. The INN daemon is used for connections to the NNTP port, not in.nntp: #nntp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.nntpd /etc/aliases ------------ This is a list of mail aliases, as used by Sendmail and Smail. The two I have mentioned (news and usenet) are needed for reports to be sent after cronjobs. Once you have added these lines (they are aliases as root here), do not forget to run the command "newaliases" as root. This will put the aliases into a database that the mail transport agent can understand. /etc/syslog.conf ---------------- I have added an entry to this for news.debug: news.debug /var/adm/nntplog This puts any debugging info in the file named. It is useful for finding out any errors! Also I have changed the original *.warn to *.err (as otherwise news articles may add a line to the log file!). /etc/profile and /etc/csh.login ------------------------------- If you want to read news via NNTP (rather than reading the news files directly off the local Linux machine), as per tine -r, then you will need to state your NNTP server that you will read news from. This is generally your host, although it can be set to any news server you wish. You do this by setting the NNTPSERVER environment variable. This is done as follows for /etc/profile (bash, zsh and ksh shells): export NNTPSERVER=YOURHOST.demon.co.uk ..... and as follows for /etc/csh.login (csh shell): setenv NNTPSERVER YOURHOST.demon.co.uk This can just as easily be set to read news "on-line" from the Demon news server as follows (for /etc/profile): export NNTPSERVER=news.demon.co.uk Obviousely this will only work when connected to Demon, and may end up increasing your on-line time (and hence is not recommended). Further Preparations ==================== Create the following files as follows: :> /usr/lib/news/history :> /usr/lib/news/history.dir :> /usr/lib/news/history.pag :> /usr/lib/news/errlog :> /usr/lib/news/log Type: chown news.news /usr/lib/news/history* chown news.news /usr/lib/news/*log chmod 644 /usr/lib/news/history* chmod 644 /usr/lib/news/*log Run the program /usr/lib/news/tools.linux/makedirs.sh ----------------------------------------------------- This creates the directories for the news articles to go into. It is run as: sh makedirs.sh Read the file /usr/lib/news/tools.linux/INSTALL-linux ----------------------------------------------------- Most of the above info has been gleaned from this file. Trying out INN ============== Reboot your machine, for the inetd and syslogd configurations to take place (this can be carried out by killing the daemons, if you know what you are doing, but is more awkward). Ensure all the files you have changed in /usr/lib/news are owned by news.news. Check to see if INN is working now. Use the following command to start INN, when run as root: /usr/lib/news/etc/rc.news Use "ps -x" to see if INN is running. The entry should look something like this: 88 con S 0:00 /usr/lib/news/etc/innd -p4 -i0 97 con S 0:00 /usr/lib/news/bin/overchan Run /usr/lib/news/bin/inncheck (This requires you to have installed the perl package) as root. This checks the configuration files for errors and informs you. You will probably get the following error, which is OK: /usr/lib/news/newsfeeds:0: ME entry accepts all incoming article distributions Run /usr/lib/news/bin/news.daily as user "news". Do this from root user by: su news -c /usr/lib/news/bin/news.daily & Ensure every file and directory under /var/log/news is owned by news.news. Try running a news reader (eg TIN), and posting a message in "junk"- does it post OK, and come up as a new article? Try reading man-pages for the files and programs used, as well as the text files in /usr/lib/news/tools/linux. FINALLY ======= This is the last bit, just to make sure that all the administration is setup OK. /etc/rc.d/rc.local ------------------ I have added an entry here to start up INN on bootup. Add this when you have INN working properly. crontab.news ------------ This is the crontab for the user "news". To add it, use the following command from root user: crontab crontab.news -u news Beware - this replaces any previous one you have for the user "news". All this crontab does is: * at 10pm every day, run the "news.daily" script and expire old articles. * at 15 mins past every hour, unbatch any news that has been received. This is pretty much the "default" news crontab (installed with Slackware), so you may prefer to check the one you have, rather than overwriting it. READY TO RECEIVE NEWS? ====================== The remaining files that I have included are the binary and manual for "slurp", and the edited script "procnews". Check that the programs run in the script files are correct (ie correct paths). Install all these files (I recommend slurp.1 in /usr/local/man/man1, and the rest of the scripts + slurp in /usr/local/sbin [with demon.dip in /usr/local/etc]), and any others mentioned. Try dialing up Demon to test the News connection. ADDING / DELETING GROUPS ======================== If you want to add or delete (or do pretty much any news admin), you must use /usr/lib/news/bin/ctlinnd. It is best to read the man page on this, but here are some elementary processes: Adding group "demon.local": /usr/lib/news/bin/ctlinnd newgroup demon.local Removing above group: /usr/lib/news/bin/ctlinnd rmgroup demon.local Pause INN: /usr/lib/news/bin/ctlinnd pause "reason" Reload all INN config files: /usr/lib/news/bin/ctlinnd reload all "reason" Restart INN: /usr/lib/news/bin/ctlinnd go "reason" PROBLEMS ======== Here are a few problems that I have encountered / heard of which may help you: INN exits after I start it -------------------------- This may be because the permissions for all the history files are incorrect. A common problem is that they have owner/group as root/root rather than news/news. Use chown to change this. Another possible error is that the newsgroups control and junk have not been added to the active list (this is a problem when trying to run innd in debug mode). I specify a newsgroup in SLURP.SYS, but the articles go to "junk" ----------------------------------------------------------------- This is because you have not specified that newsgroup to INN. You can either manually edit the "active" file (not so good), or you can use "ctlinnd newgroup NEWS.GROUP.NAME" to add the group. Slurp expects slurp.sys to be in /usr/local/lib news ---------------------------------------------------- That is correct, as the author of slurp wrote it for use with CNews. However it can be used with INN. The Slackware INN_PKG _should_ have made a link between /usr/local/lib/news and /usr/lib/news upon installation. If this has not been made use the following command (as root) to create it: cd /usr/local/lib ; ln -s news ../../lib/news Sending mail causes a "host unknown" error and returned mail ------------------------------------------------------------ Ah - this is nothing to do with INN as such. It is to do with the setup of your MTA (Mail Transport Agent) - generally either Sendmail or Smail. The setup should be detailed in one of the other general Demon/Slackware packages. I hacked the /etc/sendmail.cf file to work (slap wrist - should be done using an M4 script), adding the following: # "Smart" relay host (may be null) DSsmtp:post.demon.co.uk The DS macro is blank as default. Fingers crossed you should not get this error message again - sendmail should send the post to the mail server pointed to by the MX records at Demon (this is the same for postings outside Demon). When part-way through a news download it stops, mentioning unbatching. ---------------------------------------------------------------------- This is because "rnews -U" has been run in the middle of the download. This causes slurp to get mixed up. Unfortunately I had set "rnews -U" to run at quarter-past the hour in the news crontab. This is now fixed (news is downloaded) to ..../in.coming/tmp and moved back to ..../in.coming for unbatching.[v0.6] I don't seem to be connecting to news2 for news downloads. ---------------------------------------------------------- The news machine news2.demon.co.uk was taken off-line around 6 May 1995, due to great improvement of news.demon.co.uk (imp). Demon's DNS was adjusted to point requests to news2 on to news. For those who have entries in /etc/hosts for news2, you are likely to have problems. You should switch back to using news.demon.co.uk, and delete the entry in your hosts file. I get my hostname entered twice on the patch line of all my news postings. -------------------------------------------------------------------------- This should not cause a problem .... just look horrible. This is due to the work around I had to do to get the "NNTP-Posting-Host" entry correct (rather than saying "localhost", it now states your machine). I believe this is a Linux-specific problem (not INN) - if this is so it will hopefully get fixed soon in the kernel upgrades.