Installation instructions for FNEWS on UNIX platforms: You will need: fnews14.tar.z (or latest version number) A 'c' compiler that accepts prototypes. On ultrix and aix use: cc On sunos use: gcc On others, best to use gcc if possible. 1) Get the latest version: (try local archives first) > ftp zephyr.grace.cri.nz (131.203.1.5) username: anonymous password: Your_email_address (eg. chrisp@grv.here.edu ) cd pub/fnews/unix get INSTALL (Check for new instructions) ls fnews* (see what versions are available) binary get fnews15.tar.Z 2) Extract it, and print the manual: > uncompress fnews.tar > tar -xvf fnews.tar > cd fnews > lpr INSTALL (this file) > lpr -Plaser title.ps userman.ps admin.ps > lpr userman.txt admin.txt (if you don't have a postscript printer) 3) Fix dates of files which 'tar' mucks up: > touch * 4) Copy the config.* file which matches your machine: > ls config.* > cp config.sun config.i 5) Tailor the configuration file, if your terminals do not support vt100 escape sequences then follow the instructions below to build cnews. > emacs config.i 6) Compile it. > make 7) Setup the configuration file which defines the name of your NNTP host and what newsgroups you want etc. > cp fnews_init.template fnews_init.sh > emacs fnews_init.sh FNEWS_NNTPHOST="big.fake.edu" This is the full internet name of the unix machine which will be giving you news service. You can test it by typing: > telnet big.fake.edu 119 Connected to big.fake.edu. 200 big.fake.edu InterNetNews NNRP server INN 1.2 10-Sep-92 \ ready (posting ok). > help > quit FNEWS_MANAGER="chrisp@grv.grace.cri.nz" This is the mail address for fnews log files to be sent. FNEWS_ORG="Industrial Research" This is the name of your ogranization, it will appear in any items your users post. FNEWS_CACHED="" This is the list of groups that are automatically cached, normally you only cache groups which are read, but if 'news' is very important to your site, you may want to cache all groups, or all groups of a certain type to allow very quick access to all the groups in that set, e.g.: "sci.pysics.*" or "comp.*,rec.*" or "news.*" or "bionet.*" The wild cards '*' must appear at the end of the name. (This only improves speed, at the cost of greater system time spent uploading unused groups.) 8) Moving it to a bigger partition. (also see 19 above if you aint root) You might want to move it to some other partition which has more space as it will typically use 2M --> 10M Bytes of disk depending on use. If you want it elsewhere then it's probably best to set up a symbolic link to the real area, e.g.: (only if you want to move it) > mkdir /home/fnews (only if you want to move it) > ln -s /home/fnews /usr/local/fnews 9) Install fnews in the production directory /usr/local/fnews > su root > make install (or make update) > make man (to install the man page) (If you are already running fnews, then use: ) ( > make update ) (to avoid over-writing any current configuration data files ) 10) Create a symbolic link to a directory that most users have in their paths. > ln -s /usr/local/fnews/fnews /usr/local/bin/fnews 11) Add the fnews jobs to crontab so it can update the index each night. Use: > man crontab To find out how to add entries to your crontab system, here are two examples: (On ultrix) > cat crontab.txt >>/usr/lib/crontab (On SUNOS) > su root > crontab -l >a.a > cat crontab.txt >>a.a > crontab a.a 12) Initialize the fnews database. > su root > make init > tail /usr/local/fnews/nohup.out > more /usr/local/fnews/init.log This job will take approx 10 minutes to run, maybe much worse if you are caching a lot of groups, (up to 2 hours), but check it's connected to your nntphost before leaving it and then check the log in 20 minutes. > tail /usr/local/fnews/init.log You want to see something like: Newgroup {alt.x.y.a} post=1 {?} cached 0 Newgroup {alt.x.y.b} post=1 {?} cached 0 Newgroup {alt.x.y.c} post=1 {?} cached 0 Ignore things like: Name too long {alt.flame.hairy-douchebag.meredith-tanner} Can't read group file: No such file or directory 13) Try it out. > fnews 14) Check the logs the next day > tail -100 /usr/local/fnews/init.log * Read the userman manual, and then read the admin manual. * Tell the users about it, give them copies of userman.ps!!! * If you had to make any changes to make it work on your machine, please send me the diff's. * WHAT IF IT DOESN'T ??? A) Have you read admin.txt and followed all these instructions carfully? B) If all else fails, contact me at Chrisp@grv.grace.cri.nz, I will try and help, (as time and my real job permits), please describe the problem clearly and supply a log of the error if possible. Installing without root priv. Change FNEWS_ROOT in: fnews_init.sh daily.sh run_daily.sh crontab.txt Add to config.i CFLAGS= -w -Dunix -DFNEWS_ROOT="\"/tmp/z/news\"" Recompile. change FNEWS_USER to your usercode. (in fnews_init.sh) Modify run_daily.sh, near the end, so it doesn't do an SU command. Installing with brain dead compiler. # If you don't have gcc, then the simplest thing is to get unproto # which runs in place of CPP to convert ansii to K&R # you just need to modify cflags to point to the directory where # you build the new CPP. (and define NOSTDARG) # CFLAGS= -w -Dunix -Qpath /home/indchm/chrisp/unproto -DNOSTDARG -DNOATEXIT Get unproto from: ftp.win.tue.nl:/pub/programmin/unproto4.shar.Z Using terminals which don't understand vt100 escape sequences: If you want to use curses (it's slower, clunky, and less portable) then type: > make cnews > cnews > cp cnews /usr/local/fnews/cnews (to install it) (I don't recommend using cnews except when really necessary) NOTES: ------ fnews.template This file is given to 'new' users as the 'default' list of registered groups. You may want to tailor this for the interests of your local users. fnews_active.template This file is a 'starting place' for the fnews.active file, which is the list of groups people are currently reading (and therefor the groups which are cached automatically) $HOME/fnews.rc Will be created for each user when they first use news, it contains the groups and items read by that user.