|7. Installing the System|
Although either innd or inndstart must be run by root, most of the installation does not have to be done as root. The $inn/makedirs.sh script creates all the necessary directories used by INN, and sets up the right ownerships and modes: owned by NEWSUSER in group NEWSGROUP with 0775 permissions (the ``firewall'' directory, _PATH_INDDDIR, has mode 0770). You should review this script, then run it. The rest of the installation should be done as the news administrator or as root. The Makefiles are very strict about setting the modes on the files that get installed. To install the programs, do the following: cd $inn make update This target does a ``make install'' in all program directories. It installs the programs and manpages, but does not update or install any configuration files or scripts. This is important: in any directory (including the top-level one), a ``make install'' will install everything in that directory into the right place. A ``make update'' can only be done in the top-level directory or in the site directory, and it only replaces scripts, not configuration files. When updating to a new INN release, you will probably want to do an ``update'' first, and then review the changed files by doing ``make diff'' in the site directory, and integrate your local changes as appropriate. The Makefile also has other targets that you might find useful, so the comments for entries like ``most'' and ``installed-diff', for example. The next, and last, step is to build your INN configuration files and utility scripts. If you have not already done so, type the following: cd $inn/site make all This will get copies of the scripts and files from the backends and the samples directories and run subst over them. Whenever patches are issued, doing a make in this directory will let you know what files have been updated, without destroying your local changes. The getsafe.sh script does this. If you have either an SCCS or an RCS directory then getsafe.sh will use the appropriate source control system for the files in this directory. The first set of files are used to carry out the control messages. You might want to look them over; in particular, look at the table in control.ctl and the newslog manpages in doc. The control files are: checkgroups rmgroup control.ctl sendme default sendsys docheckgroups senduuname ihave version newgroup writelog parsecontrol pgpverify The following scripts are normally invoked by cron or at system boot time, and should not require many changes: innlog.awk scanlogs innstat tally.control news.daily tally.unwanted rc.news Rc.news starts the server. In versions 1.4 and earlier, this script was run by user root. In this version, rc.news must be run by the user defined as the NEWSUSER in the config.data file. News.daily invokes expire and scanlogs. Scanlogs calls the other scripts to process the logs. You might want to review these scripts just to see what they do. Do not get bogged down in the details, just read the comments. They are documented in the manpages news.daily(8) newslog(5), and newslog(8). There are some utility scripts to send news to your news feeds: nntpsend send-nntp nntpsend.ctl send-uucp send-ihave sendbatch They flush and lock the batch file for the specified site(s) and then call innxmit to send the articles to your downstream feeds. Send-ihave is used for ``ihave/sendme'' feeds and is described in an appendix. Sendbatch and send-uucp flush and lock batchfiles and call batcher to queue up UUCP jobs. You might want to modify these files to change the flags given to uux; the default is to queue jobs up as grade ``d.'' You will almost definitely have to edit them to make sure that they properly parse the output of df so that your spool area is not overrun! Nntpsend and send-nntp do the same thing for NNTP feeds. You must determine how you want to propagate your articles -- the scripts give common ways of getting the job done. The following files will have to be edited to contain your local information. They all have manual pages in the doc directory that describe them: expire.ctl newsfeeds hosts.nntp nnrp.access inn.conf passwd.nntp moderators The last group of files are utility scripts you might find useful: inncheck makegroup innwatch scanspool Inncheck is a Perl script to check the syntax and permissions of an installed INN system. Innreport is an alternate way of summarizing the server's log file. It is a Perl script. Innwatch is a shell script to monitor the system and stop the server when you are running low on disk space or inodes; it could be run out of your _PATH_NEWSBOOT script. You might have to edit it to understand your df output format. Makegroup is a front-end to rnews that helps you write a control message to create a newsgroup. You should review this script because you might have to change the way the output of the date command is parsed, and because you might might want to change the default distribution. Scanspool is a Perl script to make sure that the active file and the contents of your spool tree agree. Once you have made the necessary modifications (and I admit that some of this -- especially the newsfeeds file -- will be difficult), you should type the following: make install Make sure you have rc.news installed in the right place, as explained in the ``Paths to common programs'' section, above. You might find it useful to read the ``First-Time Usenet or NNTP Installation'' appendix for help on navigating through the INN configuration files. There are now only a couple more things to check. First, make sure you have an active file and a history database! The appendices explain how to convert your existing files; the BUILD script will create new ones for you. If you have Perl, run inncheck to make sure that you have the datafiles configured correctly. The second is make sure that you have correctly updated your syslog.conf file to match the filenames and logging levels required by INN. See syslog/syslog.conf for an example of what to do. Once you have done all of this, InterNetNews is now installed, and ready to run -- have fun!
|[Source:"Installing InterNetNews 1.5.1"] [File-name:install.ms.1][Revision: 1.19 1996/11/10]|
[Copyright: 1991 Rich Salz, 1996 Internet Software Consortium]