typo correction in the installation manual, thanks Charlie K1XX
[spider.git] / sgml / installation.sgml
index dd3385e403e430073bedf1bad10175865b109241..8ed728192c1781abb0ec201c586ab7a7ee1f7f2e 100644 (file)
@@ -4,10 +4,10 @@
 
 <!-- Title information -->
 
 
 <!-- Title information -->
 
-<title>The DXSpider Installation Manual v1.48</title> 
+<title>The DXSpider Installation Manual v1.50</title> 
 <author>Iain Philipps, G0RDI (g0rdi@77hz.com) and
 <author>Iain Philipps, G0RDI (g0rdi@77hz.com) and
-Ian Maude, G0VGS, (ianmaude@btinternet.com)</author>
-<date>Version 1.48, July 2001 revision 1.1</date>
+Ian Maude, G0VGS, (g0vgs@gb7mbc.net)</author>
+<date>July 2002 revision 0.2</date>
 
 <abstract>
 A reference for SysOps of the DXSpider DXCluster program.
 
 <abstract>
 A reference for SysOps of the DXSpider DXCluster program.
@@ -23,12 +23,9 @@ A reference for SysOps of the DXSpider DXCluster program.
 <sect1>Introduction
 
 <P>
 <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.  
 <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 
 
 <P>
 I am assuming a general knowledge of Linux and its commands.  You should 
@@ -41,8 +38,12 @@ 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.
 
 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/bymodule/"> , 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>
 
 <P>
 <itemize>
@@ -52,10 +53,13 @@ following modules from <htmlurl url="http://www.cpan.org/CPAN.html" name="http:/
 <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/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>
 </itemize>
 
 <P>
-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.
+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: -
 
 <P>
 Log in as 'root', and make sure you're at '/root' before you continue. Here are exactly the commands you must issue next: -
@@ -89,8 +93,8 @@ Log in as 'root', and make sure you're at '/root' before you continue. Here are
 # make install
 # cd ..
 #
 # make install
 # cd ..
 #
-# tar xvfz /usr/local/packages/Curses-1.05.tar.gz
-# cd Curses-1.05
+# tar xvfz /usr/local/packages/Curses-1.06.tar.gz
+# cd Curses-1.06
 # perl Makefile.PL
 # make test
 # make install
 # perl Makefile.PL
 # make test
 # make install
@@ -102,10 +106,18 @@ Log in as 'root', and make sure you're at '/root' before you continue. Here are
 # make test
 # make install
 # cd ..
 # 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>
 </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 IO, above.
+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
 
 
 <sect1>Preparation
@@ -113,7 +125,7 @@ Do not fall into the trap of thinking they're all the same, just because they ne
 <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 
 <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 
 
 <P>
 Login as root and create a user to run the cluster under.  <bf><it>UNDER 
@@ -122,11 +134,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.
 
 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>
 
 <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 ...
 
 <P>
 Now set a password for the user ...
 
@@ -145,11 +163,12 @@ permissions.  Copy the tarball to /home/sysop and do the following.
 
 <tscreen><verb>
 # cd ~sysop
 
 <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>
 
 # 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.
 
 If you do not have the command <em>groupadd</em> available to you simply 
 add a line in /etc/group by hand.
 
@@ -157,6 +176,7 @@ add a line in /etc/group by hand.
 # vi /etc/group                (or your favorite editor)
 </verb></tscreen>
 
 # 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
 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
@@ -206,11 +226,31 @@ $ vi DXVars.pm (or your favourite editor)
 
 <P>
 Using the distributed DXVars.pm as a a template, set your cluster callsign, 
 
 <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";
 
 <tt>
 $myemail = "ianmaude\@btinternet.com";
@@ -220,8 +260,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.
                
 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 
 <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 
@@ -243,6 +281,18 @@ the sysop.
 $ ./create_sysop.pl
 </verb></tscreen>
 
 $ ./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>
 <sect1>Starting up for the first time
 
 <P>
@@ -251,7 +301,7 @@ It should look something like this ...
 
 <tscreen><verb>
 $ ./cluster.pl
 
 <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 ...
 Copyright (c) 1998 Dirk Koopman G1TLH
 loading prefixes ...
 loading band data ...
@@ -280,6 +330,7 @@ was set as GB7MBC.  You should therefore see this when you login ....
 G0VGS de GB7MBC 19-Nov-1999 2150Z >
 </verb></tscreen>
 
 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 ....
 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 ....
@@ -291,17 +342,6 @@ shutdown
 <P>
 and both the cluster and the client should return to Linux prompts.
 
 <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
 
 
 <sect>Linux quick installation guide
 
@@ -332,6 +372,7 @@ is the user that should be doing that process.
 <item>./cluster.pl (sysop)
 </itemize>
 
 <item>./cluster.pl (sysop)
 </itemize>
 
+<P>
 Spider should now be running and you should be able to login using the
 client program.
 
 Spider should now be running and you should be able to login using the
 client program.
 
@@ -343,6 +384,7 @@ client program.
 <item>killall -HUP inetd (root)
 </itemize>
 
 <item>killall -HUP inetd (root)
 </itemize>
 
+<P>
 Spider should now be able to accept logins via telnet, netrom and ax25.
 
 <itemize>
 Spider should now be able to accept logins via telnet, netrom and ax25.
 
 <itemize>
@@ -357,35 +399,490 @@ Spider should now be able to accept logins via telnet, netrom and ax25.
 <item>Enter the correct line in /etc/inittab (root)
 </itemize>
 
 <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>
+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>
 
 <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 ...
+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>
 
 
 <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>
 
 
 <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
 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>
 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 
 
  
 <sect1>Allowing telnet connects from users 
 
@@ -402,6 +899,7 @@ in /etc/services to allow connections to a port number, like this ....
 spdlogin   8000/tcp     # spider anonymous login port
 </verb></tscreen>
 
 spdlogin   8000/tcp     # spider anonymous login port
 </verb></tscreen>
 
+<P>
 Then add a line in /etc/inetd.conf like this ....
 
 <tscreen><verb>
 Then add a line in /etc/inetd.conf like this ....
 
 <tscreen><verb>
@@ -415,14 +913,15 @@ Once this is done, you need to restart inetd like this ....
 killall -HUP inetd
 </verb></tscreen>
 
 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>
 
 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.
 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.
@@ -636,7 +1135,7 @@ or symbols:-
                connects to GB7DJK-1 [instead of a script called gb7djk-1]).
 </descrip>
 
                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.  
 
 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.  
 
@@ -695,6 +1194,7 @@ connection to GB7DJK-1 started
 G0VGS de GB7MBC 13-Dec-1998 2043Z >
 </verb></tscreen>
 
 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.
 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.
@@ -787,6 +1287,7 @@ connect telnet mary.lancs.ac.uk
 'connect' ''
 </verb></tscreen>
 
 '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
 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
@@ -826,7 +1327,7 @@ This line works fine for RedHat distributions. It is also fine for SuSE up to
 DX:235:respawn:/bin/su -c "/usr/bin/perl -w /spider/perl/cluster.pl" sysop >/dev/tty7
 </verb></tscreen>
 
 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.
 
 The line required for Slackware distributions is slightly different.  My thanks to 
 Aurelio, PA3EZL for this information.
 
@@ -1012,31 +1513,43 @@ do it that way because it suits me.
 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
 this; either get a CVS update from sourceforge (if you don't know
 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
 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">
 
 
 <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
+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. 
+
+<p>The only difference between "CVSlatest.tgz" and the latest
+"official" release version is that it is more up to date. Don't confuse 
+this TGZ file with "Downloading from Sourceforge with CVS" - they are two
+quite different things.  
+
+<p>
+If you went down the CVS route (ie installed wincvs and downloaded from
+sourceforge), then everything will be nicely
+set out on your local disk. If you got the TGZ file, unpack it to
 somewhere convenient. The following examples assume that you put
 it on drive "C:\", for convenience.
 
 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.
+<p>You will need <htmlurl url="http://www.winzip.com" name="winzip"> to
+manipulate the TGZ files (they are bit like ZIP files) if you are not using CVS.
 
 <sect>Installing the software
 
 <P>
 
 <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.
+Ensure that your CVS session or your WINunZIPped file have left you with
+a directory "C:\spider\local" and C:\spider\local_cmd"; if not, go to
+"C:\spider\" and create them. 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:-
 
 
 Now create your own local copy of the DXVars.pm file by:-
 
@@ -1065,12 +1578,59 @@ 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> $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>
 
 </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 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 lines 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 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
+an 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
 
 
 <sect1>The AGW packet engine
 
@@ -1152,15 +1712,34 @@ 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)
 
 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>
 
 
 <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>
+Menu->Start->Run
+telnet localhost 7300
+</verb></tscreen>
+
+On getting the <bf>login:</bf> prompt, enter your sysop callsign (the one you
+put in DXVars.pm as $myalias).
+
+<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">). 
+
+<p>Anyway, if you are rewarded with a display which looks something like:-
 
 <tscreen><verb>
 Hello Iain, this is GB7SJP in Amersham, Bucks running DXSpider V1.47
 
 <tscreen><verb>
 Hello Iain, this is GB7SJP in Amersham, Bucks running DXSpider V1.47
@@ -1173,45 +1752,24 @@ 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)
 
 from the version of DXVars.pm that was on the machine when I
 started the winclient.pl)
 
-<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>
-
-The following lines 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. 
-
-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>
 
 <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
 
 
 <sect>General Information
 
@@ -1229,7 +1787,7 @@ a comment)
 # check every 10 minutes to see if gb7xxx is connected and if not
 # start a connect job going
 
 # 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>
 </verb></tscreen>
 
 <P>