Add changes to the installation manual for Windows users from K1XX
[spider.git] / sgml / installation.sgml
index 2818cb06af529f9550f9ab078f8385c409f1a7ab..cb47fc549ab098f65ebe920b153c44535c232729 100644 (file)
@@ -4,10 +4,11 @@
 
 <!-- Title information -->
 
-<title>The DXSpider Installation Manual v1.47</title> 
-<author>Iain Philipps, G0RDI (g0rdi@77hz.com) and
-Ian Maude, G0VGS, (ianmaude@btinternet.com)</author>
-<date>Version 1.47, April 2001 revision 1.0</date>
+<title>The DXSpider Installation Manual v1.50</title> 
+<author>Iain Philipps, G0RDI (g0rdi@77hz.com),
+Ian Maude, G0VGS, (g0vgs@gb7mbc.net) and Charlie
+Carroll, K1XX, (k1xx@ptcnh.net)</author>
+<date>September 2002 revision 0.4</date>
 
 <abstract>
 A reference for SysOps of the DXSpider DXCluster program.
@@ -23,12 +24,9 @@ A reference for SysOps of the DXSpider DXCluster program.
 <sect1>Introduction
 
 <P>
-This section describes the installation of DX Spider v1.47 on a 
+This section describes the installation of DX Spider v1.50 on a 
 <htmlurl url="http://www.redhat.com" name="RedHat"> Linux Distribution.
 Wherever possible I will try to include differences for other distributions.  
-I do not intend to try and cover the installation of Linux or the setup 
-of the AX25 utilities.  If you need help on this then read Iains original 
-installation guide that comes with the Spider distribution.
 
 <P>
 I am assuming a general knowledge of Linux and its commands.  You should 
@@ -41,29 +39,94 @@ Spider required perl 5.004, however it is now <it>STRONGLY</it> recommended
 that you use at least version 5.005_03 as this is the version being used
 in the development of Spider.
 
-<P>In addition to the standard Red Hat distribution you will require the 
-following modules from <htmlurl url="http://www.cpan.org/CPAN.html" name="http://www.cpan.org/CPAN.html"> ...
+<P>
+In addition to the standard Red Hat distribution you will require the 
+following modules from <htmlurl url="http://www.cpan.org/modules/by-module/" name="http://www.cpan.org/modules/by-module/"> , please note however that with later versions of perl, some of these
+modules may be included with the distribution.  Get the modules anyway and try
+to install as below.  If they complain, they are probably already a part of your
+perl distribution.
 
 <P>
 <itemize>
-<item>         Data-Dumper-2.101.tar.gz
-<item>         TimeDate-1.10.tar.gz
-<item>         IO-1.20.tar.gz (for perl 5.00403 and lower)
-<item>         Net-Telnet-3.02.tar.gz
-<item>         Curses-1.05.tar.gz
-<item>         Time-HiRes-01.20.tar.gz
+<item> <htmlurl url="http://www.cpan.org/modules/by-module/Data/Data-Dumper-2.10.tar.gz" name="Data-Dumper-2.10.tar.gz">
+<item> <htmlurl url="http://www.cpan.org/modules/by-module/Date/TimeDate-1.10.tar.gz" name="TimeDate-1.10.tar.gz">
+<item> <htmlurl url="http://www.cpan.org/modules/by-module/IO/IO-1.20.tar.gz" name="IO-1.20.tar.gz (for perl 5.00403 and lower)">
+<item> <htmlurl url="http://www.cpan.org/modules/by-module/Net/Net-Telnet-3.02.tar.gz" name="Net-Telnet-3.02.tar.gz">
+<item> <htmlurl url="http://www.cpan.org/modules/by-module/Curses/Curses-1.06.tar.gz" name="Curses-1.06.tar.gz">
+<item> <htmlurl url="http://www.cpan.org/modules/by-module/Time/Time-HiRes-01.20.tar.gz" name="Time-HiRes-01.20.tar.gz">
+<item> <htmlurl url="http://www.cpan.org/modules/by-module/Digest/Digest-SHA1-2.01.tar.gz" name="Digest-SHA1-2.01.tar.gz">
 </itemize>
 
 <P>
-<em>Do</em> get the latest versions of these packages and install them 
-but use the above list as the earliest versions usable.
+Copy the CPAN modules listed above to a convenient place on your computer. One good 
+place would be /usr/local/packages, and the instructions which follow will assume that 
+that's where you have put them.
+
+<P>
+Log in as 'root', and make sure you're at '/root' before you continue. Here are exactly the commands you must issue next: -
+
+<verb>
+# tar xvfz /usr/local/packages/Data-Dumper-2.10.tar.gz
+# cd Data-Dumper-2.10
+# perl Makefile.PL
+# make test
+# make install
+# cd ..
+#
+# tar xvfz /usr/local/packages/TimeDate-1.10.tar.gz
+# cd TimeDate-1.10
+# perl Makefile.PL
+# make test
+# make install
+# cd ..
+#
+# tar xvfz /usr/local/packages/IO-1.20.tar.gz
+# cd IO-1.20
+# perl Makefile.PL
+# make test
+# make install UNINST=1
+# cd ..
+#
+# tar xvfz /usr/local/packages/Net-Telnet-3.02.tar.gz
+# cd Net-Telnet-3.02
+# perl Makefile.PL
+# make test
+# make install
+# cd ..
+#
+# tar xvfz /usr/local/packages/Curses-1.06.tar.gz
+# cd Curses-1.06
+# perl Makefile.PL
+# make test
+# make install
+# cd ..
+#
+# tar xvfz /usr/local/packages/Time-HiRes-01.20.tar.gz 
+# cd Time-HiRes-01.20
+# perl Makefile.PL
+# make test
+# make install
+# cd ..
+#
+# tar xvfz /usr/local/packages/Digest-SHA1-2.01.tar.gz
+# cd Digest-SHA1-2.01
+# perl Makefile.PL
+# make test
+# make install
+# cd ..
+</verb>
+
+<P>
+Do not fall into the trap of thinking they're all the same, just because they 
+nearly are! Pay particular attention to the instructions of <em>IO</em>, above.
+
 
 <sect1>Preparation
 
 <P>
 I will assume that you have already downloaded the latest tarball of 
 the DXSpider software and are ready to install it. I am assuming version 
-1.47 for this section but of course you would use the latest version.
+1.50 for this section but of course you would use the latest version.
 
 <P>
 Login as root and create a user to run the cluster under.  <bf><it>UNDER 
@@ -72,11 +135,17 @@ the name <em>sysop</em>.  You can call it anything you wish.  Depending
 on your security requirements you may wish to use an existing user, 
 however this is your own choice.
 
-<P>
 <tscreen><verb>
 # adduser -m sysop
 </verb></tscreen>
 
+<P>
+For SuSE distributions, the command would be ..
+
+<tscreen><verb>
+# useradd -m sysop
+</verb></tscreen>
+
 <P>
 Now set a password for the user ...
 
@@ -95,11 +164,12 @@ permissions.  Copy the tarball to /home/sysop and do the following.
 
 <tscreen><verb>
 # cd ~sysop
-# tar xvfz spider-1.47.tar.gz
+# tar xvfz spider-1.50.tar.gz
 # ln -s ~sysop/spider /spider
 # groupadd -g 251 spider       (or another number)
 </verb></tscreen>
 
+<P>
 If you do not have the command <em>groupadd</em> available to you simply 
 add a line in /etc/group by hand.
 
@@ -107,6 +177,7 @@ add a line in /etc/group by hand.
 # vi /etc/group                (or your favorite editor)
 </verb></tscreen>
 
+<P>
 You also need to add some others to the group, including your own callsign 
 (this will be used as an alias) and root.  The finished line in /etc/group 
 should look something like this
@@ -156,11 +227,31 @@ $ vi DXVars.pm (or your favourite editor)
 
 <P>
 Using the distributed DXVars.pm as a a template, set your cluster callsign, 
-sysop callsign and other user info to suit your own environment. Note that 
-this a perl file which will be parsed and executed as part of the cluster. If 
-you get it wrong then perl will complain when you start the cluster process.  
-It is important only to alter the text of any section.  Some of the lines look 
-a little odd.  Take this line for example ....
+sysop callsign and other user info to suit your own environment. 
+
+<tscreen><verb>
+$mycall = "GB7DJK";    
+</verb></tscreen>
+
+<P>
+This is the call sign of your cluster.  If you use an SSID then include it here
+also.
+
+<tscreen><verb>
+$myalias = "G1TLH";
+</verb></tscreen>
+
+<P>
+This is the sysop user callsign, normally your own.
+
+<P>
+<bf>PLEASE USE CAPITAL LETTERS FOR CALLSIGNS</bf>
+
+<P>
+Note that this a perl file which will be parsed and executed as part of the 
+cluster. If you get it wrong then perl will complain when you start the cluster 
+process.  It is important only to alter the text of any section.  Some of the 
+lines look a little odd.  Take this line for example ....
 
 <tt>
 $myemail = "ianmaude\@btinternet.com";
@@ -170,8 +261,6 @@ $myemail = "ianmaude\@btinternet.com";
 There appears to be an extra slash in there.  However this has to be there 
 for the file to work so leave it in.
                
-<P><bf>PLEASE USE CAPITAL LETTERS FOR CALLSIGNS</bf>
-               
 <P>
 DON'T alter any file in /spider/perl, they are overwritten with every
 release. Any files or commands you place in /spider/local or /spider/local_cmd 
@@ -193,6 +282,18 @@ the sysop.
 $ ./create_sysop.pl
 </verb></tscreen>
 
+<sect1>The client program
+
+<P>
+In earlier versions of Spider, all the processes were Perl scripts.  This
+was fine but with a lot of users your computer memory would soon be used up.
+To combat this a new client was written in "C".  This client only works for
+<em>incoming</em> connects at the moment.  Before you can use it though it
+has to be "made".  CD to /spider/src and type <em>make</em>.  You
+should see the output on your screen and hopefully now have a small C program
+called <em>client</em>.  Leave it in this directory.
+
+
 <sect1>Starting up for the first time
 
 <P>
@@ -201,7 +302,7 @@ It should look something like this ...
 
 <tscreen><verb>
 $ ./cluster.pl
-DXSpider DX Cluster Version 1.47
+DXSpider DX Cluster Version 1.50
 Copyright (c) 1998 Dirk Koopman G1TLH
 loading prefixes ...
 loading band data ...
@@ -230,6 +331,7 @@ was set as GB7MBC.  You should therefore see this when you login ....
 G0VGS de GB7MBC 19-Nov-1999 2150Z >
 </verb></tscreen>
 
+<P>
 If you do, congratulations!  If not, look over the instructions again, you 
 have probably missed something out.  You can shut spider down again with the 
 command ....
@@ -241,17 +343,6 @@ shutdown
 <P>
 and both the cluster and the client should return to Linux prompts.
 
-<sect1>The Client program
-
-<P>
-In earlier versions of Spider, all the processes were Perl scripts.  This 
-was fine but with a lot of users your computer memory would soon be used up.  
-To combat this a new client was written in "C".  This client only works for
-<em>incoming</em> connects at the moment.  Before you can use it though it 
-has to be "made".  CD to /spider/src and type <em>make</em>.  You 
-should see the output on your screen and hopefully now have a small C program 
-called <em>client</em>.  Leave it in this directory.
-
 
 <sect>Linux quick installation guide
 
@@ -282,6 +373,7 @@ is the user that should be doing that process.
 <item>./cluster.pl (sysop)
 </itemize>
 
+<P>
 Spider should now be running and you should be able to login using the
 client program.
 
@@ -293,6 +385,7 @@ client program.
 <item>killall -HUP inetd (root)
 </itemize>
 
+<P>
 Spider should now be able to accept logins via telnet, netrom and ax25.
 
 <itemize>
@@ -307,40 +400,495 @@ Spider should now be able to accept logins via telnet, netrom and ax25.
 <item>Enter the correct line in /etc/inittab (root)
 </itemize>
 
-<sect>Configuration
+<sect>Setting up the AX25 Utilities
 
-<sect1>Allowing ax25 connects from users
+<P>
+The aim of this section is not to fully cover the installation
+and configuration of all the possible ax25 modules.  I will
+attempt to cover a simple installation and configure 2 serial
+ports as if they had TNC's on them.  I will also show what
+additional configuration the DXSpider program requires.
+
+<P>
+Please bear in mind that I am basing this section on a RedHat
+7.1 distribution, if you are using SuSe or any other distibution
+then your mileage may vary.  I will be happy to make any changes
+and additions if you email me any errors or distribution specific
+requirements.
+
+<P>
+You would probably benefit from reading the <htmlurl url="http://www.fokus.gmd.de/linux/HOWTO/html_single/AX25-HOWTO.html#AEN151" name="AX25-HOWTO"> which is much more
+comprehensive and an interesting configuration program is also available
+called <htmlurl url="http://1409.org/projects/index.html" name="ax25-config"> which
+may help you to configure things.
+
+<P>
+The following files are extracts from the working files at GB7MBC and
+are in daily use.  However, there are many ways that you can configure the
+ax25 utils, this is just the one I use, it does not mean it is necessarily
+the best or for that matter, the right way!
+
+<sect1>Getting Started
+
+<P>
+There are 2 things you need to do initially.  You need to get the
+3 files required for the ax25 installation and you need to make
+some changes to the kernel configuration.
+
+<P>
+The first thing is to get the versions of the ax25 utils that match
+your kernel.  You may also wish to get a node package of some kind.
+There are 2 main node packages in use of which I shall keep to the
+original by Tomi Manninen, OH2BNS as this is included in the ax25
+rpms as standard.  The other is <htmlurl url="ftp://ftp.funet.fi/pub/ham/packet/linux/awznode/" name="AWZNode"> by IZ5AWZ.
+
+<P>
+NB: The AX25 stuff in 2.4 kernels appears to have been broken until 2.4.18.  I
+strongly suggest you get at least this kernel.
 
 <P>
-As stated previously, the aim of this document is not to tell you how to 
-configure Linux or the ax25 utilities.  However, you do need to add a line 
-in your ax25d.conf to allow connections to DXSpider for your users.  For
-each interface that you wish to allow connections on, use the following format ...
+For 2.4 kernels you need these files...
+
+<P>
+<itemize>
+<item> <htmlurl url="ftp://ftp.rpmfind.net/linux/redhat/7.1/en/powertools/i386/RedHat/RPMS/libax25-0.0.7-7.i386.rpm" name="libax25-0.0.7-7.i386.rpm">
+<item> <htmlurl url="ftp://ftp.rpmfind.net/linux/redhat/7.1/en/powertools/i386/RedHat/RPMS/ax25-tools-0.0.6-13.i386.rpm" name="ax25-tools-0.0.6-13.i386.rpm">
+<item> <htmlurl url="ftp://ftp.rpmfind.net/linux/redhat/7.1/en/powertools/i386/RedHat/RPMS/ax25-apps-0.0.4-9.i386.rpm" name="ax25-apps-0.0.4-9.i386.rpm">
+</itemize>
+
+<sect1>The kernel
+
+<P>
+First you need to add Amateur Radio Support to your kernel.  This is
+a main menu item and should be easily found.  Within this header you
+will find lots of options.  For our purposes you need to enable
+Amateur Radio AX.25 Level 2 Protocol, NET/ROM and the Serial Port 
+KISS Driver.  For the purposes of this document I will work under the
+assumption that you include them in the kernel fully, ie not as modules.
+If you need to look at compiling your kernel for ax25 more fully, I would
+refer to the excellent 
+<htmlurl url="http://www.fokus.gmd.de/linux/HOWTO/html_single/AX25-HOWTO.html#AEN151" name="AX25-HOWTO">
+
+<P>
+I should say at this stage that NET/ROM is not mandatory.  If you do not use it
+simply ignore any instruction concerning it.
+
+<P>
+Now recompile your kernel in the normal way and reboot your system.
+
+<sect1>Installing the RPM's
+
+<P>
+Now install the RPM's you downloaded, libax25 first, then ax25-tools,
+then ax25-apps.
+
+<tscreen><verb>
+rpm -ivh libax25-0.0.7-7.i386.rpm
+rpm -ivh ax25-tool-0.0.6-13.i386.rpm
+rpm -ivh ax25-apps-0.0.4-9.i386.rpm
+</verb></tscreen>
+
+<sect1>Configuration
+
+<P>
+You will find the configuration files in /etc/ax25.  These consist of
+several files ...
+
+<itemize>
+<item>axports
+<item>nrports
+<item>nrbroadcast
+<item>ax25d.conf
+<item>node.conf
+</itemize>
+
+<P>
+These are the main files. You will find other files but they do not
+have any use unless you are wanting to use that particular protocol,
+Rose or axip for example.
+
+<P>
+NOTE:- before we start it is important to realise that every interface
+requires a different SSID.  You should be able to follow this in the
+following examples.
+
+<sect1>axports
+
+<P>
+This file sets up the ax25 ports you want to use.  An example is below
+for a standard TNC2 ...
+
+<tscreen><verb>
+#portname   callsign   baudrate   paclen   window   description
+ 2m         gb7mbc-2   19200      256      2        2m port on 144.900MHz
+ 4m         gb7mbc-4   19200      256      2        4m port on 70.325MHz
+</verb></tscreen>
+
+<P>
+Note that the portnames have to be unique.
+
+<P>
+The file headings are as follows ...
+
+<verb>
+portname       -       The name you will refer to the port by
+callsign       -       The ax25 callsign you want to assign to the port
+baudrate       -       The speed you communicate between TNC and computer
+paclen         -       The maximum packet length for ax25 connections
+window         -       The ax25 window parameter.  This is like 'maxframe'
+description    -       A textual description of the port
+</verb>
+
+<sect1>nrports
+
+<P>
+This file sets up the netrom ports you want to use.  An example is below
+and includes a port for both cluster and node.  You will see why we need
+2 ports later ...
+
+<tscreen><verb>
+#portname   callsign   alias   paclen   description
+ netrom     gb7mbc-8   BARE    236      Node Netrom Port
+ netrom2    gb7mbc-9   MBCDX   236      Cluster Netrom Port
+</verb></tscreen>
+
+<P>
+Note that the portnames have to be unique.
+
+<P>
+The file headings are as follows ...
+
+<verb>
+portname       -       The name you will refer to the port by
+callsign       -       This is the callsign that NET/ROM traffic from this
+                        port will use
+alias          -       The NET/ROM alias this port will be assigned
+paclen         -       The maximum size of NET/ROM frames transmitted
+description    -       A textual description of the port
+</verb>
+
+<sect1>nrbroadcast
+
+<P>
+This file sets up the netrom broadcast qualities.  An example is below ...
+
+<tscreen><verb>
+#axport   min_obs   def_qual   worst_qual   verbose
+ 4m       5         10         100          1
+</verb></tscreen>
+
+<P>
+The file headings are as follows ...
+
+<verb>
+axport         -       The port name in axports that you wish to broadcast
+                        NET/ROM on.
+min_obs                -       The minimum obsolescence value for the port
+def_qual       -       The default quality for the port
+worst_qual     -       The worst quality for the port.  Any routes under
+                        this quality will be ignored
+verbose                -       This flag determines whether you will only broadcast
+                        your own node (0) or all known nodes (1)
+</verb>
+
+<sect1>ax25d.conf
+
+<P>
+This file controls any incoming ax25 and NET/ROM connections and steers
+them to the relevant program.  There are lots of configuration options
+you can set here, however they are well covered in the AX25-HOWTO.  For
+our purposes I will show a typical set of parameters.  An example is 
+below ...
+
+<tscreen><verb>
+[gb7mbc-0 via 2m]
+parameters    2 1   6  900 *  15  0
+NOCALL *  *  *  *  *  *  L
+default  * * * * * *  - sysop /spider/src/client client %u ax25
+
+[gb7mbc-1 via 2m]
+parameters    2 1   6  900 *  15  0
+NOCALL *  *  *  *  *  *  L
+default *  *  *  *  *  *  0  root  /usr/sbin/node  node
+
+[gb7mbc-0 via 4m]
+parameters    2 1   6  900 *  15  0
+NOCALL *  *  *  *  *  *  L
+default  * * * * * *  - sysop /spider/src/client client %u ax25
+
+[gb7mbc-1 via 4m]
+parameters    2 1   6  900 *  15  0
+NOCALL *  *  *  *  *  *  L
+default *  *  *  *  *  *  0  root /usr/sbin/node  node
+
+<netrom2>
+parameters 1   10 * * * 3 *
+NOCALL *  *  *  *  *  *  L
+default  * * * * * *  - sysop /spider/src/client client %u ax25
+
+<netrom>
+parameters 1    10 * * * 3 *
+NOCALL *  *  *  *  *  *  L
+default *  *  *  *  *  *  0  root  /usr/sbin/node  node
+</verb></tscreen>
+
+<P>
+There are a few things to take note of here.  Firstly, all ax25
+sections are wrapped in [ ] and all NET/ROM sections are wrapped in
+&lt; &gt;.  Secondly you should be able to see that anyone who forgets to
+set their callsign in a TNC and tries to connect with the standard
+NOCALL set into their TNC will not connect, the 'L' means 'lockout'.
+Lastly and importantly, notice the order of the sections.  They are
+all done in interface order.
+
+<P>
+You should be able to see that the normal line for access to the
+cluster is like this ..
 
 <tscreen><verb>
 default  * * * * * *  - sysop /spider/src/client client %u ax25
 </verb></tscreen>
 
-or, if you wish your users to be able to use SSID's on their callsigns ..
+<P>
+however, if you wish your users to be able to use SSID's on their callsigns ..
 
 <tscreen><verb>
 default  * * * * * *  - sysop /spider/src/client client %s ax25
 </verb></tscreen>
 
-For most purposes this is not desirable. The only time you probably will 
+<P>
+For most purposes this is not desirable. The only time you probably will
 need this is when you need to allow other cluster nodes that are using SSID's
-in. In this case it would probably be better to use the first example and 
+in. In this case it would probably be better to use the first example and
 then add a specific line for that node like this:
 
 <tscreen><verb>
 GB7DJK-2  * * * * * *  - sysop /spider/src/client client gb7djk-2 ax25
 default  * * * * * *  - sysop /spider/src/client client %u ax25
 </verb></tscreen>
+
+<sect1>node.conf
+
+<P>
+For those of you that wish to run the node, you need to set up the
+node.conf file.  There are a couple of additional files, node.perms is
+very similar to the way ftp permissions are set up in NOS systems and 
+node.motd is the message anyone logging into the node will get.
+The node.conf file sets all the parameters of the node as you would
+expect.  An example is below ...
+
+<tscreen><verb>
+# /etc/ax25/node.conf - LinuxNode configuration file
+#
+# see node.conf(5)
+
+# Idle timeout (seconds).
+#
+IdleTimeout    1800
+
+# Timeout when gatewaying (seconds).
+#
+ConnTimeout    40000
+
+# Visible hostname. Will be shown at telnet login.
+#
+HostName       gb7mbc.ampr.org
+
+# ReConnect flag.
+# 
+ReConnect      off
+
+# "Local" network.
+#
+#LocalNet      44.139.8.48/32
+
+# Command aliases. See node.conf(5) for the meaning of the uppercase
+# letters in the name of the alias.
+#
+##Alias                CAllbook 'telnet %{2:44.17.0.53} 1235 %1 s'
+#Alias         CONVers  'telnet %{2:oh2ti} 3600 "/n %u %{1:139}\n/w *"'
+#Alias         CLuster  'c hkiclh'
+Alias           CONV    "telnet lurpac 3600"
+Alias           BBS     "c 70cm gb7crv"
+Alias           DXC     "telnet localhost 9000"
+Alias           MUD     "telnet homer 4000"
+##Alias           TEMP    "finger temp@mary.g6phf"
+##Alias           TNOS    "c ip1 gb7mbc-5"
+##Alias           TUtor   "telnet gb7mbc 3599"
+                                          
+# Hidden ports.
+#
+#HiddenPorts   2
+
+# External commands. See node.conf(5) for the meaning of the uppercase
+# letters in the name of the extcmd.
+#
+# Flags:       1       Run command through pipe
+#              2       Reconnected flag
+#
+#ExtCmd                TPM     3       nobody  /usr/bin/finger finger tpm
+#ExtCmd                ECho    1       nobody  /bin/echo echo \%U \%u \%S \%s \%P \%p \%R \%r \%T \%t \%\% \%0 \%{1:foobar} \%{2} \%3 \%4 \%5
+
+# Node ID.
+#
+NodeId         "\nBARE:GB7MBC-1"
+#NodeId                \033[01;31m***\033[0m
+
+# Netrom port name. This port is used for outgoing netrom connects.
+#
+NrPort         netrom
+
+# Logging level
+#
+LogLevel       3
+
+# The escape character (CTRL-T)
+#
+EscapeChar      ^T
+
+# Resolve ip numbers to addresses?
+#
+ResolveAddrs   off
+
+# Node prompt.
+#
+#NodePrompt    "\n"
+#NodePrompt    "%s@%h \%i> "
+NodePrompt     "\nBARE:GB7MBC-1 \%i > "
+#NodePrompt    "\a\033[36m%U\033[0m de \033[01;32m#LNODE\033[0m:\033[01;33mOH2BNS-10\033[0m> "
+</verb></tscreen>
+
+<P>
+This should be fairly obvious I hope.
+
+<sect1>Getting it all running
+
+<P>
+Ok, now we have all the relevant files configured, the next step is to get
+it all running.
+
+<P>
+The first thing to do is attach the TNC's.  Your TNC's should be in KISS mode
+and connected to the serial ports involved.
+
+<P>
+You now use the 'kissattach' command to connect the TNC's to the system like this ...
+
+<tscreen><verb>
+kissattach /dev/ttyS0 2m 44.131.96.199
+kissattach /dev/ttyS1 4m 44.131.96.199
+</verb></tscreen>
+
+<P>
+Assuming that 44.131.96.199 is your IP address.  The devices ttyS0 and ttyS1 are com1 and
+com2 respectively.  Now we can set some parameters ...
+
+<tscreen><verb>
+kissparms -p 2m -t 150 -l 150 -s 50 -r 50
+kissparms -p 4m -t 150 -l 150 -s 50 -r 50
+</verb></tscreen>
+
+<P>
+The command 'man kissparms' will give you the explanation of the switches.
+
+<P>
+Now we need to attach the NET/ROM ports in the same way ...
+
+<tscreen><verb>
+nrattach netrom
+nrattach netrom2
+</verb></tscreen>
+
+<P>
+All of the above can be put in a file and called from /etc/rc.d/rc.local.  Put all
+the above commands in a file called rc.ax25 and put a line in rc.local to call it.
+
+<P>
+Now you can start the daemons that set everything in motion ...
+
+<tscreen><verb>
+ax25d
+netromd -i
+</verb></tscreen>
+
+<P>
+All should now be running.  All that remains is to get the node working for telnet
+connections.  If nothing else, this will allow you to connect to the node yourself
+to check on connection status etc.  There are 2 files that need to be edited.
+
+<P>
+First edit /etc/services and add
+
+<tscreen><verb>
+node    3000/tcp     #OH2BNS's Node Software
+</verb></tscreen>
+
+<P>
+Assuming you want it to run on port 3000
+
+<P>
+Now cd /etc/xinetd.d and edit a new file called node.  It should look like this ...
+
+<tscreen><verb>
+# default: on
+#       unencrypted username/password pairs for authentication.
+service node
+{
+        socket_type     = stream        
+        wait            = no
+        user            = root
+        server          = /usr/sbin/node
+        log_on_failure  += USERID
+        disable         = yes
+}
+</verb></tscreen>
+
+<P>
+You now need to restart the xinetd daemon.  First find out what the PID is
+like so ..
+
+<tscreen><verb>
+ps auxw |grep xinetd
+</verb></tscreen>
+
+<P>
+You will get a reply something like this ...
+
+<tscreen><verb>
+root       592  0.0  0.1  2256  620 ?        S    Feb07   0:00 xinetd -stayalive -reuse -pidfile /var/run/xinetd.pid
+</verb></tscreen>
+
+<P>
+The PID or Process ID is 592 in this case so now we can issue the command ...
+
+<tscreen><verb>
+kill -HUP 592
+</verb></tscreen>
+
+<P>
+All should now be operational and you should be able to log into the node by
+using a telnet session to the relevant port, like so ...
+
+<tscreen><verb>
+telnet localhost 3000
+</verb></tscreen>
+
+<P>
+If that works, you are just about there.  you should (assuming you have radios connected
+to the TNC's) be able to connect out to other stations and receive incoming ax25 and
+netrom connections.
+
+<sect>Configuration
+
+<sect1>Allowing ax25 connects from users
+
+<P>
+This is dealt with in the previous section
  
 <sect1>Allowing telnet connects from users 
 
 <P> 
-From version 1.47 there is a new (more efficient) way of doing this
+>From version 1.47 there is a new (more efficient) way of doing this
 (see next section) but, if you prefer, the method of doing it described 
 here will continue to work just fine.
  
@@ -352,6 +900,7 @@ in /etc/services to allow connections to a port number, like this ....
 spdlogin   8000/tcp     # spider anonymous login port
 </verb></tscreen>
 
+<P>
 Then add a line in /etc/inetd.conf like this ....
 
 <tscreen><verb>
@@ -365,14 +914,15 @@ Once this is done, you need to restart inetd like this ....
 killall -HUP inetd
 </verb></tscreen>
 
-
-<P>Now login as <em>sysop</em> and cd spider/src. You can test that spider 
+<P>
+Now login as <em>sysop</em> and cd spider/src. You can test that spider 
 is accepting telnet logins by issuing the following command ....
 
 <tscreen><verb>
 ./client login telnet
 </verb></tscreen>
 
+<P>
 You should get a login prompt and on issuing a callsign, you will be given 
 access to the cluster.  Note, you will not get a password login.  There seems 
 no good reason for a password prompt to be given so it is not asked for.
@@ -390,7 +940,7 @@ You should now get the login prompt and be able to login as before.
 <sect1>Setting up telnet connects (from 1.47 onwards)
 
 <P>
-From version 1.47 you can choose to allow the perl cluster.pl program to 
+>From version 1.47 you can choose to allow the perl cluster.pl program to 
 allow connections directly (i.e. not via the <tt>/spider/src/client</tt>
 interface program). If you are using Windows then this is the only method
 available of allowing incoming telnet connections.
@@ -586,7 +1136,7 @@ or symbols:-
                connects to GB7DJK-1 [instead of a script called gb7djk-1]).
 </descrip>
 
-
+<P>
 There are many possible ways to configure the script but here are three examples, 
 one for a NETRom/AX25 connect, one for AGW engines and one for tcp/ip.  
 
@@ -645,6 +1195,7 @@ connection to GB7DJK-1 started
 G0VGS de GB7MBC 13-Dec-1998 2043Z >
 </verb></tscreen>
 
+<P>
 This will start a connection using the script called <em>gb7djk-1</em>.  You can
 follow the connection by watching the term or console from where you started
 <em>cluster.pl</em>.  From version 1.47 onwards, you will need to <tt>set/debug connect</tt> first.
@@ -737,6 +1288,7 @@ connect telnet mary.lancs.ac.uk
 'connect' ''
 </verb></tscreen>
 
+<P>
 So, the first connection is made by Spider.  This is fine as Spider uses the
 Net_Telnet script from within perl.  This actually uses TCP rather than TELNET 
 so no negotiation will be done on the first connection.  Once connected to
@@ -770,13 +1322,13 @@ DX:3:respawn:/bin/su -c "/usr/bin/perl -w /spider/perl/cluster.pl" sysop >/dev/t
 
 <P>
 This line works fine for RedHat distributions. It is also fine for SuSE up to
-7.0.  From Suse 7.1 you need to add runlevels 2 and 5 like this ...
+7.0.  From SuSE 7.1 you need to add runlevels 2 and 5 like this ...
 
 <tscreen><verb>
 DX:235:respawn:/bin/su -c "/usr/bin/perl -w /spider/perl/cluster.pl" sysop >/dev/tty7
 </verb></tscreen>
 
-
+<P>
 The line required for Slackware distributions is slightly different.  My thanks to 
 Aurelio, PA3EZL for this information.
 
@@ -788,6 +1340,10 @@ DX:23:respawn:/bin/su - sysop -c "/usr/bin/perl -w /spider/perl/cluster.pl" >/de
 This will automatically start DXSpider on tty7 (ALT-F7) on bootup and restart 
 it should it crash for any reason.
 
+<P>
+NB: It should be noted that /dev/tty7 is only an example.  Some SuSE systems will
+only accept upto tty6.  It really does not matter which tty you run it on.
+
 <P>
 As root type the command <em>telinit q</em>.  DXSpider should start up 
 immediately.  You will see the output on tty7 and if you login as <em>sysop</em> 
@@ -801,12 +1357,9 @@ you should find everything running nicely.
 <bf>IMPORTANT:</bf> 
 
 What you'll be left with once you've followed these instructions
-is (hopefully) a working DX Spider v1.47 system that is capable
+is (hopefully) a working DX Spider v1.50 system that is capable
 of accepting or originating "internet" connections, plus inbound
-AX.25 and TCP/IP radio connections. If the absence of outbound
-radio connections is a serious limitation for you, it would be
-better for you to wait a couple more weeks until this support has
-been added.
+and outbound AX.25 and TCP/IP radio connections.
 
 On the other hand, you may have an enquiring mind, or better yet,
 may be looking for a useful way of connecting your current
@@ -867,16 +1420,22 @@ and I have zero intention of trying to make them say otherwise.
 Install your chosen Perl environment. Unless you have a very good
 reason for not doing so, I strongly suggest that you use
 ActivePerl v5.6. For my testing & development, I used build 623.
-You can get this from:- <htmlurl
-url="http://www.activestate.com/Products/ActivePerl/Download.html"
+(A recent installation used the newer ActivePerl v5.6.1, build
+633 without any noticable difficulty.)  You can get this from:
+<htmlurl url="http://www.activestate.com/Products/ActivePerl/Download.html"
 name="http://www.activestate.com/Products/ActivePerl/Download.html">
 
-You will need to choose either the MSI or the AS package. My
-recommendation is that you choose the MSI package and deal with
-the consequences if your system isn't equipped with support for
-the latest MS Installer; you'll be better off in the long run.
-The build 623 download is 7,460 KB, so now is a really good time
-to have some tea if you're on a slow dial-up connection.
+The link takes you to an initial page of System Requirements and
+Software Prerequisites.  If you do not have it already installed, 
+you can download and install the Windows Installer 2.0 for a Win98
+installation.  Be forewarned, you will have to reboot your PC at the
+completion of the installer's installation.  
+
+If you already have the installer on your PC, simply click on the 
+Next arrow at the bottom of the page.  Two clicks will finally get
+you to the actual download page.  The MSI version of Build 633 is 
+now 8.6MB in size, so make that a big cup of tea or coffee if you're
+on a slow dial-up connection.
 
 During installation, please ensure that you do choose the options
 to "Add Perl to the PATH environment variable" and "Create Perl
@@ -919,12 +1478,15 @@ Time-HiRes.zip
 DB_File.zip
 </verb></tscreen>
 
-Make yourself a convenient directory to unpack all of these zip
-files into (I put mine in "D:\ppm>") and do the following (the
-bits you type in are blue ). Note that where these files land
-will be directly related to where you chose to install your
-ActivePerl (mine, as you can probably guess from what follows,
-went into "D:\Perl"):-
+If this is a new installation, now would also be a good time to 
+install a copy of WinZip on your PC.  Make yourself a convenient 
+directory to unpack all of these zip files into (I put mine in 
+"D:\ppm>" but "C:\ppm" works just as well.) and do the following 
+(the bits you type in are blue ).  You can upzip all of the files into
+the same directory.  When prompted, simply overwrite the Readme file 
+from each zip package.  Note that where these files land will be 
+directly related to where you chose to install your ActivePerl 
+(mine, as you can probably guess from what follows, went into "D:\Perl"):-
 
 <tscreen><verb>
 D:\ppm>ppm install Data-Dumper.ppd
@@ -960,33 +1522,51 @@ do it that way because it suits me.
 
 <P>
 Get the current version of the DX Spider distribution. This needs
-to be v1.47 or later. You've got two ways (currently) of getting
+to be v1.50 or later. You've got two ways (currently) of getting
 this; either get a CVS update from sourceforge (if you don't know
-what this is, then it isn't for you) or get my package from:-
+what this is, then it isn't for you) or get the latest "official"
+release from:
 
-<htmlurl url="http://www.dcc.rsgb.org/WinSpider.zip" name="http://www.dcc.rsgb.org/WinSpider.zip">
+<htmlurl url="http://www.dxcluster.org/download/index.html" name="http://www.dxcluster.org/download/index.html">
 
-or if you want the lastest CVS version (which is produced every night)
+or if you want the lastest snapshot of CVS version (which is produced 
+every night):-
 
 <htmlurl url="http://www.dxcluster.org/download/CVSlatest.tgz" name="http://www.dxcluster.org/download/CVSlatest.tgz">
 
-If you went down the CVS route, then everything will be nicely
-set out on your local disk. If you got the ZIP file, unpack it to
-somewhere convenient. The following examples assume that you put
-it on drive "C:\", for convenience.
-
-<bf>NOTE:</bf> This distribution method will go away as soon as the first
-v1.47 tarball is released. You can use WinZip to unpack that, and
-my life will be made easier by not needing to keep this .ZIP file
-updated.
+This is generally the best one to go for as it is completely up to
+date. However, there is always the very slight chance that it might
+unstable. Generally, there will be a note on the website if this is 
+the case. 
+
+
+The only difference between "CVSlatest.tgz" and the latest
+"official" release version is that it is more up to date. <bf>Do not confuse 
+the "CVSlatest.tgz" file with "Downloading from Sourceforge with CVS" - they
+are two quite different things.</bf>  "Downloading from Sourceforge with CVS" is
+explained in a section within the Admin manual.
+
+<p>
+If you go down the CVS route (ie installing WinCVS as explained in the Admin
+manual and downloaded from sourceforge), then everything will be nicely
+installed on your local disk. If you got the CVSlatest.tgz file, unzip 
+(<htmlurl url="http://www.winzip.com" name="winzip">) it to "C:\".  
+This is an important point since paths are included within the .tgz 
+file.  Make sure you unzip to the root directory of whichever drive you use...
+"C:\" or "D:\" or .., not "C:\spider."  If you double click on CVSlatest.tgz, 
+WinZip should open with a dialogue box that says the Archive contains a single
+file (CVSlatest.tar) and asks whether WinZip should decompress it to a 
+temporary fold and then open it.  Say "Yes" and then you will get the typical 
+Classical WinZip listing of files ready for extraction.  Remember, extract 
+them to your desired root directory ("C:\" or "D:\" or ...).  The following 
+examples assume that you put it on drive "C:\", for convenience.
 
 <sect>Installing the software
 
 <P>
-Ensure that your CVS session or your unZIPped file have left you
-with a directory "C:\spider\local"; if not, go to "C:\spider\"
-and create one. If "C:\spider" is missing, go back and figure out
-why, because it shouldn't be.
+At this point you will need to create 2 additional directories under 
+"C:\Spider."  Make directories "C:\spider\local" and "C:\spider\local_cmd". 
+If "C:\spider" is missing, go back and figure out why, because it shouldn't be.
 
 Now create your own local copy of the DXVars.pm file by:-
 
@@ -995,7 +1575,7 @@ copy c:\spider\perl\DXVars.pm.issue
 c:\spider\local\DXVars.pm
 </verb></tscreen>
 
-Now you'll need to edit this file using a text editor. If nothing
+Now you'll need to edit this file using a text editor like Notepad. If nothing
 else, you can simply
 
 <tscreen><verb>
@@ -1015,19 +1595,82 @@ minimum you must adjust the following items in DXVars.pm:-
 <item> $mycall  - Should hold the callsign of your DX Cluster
 <item> $myname  - The SysOp's first name
 <item> $myalias - the SysOp's callsign. Cannot be the same as $mycall!
+<item> $myqth - The station's geographical location (QTH).
+<item> $mylatitude - The station latitude in degrees and decimal fractions
+<item> $mylongitude - The station longitude in degrees and decimal fractions
+<item> $mylocator - The Maidenhead (or QRA) locator of the station 
 </itemize>
 
-You really also ought to update the $mylatitude, $mylongitude,
-$myqth and $myemail variables. And unless you are absolutely
-certain you know what you're doing, you should change nothing
-else in this file.
+You really also ought to update the $myqth and $myemail variables. And
+unless you are absolutely certain you know what you're doing, you
+should change nothing else in this file. Note that if you use an "@" or 
+a "$" character in one of the above strings (typically in $myemail) you must 
+write them as "\@" or "\$". 
+
+<sect1>Incoming telnets
+
+<P>
+If you want to enable inbound "TELNET" connections (or you are running
+Windows 98, NT, 2000 or XP), you've got a little more work to do. From a
+handy "DOS box" that's not doing anything else, do the following:-
+
+<tscreen><verb>
+copy \spider\perl\Listeners.pm \spider\local
+cd \spider\local
+notepad listeners.pm
+</verb></tscreen>
+
+The following line need attention:-
+
+<tscreen><verb>
+#               ["0.0.0.0", 7300],
+</verb></tscreen>
+
+On my machine, I've simply uncommented the "0.0.0.0" entry by
+removing the '#' from the front of the line. 
+
+<bf>You MUST carry out this step if you are
+running on a Windows 98, NT, 2000 or XP based system</bf>
+
+If you don't have a static hostname for your machine, and you
+intend to allow folk to connect to your machine across the
+internet, then I'd suggest you pay a visit to www.dyndns.org and
+create one for yourself. While it's free, it will take a modest
+amount of effort on your part to read, understand and
+implement what needs to be done to set this up.
+
+<p>If your machine is connected to the internet <bf>and</bf> you don't
+want to allow your machine to be visible to the outside world you
+should change the "0.0.0.0" to "127.0.0.1" [which is
+"localhost"]. This will then only allow connections from inside your
+machine. As was said earlier: if you aren't running Win9x (or you want
+to use DXTelnet or somesuch), then you need to have the machine
+listening at least to "127.0.0.1" ("0.0.0.0" means <bf>all</bf> IP
+addresses).
 
 <sect1>The AGW packet engine
 
 <P>
 On the assumption that you'll be using the SV2AGW Packet Engine
-to interface your radios to the cluster, you should now create
-your own local copy of AGWConnect.pm by:-
+to interface your radios to the cluster, it would be a good idea to
+download the Packet Engine software!  You can get this software from:
+
+<htmlurl url="http://www.raag.org/sv2agw/agwpe.zip" name="http://www.raag.org/sv2agw/agwpe.zip">
+
+Depending upon your TNCs, you may also need to get:
+
+<htmlurl url="http://www.raag.org/sv2agw/drivers.zip" name="http://www.raag.org/sv2agw/drivers.zip">
+
+A couple of the tools:
+
+<htmlurl url="http://www.raag.org/sv2agw/agwterm.zip" name="http://www.raag.org/sv2agw/agwterm.zip">
+
+<htmlurl url="http://www.raag.org/sv2agw/agwmonitor.zip" name="http://www.raag.org/sv2agw/agwmonitor.zip">
+
+will also help with troubleshooting of the RF links themselves.
+
+Install and configure AGWPE.  You should now create your own local copy of 
+AGWConnect.pm by:-
 
 <tscreen><verb>
 copy c:\spider\perl\AGWConnect.pm
@@ -1049,6 +1692,9 @@ consider adjusting the following items in AGWConnect.pm:-
 <item>$passwd - password that matches $login
 </itemize>
 
+The login ID and passwd only need to be set if you are accessing AGW separately
+via its web interface.  This interface is normally not needed for use with DXSpider.
+
 <sect1>Setting up the initial user files
 
 <P>
@@ -1075,8 +1721,8 @@ If you did everything you were told, your DOS window will now
 hold a display which looks something like:-
 
 <tscreen><verb>
-DXSpider DX Cluster Version 1.47
-Copyright (c) 1998-2001 Dirk Koopman G1TLH
+DXSpider DX Cluster Version 1.50
+Copyright (c) 1998-2002 Dirk Koopman G1TLH
 loading prefixes ...
 loading band data ...
 loading user file system ...
@@ -1102,66 +1748,64 @@ queue msg (0)
 Now, if that's what you've got, you are very nearly home and dry
 (in as far as these particular experiments are concerned, anyhow)
 
-To access your new cluster (from the local machine) find yourself another
-"DOS box" and do the following:-
+If you are running Windows 9x you can access your new cluster (from
+the local machine) by finding yourself another "DOS box" and doing the
+following:-
 
 <tscreen><verb>
 cd \spider\perl
 perl winclient.pl
 </verb></tscreen>
 
-If you are rewarded with a display which looks something like:-
+If you are running Windows NT, 2000 or XP then winclient.pl does not
+work. We don't know why other than this seems to be some kind of
+incomaptibility in perl. You can achieve the same thing by telnetting
+to the port you defined in Listeners.pm (7300 as default), thus:-
 
 <tscreen><verb>
-Hello Iain, this is GB7SJP in Amersham, Bucks running DXSpider V1.47
-Cluster: 1 nodes, 1 local / 1 total users Max users 2 Uptime 0 00:00
-M0ADI de GB7SJP 4-Mar-2001 1511Z >
+Menu->Start->Run
+telnet localhost 7300
 </verb></tscreen>
 
-You've arrived. Try some commands, and see how they feel. (In
-case you were wondering, "Iain", "M0ADI" and "GB7SJP" all came
-from the version of DXVars.pm that was on the machine when I
-started the winclient.pl)
+On getting the <bf>login:</bf> prompt, enter your sysop callsign (the one you
+put in DXVars.pm as $myalias).
 
-<sect1>Incoming telnets
-
-<P>
-If you want to enable inbound "TELNET" connections, you've got a
-little more work to do. From a handy "DOS box" that's not doing
-anything else, do the following:-
-
-<tscreen><verb>
-copy \spider\perl\listeners.pm \spider\local
-cd \spider\local
-notepad listeners.pm
-</verb></tscreen>
+<p>I would recommend <bf>strongly</bf> that you obtain a better telnet
+client than that which comes with windows (I use <htmlurl
+url="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html"
+name="PuTTY">). 
 
-The following lines need attention:-
+<p>Anyway, if you are rewarded with a display which looks something like:-
 
 <tscreen><verb>
-["0.0.0.0", 7300],
+Hello Iain, this is GB7SJP in Amersham, Bucks running DXSpider V1.50
+Cluster: 1 nodes, 1 local / 1 total users Max users 2 Uptime 0 00:00
+M0ADI de GB7SJP 4-Mar-2001 1511Z >
 </verb></tscreen>
 
-On my machine, I've simply uncommented the "0.0.0.0" entry by
-removing the '#' from the front of the line. 
+You've arrived. Try some commands, and see how they feel. (In
+case you were wondering, "Iain", "M0ADI" and "GB7SJP" all came
+from the version of DXVars.pm that was on the machine when I
+started the winclient.pl)
 
-If you don't have a static hostname for your machine, and you
-intend to allow folk to connect to your machine across the
-internet, then I'd suggest you pay a visit to www.dyndns.org and
-create one for yourself. While it's free, it will take a modest
-an amount of effort on your part to read, understand and
-implement what needs to be done to set this up.
+<p>The interface is very basic. It is a simple command line. There are
+better looking interfaces. Most of the "standard" logging and DX
+Cluster access programs that are capable of connecting via a TCP or
+telnet connection will work as a "Sysop Console" client. You connect
+to "localhost" on the port that you defined in Listeners.pm (usually
+7300). I recommend packages like <htmlurl
+url="http://www.qsl.net/wd4ngb/telnet.htm" name="DXTelnet">.
 
 <sect1>Connecting to other clusters
 
 <P>
-If you want to connect this to another cluster, then you'll want
-to negotiate a link with someone. For experimental purposes, I'm
-happy to allow folk to connect to GB7DXA (spud.ath.cx), on the
-understanding that the system may or may not be there and may or
-may not be connected to anything particularly useful at any given
-moment. Contact me by Email if you want me to set up a connection
-for you.
+If you want to connect this to another cluster, then you'll want to
+negotiate a link with someone. For experimental purposes, I'm happy to
+allow folk to connect to GB7DXA (spud.ath.cx), on the understanding
+that the system may or may not be there and may or may not be
+connected to anything particularly useful at any given moment. Contact
+me by <htmlurl url="mailto:g0rdi@blacksheep.org" name="Email"> if you
+want me to set up a connection for you.
 
 <sect>General Information
 
@@ -1179,7 +1823,7 @@ a comment)
 # check every 10 minutes to see if gb7xxx is connected and if not
 # start a connect job going
 
-0,10,20,30,40,50 * * * * start_connect('gb7xxx') if unless connected('gb7xxx')
+0,10,20,30,40,50 * * * * start_connect('gb7xxx') unless connected('gb7xxx')
 </verb></tscreen>
 
 <P>
@@ -1195,3 +1839,5 @@ If you want to know more about it, look at the
 at the cron page where it is explained more fully.
 
 </article>
+
+