1 The DXSpider Installation Manual v1.49
2 Iain Philipps, G0RDI (g0rdi@77hz.com) and Ian Maude, G0VGS,
3 (ianmaude@btinternet.com)
4 November 2001 revision 1.0
6 A reference for SysOps of the DXSpider DXCluster program.
7 ______________________________________________________________________
16 1.3 Installing the software
17 1.4 Setting callsigns etc
18 1.5 The client program
19 1.6 Starting up for the first time
21 2. Linux quick installation guide
25 3.1 Allowing ax25 connects from users
26 3.2 Allowing telnet connects from users
27 3.3 Setting up telnet connects (from 1.47 onwards)
28 3.4 Setting up for AGW Engine (1.47 onwards)
29 3.5 Setting up node connects
30 3.6 Connection scripts
31 3.7 Starting the connection
33 3.9 Autostarting the cluster
35 4. Microsoft Windows Installation
41 4.5 Additional packages
44 5. Installing the software
46 5.1 The AGW packet engine
47 5.2 Setting up the initial user files
49 5.4 Connecting to other clusters
51 6. General Information
56 ______________________________________________________________________
62 This section describes the installation of DX Spider v1.47 on a RedHat
63 Linux Distribution. Wherever possible I will try to include
64 differences for other distributions. I do not intend to try and cover
65 the installation of Linux or the setup of the AX25 utilities. If you
66 need help on this then read Iains original installation guide that
67 comes with the Spider distribution.
70 I am assuming a general knowledge of Linux and its commands. You
71 should know how to use tar and how to edit files using your favourite
75 The crucial ingredient for all of this is Perl. Earlier versions of
76 Spider required perl 5.004, however it is now STRONGLY recommended
77 that you use at least version 5.005_03 as this is the version being
78 used in the development of Spider.
81 In addition to the standard Red Hat distribution you will require the
82 following modules from http://www.cpan.org/CPAN.html ...
86 o Data-Dumper-2.10.tar.gz
88 o TimeDate-1.10.tar.gz
90 o IO-1.20.tar.gz (for perl 5.00403 and lower)
92 o Net-Telnet-3.02.tar.gz
96 o Time-HiRes-01.20.tar.gz
99 Copy the CPAN modules listed above to a convenient place on your
100 computer. One good place would be /usr/local/packages, and the
101 instructions which follow will assume that that's where you have put
105 Log in as 'root', and make sure you're at '/root' before you continue.
106 Here are exactly the commands you must issue next: -
133 # tar xvfz /usr/local/packages/Data-Dumper-2.10.tar.gz
134 # cd Data-Dumper-2.10
140 # tar xvfz /usr/local/packages/TimeDate-1.10.tar.gz
147 # tar xvfz /usr/local/packages/IO-1.20.tar.gz
151 # make install UNINST=1
154 # tar xvfz /usr/local/packages/Net-Telnet-3.02.tar.gz
161 # tar xvfz /usr/local/packages/Curses-1.06.tar.gz
168 # tar xvfz /usr/local/packages/Time-HiRes-01.20.tar.gz
169 # cd Time-HiRes-01.20
178 Do not fall into the trap of thinking they're all the same, just
179 because they nearly are! Pay particular attention to the instructions
186 I will assume that you have already downloaded the latest tarball of
187 the DXSpider software and are ready to install it. I am assuming
188 version 1.47 for this section but of course you would use the latest
192 Login as root and create a user to run the cluster under. UNDER NO
193 CIRCUMSTANCES USE ROOT AS THIS USER!. I am going to use the name
194 sysop. You can call it anything you wish. Depending on your security
195 requirements you may wish to use an existing user, however this is
205 For SUSE distributions, the command would be ..
215 Now set a password for the user ...
221 # Retype new UNIX password:
222 passwd: all authentication tokens updated successfully
228 1.3. Installing the software
230 Now to unpack the DX Spider distribution, set symbolic links and group
231 permissions. Copy the tarball to /home/sysop and do the following.
236 # tar xvfz spider-1.47.tar.gz
237 # ln -s ~sysop/spider /spider
238 # groupadd -g 251 spider (or another number)
243 If you do not have the command groupadd available to you simply add a
244 line in /etc/group by hand.
248 # vi /etc/group (or your favorite editor)
253 You also need to add some others to the group, including your own
254 callsign (this will be used as an alias) and root. The finished line
255 in /etc/group should look something like this
257 spider:x:251:sysop,g0vgs,root
260 The next step is to set the permissions on the Spider directory tree
265 # chown -R sysop.spider spider
266 # find . -type d -exec chmod 2775 {} \;
267 # find . -type f -exec chmod 775 {} \;
273 This last step allows various users of the group spider to have write
274 access to all the directories. This is not really needed just yet but
275 will be useful when web interfaces start to appear.
278 Finally, you need to fix the permissions on the ax25_call and
279 netrom_call programs. Check where they are with the locate command
280 and alter the permissions with the chmod command like this ..
284 # chown root ax25_call netrom_call
285 # chmod 4775 ax25_call netrom_call
291 1.4. Setting callsigns etc
293 Now login to your machine as the user you created earlier. In my case
294 that user is called sysop. Once logged in, issue the following
302 $ cp perl/DXVars.pm.issue local/DXVars.pm
304 $ vi DXVars.pm (or your favourite editor)
310 Using the distributed DXVars.pm as a a template, set your cluster
311 callsign, sysop callsign and other user info to suit your own
312 environment. Note that this a perl file which will be parsed and
313 executed as part of the cluster. If you get it wrong then perl will
314 complain when you start the cluster process. It is important only to
315 alter the text of any section. Some of the lines look a little odd.
316 Take this line for example ....
318 $myemail = "ianmaude\@btinternet.com";
321 There appears to be an extra slash in there. However this has to be
322 there for the file to work so leave it in.
325 PLEASE USE CAPITAL LETTERS FOR CALLSIGNS
328 DON'T alter any file in /spider/perl, they are overwritten with every
329 release. Any files or commands you place in /spider/local or
330 /spider/local_cmd will automagically be used in preference to the ones
331 in /spider/perl EVEN while the cluster is running!
334 Save the new file and change directory to ../perl ....
344 Now type the following command which creates the basic user file with
355 1.5. The client program
357 In earlier versions of Spider, all the processes were Perl scripts.
358 This was fine but with a lot of users your computer memory would soon
359 be used up. To combat this a new client was written in "C". This
360 client only works for incoming connects at the moment. Before you can
361 use it though it has to be "made". CD to /spider/src and type make.
362 You should see the output on your screen and hopefully now have a
363 small C program called client. Leave it in this directory.
367 1.6. Starting up for the first time
369 We can now bring spider up for the first time and see if all is well
370 or not! It should look something like this ...
375 DXSpider DX Cluster Version 1.47
376 Copyright (c) 1998 Dirk Koopman G1TLH
378 loading band data ...
379 loading user file system ...
380 starting listener ...
381 reading existing message headers
383 orft we jolly well go ...
389 If all is well then login on another term or console as sysop and cd
390 to /spider/src. Now issue the following command ...
397 This should log you into the cluster as the sysop under the alias
398 callsign we set earlier. In this case the callsign is G0VGS. The
399 cluster callsign is set in the DXVars.pm file in /spider/local. In
400 this case we will assume that this was set as GB7MBC. You should
401 therefore see this when you login ....
405 G0VGS de GB7MBC 19-Nov-1999 2150Z >
410 If you do, congratulations! If not, look over the instructions again,
411 you have probably missed something out. You can shut spider down
412 again with the command ....
422 and both the cluster and the client should return to Linux prompts.
426 2. Linux quick installation guide
428 This section is designed for experienced Spider sysops who want to
429 install Spider from scratch. It is simply a check list of things that
430 need to be done without any explanations. The name in brackets at the
431 end of each line is the user that should be doing that process.
436 o Get the additional CPAN modules and install them (root)
438 o Create the "sysop" user and set a password (root)
440 o Put the Spider tarball in sysop and untar it (root)
442 o ln -s sysop/spider /spider (root)
444 o groupadd -g 251 spider (root)
446 o Add any more users you need to the group entry in /etc/group (root)
448 o Set the permissions on the spider tree (root)
450 o Fix permissions on ax25_call and netrom_call (root)
452 o Login as the sysop user
454 o cd to /spider (sysop)
456 o mkdir local (sysop)
458 o mkdir local_cmd (sysop)
460 o cp perl/DXVars.pm.issue local/DXVars.pm (sysop)
463 o cd to /spider/local and edit DXVars to set your details (sysop)
467 o ./create_sysop.pl (sysop)
469 o ./cluster.pl (sysop)
471 Spider should now be running and you should be able to login using the
477 o Enter the correct line in ax25d.conf (root)
479 o Enter the correct line in /etc/services (root)
481 o Enter the correct line in /etc/inetd.conf (root)
483 o killall -HUP inetd (root)
485 Spider should now be able to accept logins via telnet, netrom and
491 o Start the cluster (sysop)
493 o set/node and type for links (sysop)
495 o Write any connect scripts (sysop)
497 o Edit /spider/crontab as required (sysop)
499 o Edit any other files as necessary (sysop)
501 o Set filters, hops and forwarding files (sysop)
505 o Enter the correct line in /etc/inittab (root)
510 3.1. Allowing ax25 connects from users
512 As stated previously, the aim of this document is not to tell you how
513 to configure Linux or the ax25 utilities. However, you do need to add
514 a line in your ax25d.conf to allow connections to DXSpider for your
515 users. For each interface that you wish to allow connections on, use
516 the following format ...
520 default * * * * * * - sysop /spider/src/client client %u ax25
525 or, if you wish your users to be able to use SSID's on their callsigns
529 default * * * * * * - sysop /spider/src/client client %s ax25
534 For most purposes this is not desirable. The only time you probably
535 will need this is when you need to allow other cluster nodes that are
536 using SSID's in. In this case it would probably be better to use the
537 first example and then add a specific line for that node like this:
541 GB7DJK-2 * * * * * * - sysop /spider/src/client client gb7djk-2 ax25
542 default * * * * * * - sysop /spider/src/client client %u ax25
548 3.2. Allowing telnet connects from users
551 From version 1.47 there is a new (more efficient) way of doing this
552 (see next section) but, if you prefer, the method of doing it
553 described here will continue to work just fine.
556 Allowing telnet connections is quite simple. Firstly you need to add
557 a line in /etc/services to allow connections to a port number, like
562 spdlogin 8000/tcp # spider anonymous login port
567 Then add a line in /etc/inetd.conf like this ....
571 spdlogin stream tcp nowait root /usr/sbin/tcpd /spider/src/client login telnet
577 Once this is done, you need to restart inetd like this ....
588 Now login as sysop and cd spider/src. You can test that spider is
589 accepting telnet logins by issuing the following command ....
593 ./client login telnet
595 You should get a login prompt and on issuing a callsign, you will be
596 given access to the cluster. Note, you will not get a password login.
597 There seems no good reason for a password prompt to be given so it is
601 Assuming all is well, then try a telnet from your linux console ....
605 telnet localhost 8000
611 You should now get the login prompt and be able to login as before.
614 3.3. Setting up telnet connects (from 1.47 onwards)
616 From version 1.47 you can choose to allow the perl cluster.pl program
617 to allow connections directly (i.e. not via the /spider/src/client
618 interface program). If you are using Windows then this is the only
619 method available of allowing incoming telnet connections.
622 To do this you need first to remove any line that you may previously
623 have set up in /etc/inetd.conf. Remember to:-
633 to make the change happen...
636 Having done that, you need to copy the file /spider/perl/Listeners.pm
637 to /spider/local and then edit it. You will need to uncomment the line
638 containing "0.0.0.0" and select the correct port to listen on. So that
651 As standard, the listener will listen on all interfaces
652 simultaneously. If you require more control than this, you can
653 specify each interface individually:-
662 ["gb7baa.dxcluster.net", 8000],
663 ["44.131.16.2", 6300],
670 This will only be successful if the IP addresses on each interface are
671 static. If you are using some kind of dynamic IP addressing then the
672 'default' method is the only one that will work.
675 Restart the cluster.pl program to enable the listener.
678 One important difference with the internal listener is that no echoing
679 is done by the cluster program. Users will need to set 'local-echo' on
680 in their telnet clients if it isn't set automatically (as per the
681 standards). Needless to say this will probably only apply to Windows
685 3.4. Setting up for AGW Engine (1.47 onwards)
687 AGW Engine is a Windows based ax25 stack. You can connect to an AGW
688 engine from Linux as well as Windows based machines.
691 In order to enable access to an AGW Engine you need to copy
692 /spider/perl/AGWConnect.pm to /spider/local and edit it. Specifically
698 o set $login and $passwd to the values set up in your AGW
699 installation. If you haven't set any there, then you should not
702 o You can connect to a remote AGW engine (ie on some other machine)
703 by changing $addr and $port appropriately.
705 o Restart the cluster.pl program
710 3.5. Setting up node connects
712 In order to allow cluster node connections, spider needs to know that
713 the connecting callsign is a cluster node. This is the case whether
714 the connect is incoming or outgoing. In spider this is a simple task
715 and can be done in runtime.
718 Later versions of Spider can distinguish different software and treat
719 them differently. For example, the WCY beacon cannot be handles by
720 AK1A type nodes as AK1A does not know what to do with PC73. There are
721 4 different types of node at present and although they may not have
722 any major differences at the moment, it allows for compatibility. The
736 For now, we will assume that the cluster we are going to connect to is
740 Start up the cluster as you did before and login as the sysop with
741 client. The cluster node I am wanting to make a connection to is
742 GB7BAA but you would obviously use whatever callsign you required. At
753 The case does not matter as long as you have a version of DXSpider
754 later than 1.33. Earlier versions required the callsign to be in
758 That is now set, it is as simple as that. To prove it, login on yet
759 another console as sysop, cd to spider/src and issue the command ...
763 ./client gb7baa (using the callsign you set as a node)
769 You should get an initialisation string from DXSpider like this ...
779 If the callsign you just set up as a cluster node is for an incoming
780 connect, this is all that needs to be done. If the connection is to
781 be outgoing then a connection script needs to be written.
784 Sometimes you make a mistake... Honest, it does happen. If you want
785 to make a node back to being a normal user, regardless of what type it
793 3.6. Connection scripts
795 Because DXSpider operates under Linux, connections can be made using
796 just about any protocol; AX25, NETRom, tcp/ip, ROSE etc are all
797 possible examples. Connect scripts live in the /spider/connect
798 directory and are simple ascii files. Writing a script for
799 connections is therefore relatively simple.
802 The connect scripts consist of lines which start with the following
803 keywords or symbols:-
807 # All lines starting with a # are ignored, as are completely blank
812 timeout followed by a number is the number of seconds to wait
813 for a command to complete. If there is no timeout specified in
814 the script then the default is 60 seconds.
818 abort is a regular expression containing one or more strings to
819 look for to abort a connection. This is a perl regular
820 expression and is executed ignoring case.
824 connect followed by ax25, agw (for Windows users) or telnet and
825 some type dependent information. In the case of a telnet
826 connection, there can be up to two parameters. The first is the
827 ip address or hostname of the computer you wish to connect to
828 and the second is the port number you want to use (this can be
829 left out if it is a normal telnet session). In the case of an
830 ax25 session then this would normally be a call to ax25_call or
831 netrom_call as in the example above. It is your responsibility
832 to get your node and other ax25 parameters to work before going
836 ' line in a chat type script. The words/phrases normally come in
837 pairs, either can be empty. Each line reads input from the
838 connection until it sees the string (or perl regular expression)
839 contained in the left hand string. If the left hand string is
840 empty then it doesn't read or wait for anything. The comparison
841 is done ignoring case. When the left hand string has found what
842 it is looking for (if it is) then the right hand string is sent
843 to the connection. This process is repeated for every line of
848 client starts the connection, put the arguments you would want
849 here if you were starting the client program manually. You only
850 need this if the script has a different name to the callsign you
851 are trying to connect to (i.e. you have a script called other
852 which actually connects to GB7DJK-1 [instead of a script called
856 There are many possible ways to configure the script but here are
857 three examples, one for a NETRom/AX25 connect, one for AGW engines and
860 abort (Busy|Sorry|Fail)
861 # don't forget to chmod 4775 netrom_call!
862 connect ax25 /usr/sbin/netrom_call bbs gb7djk g1tlh
863 # you can leave this out if you call the script 'gb7dxm'
874 abort (Busy|Sorry|Fail)
875 # this does exactly the same as the previous example
876 # the '1' is the AGW port number to connect thru for g1tlh
878 # you can leave this out if you call the script 'gb7dxm'
889 connect telnet dirkl.tobit.co.uk
890 # tell GB7DJK-1 that it is connected to GB7DJK
891 # you can leave this out if you call this script 'gb7djk'
898 Both these examples assume that everything is set up properly at the
899 other end. You will find other examples in the /spider/examples
903 3.7. Starting the connection
905 You start the connection, from within a sysop enabled cluster login,
906 by typing in the word connect followed by a script name like this ....
910 G0VGS de GB7MBC 13-Dec-1998 2041Z >connect gb7djk-1
911 connection to GB7DJK-1 started
912 G0VGS de GB7MBC 13-Dec-1998 2043Z >
917 This will start a connection using the script called gb7djk-1. You
918 can follow the connection by watching the term or console from where
919 you started cluster.pl. From version 1.47 onwards, you will need to
920 set/debug connect first. You should see something like this ...
925 <- D G1TLH connect gb7djk-1
926 -> D G1TLH connection to GB7DJK-1 started
927 -> D G1TLH G1TLH de GB7DJK 13-Dec-1998 2046Z >
929 CONNECT sort: telnet command: dirkl.tobit.co.uk
930 CHAT "login" -> "gb7djk"
932 Red Hat Linux release 5.1 (Manhattan)
933 Kernel 2.0.35 on an i586
937 CHAT "word" -> "gb7djk"
939 received "Password: "
941 Connected to GB7DJK-1, starting normal protocol
944 GB7DJK-1 channel func state 0 -> init
946 <- D GB7DJK-1 Last login: Sun Dec 13 17:59:56 from dirk1
947 <- D GB7DJK-1 PC38^GB7DJK-1^~
948 <- D GB7DJK-1 PC18^ 1 nodes, 0 local / 1 total users Max users 0 Uptime
956 With later versions of Spider there is a set/login command for users.
957 This tells them when a user or node logs in or out. If you do not add
958 a line to your scripts after the final line (or before the client line
959 which should always be last if needed) then the login/logout
960 information will be sent to users before the login actually completes.
961 This means if a node is unreachable, it will continue sending logins
962 and logouts to users even though it is not actually connecting. To
963 avoid this use the following line ...
972 In a script, this might look like ...
977 abort (Busy|Sorry|Fail)
978 connect telnet mary 3000
986 Cluster links in particular suffer greatly from the presence of telnet
987 echo. This is caused by the telnet negotiation itself and can create
988 at worst severe loops. At best it creates unnecessary bandwidth and
989 large logfiles! There are things that can be done to limit this
990 problem but will not always work dependent on the route taken to
994 Telnet echo itself should only be a problem if the connection is being
995 made to the telnet port (23). This port uses special rules that
996 include echo negotiation. If the connection is to a different port,
997 such as 7300, this negotiation does not happen and therefore no echo
1001 Sometimes it is not possible to make a direct connection to another
1002 node and this can cause problems. There is a way of trying to
1003 suppress the telnet echo but this will not always work, unfortunately
1004 it is difficult to be more specific. Here is an example of what I
1010 abort (Busy|Sorry|Fail)
1011 connect telnet mary.lancs.ac.uk
1016 So, the first connection is made by Spider. This is fine as Spider
1017 uses the Net_Telnet script from within perl. This actually uses TCP
1018 rather than TELNET so no negotiation will be done on the first
1019 connection. Once connected to mary.lancs.ac.uk, the command is sent
1020 to suppress echo. Now a telnet is made to a cluster node that is
1021 accepting connections on port 23. The problem with this link is that
1022 the negotiation is made by the remote machine, therefore you have no
1023 control over it. The chances are that this link will create echo and
1024 there will be no way you can stop it.
1028 3.9. Autostarting the cluster
1030 Ok, you should now have DXSpider running nicely and allowing connects
1031 by cluster nodes or users. However, it has to be shutdown and
1032 restarted manually. It would be much easier to have it start
1036 This is not only a way to start the cluster automatically, it also
1037 works as a watchdog, checking the sanity of DXSpider and respawning it
1038 should it crash for any reason. Before doing the following, shutdown
1039 the cluster as you did earlier.
1042 Login as root and bring up the /etc/inittab file in your favourite
1043 editor. Add the following lines to the file near the end ...
1047 ##Start DXSpider on bootup and respawn it should it crash
1048 DX:3:respawn:/bin/su -c "/usr/bin/perl -w /spider/perl/cluster.pl" sysop >/dev/tty7
1054 This line works fine for RedHat distributions. It is also fine for
1055 SuSE up to 7.0. From Suse 7.1 you need to add runlevels 2 and 5 like
1057 DX:235:respawn:/bin/su -c "/usr/bin/perl -w /spider/perl/cluster.pl" sysop >/dev/tty7
1063 The line required for Slackware distributions is slightly different.
1064 My thanks to Aurelio, PA3EZL for this information.
1068 DX:23:respawn:/bin/su - sysop -c "/usr/bin/perl -w /spider/perl/cluster.pl" >/dev/tty7
1074 This will automatically start DXSpider on tty7 (ALT-F7) on bootup and
1075 restart it should it crash for any reason.
1078 As root type the command telinit q. DXSpider should start up
1079 immediately. You will see the output on tty7 and if you login as
1080 sysop you should find everything running nicely.
1083 4. Microsoft Windows Installation
1089 What you'll be left with once you've followed these instructions is
1090 (hopefully) a working DX Spider v1.47 system that is capable of
1091 accepting or originating "internet" connections, plus inbound AX.25
1092 and TCP/IP radio connections. If the absence of outbound radio
1093 connections is a serious limitation for you, it would be better for
1094 you to wait a couple more weeks until this support has been added.
1096 On the other hand, you may have an enquiring mind, or better yet, may
1097 be looking for a useful way of connecting your current (perhaps) AK1A
1098 cluster "to the internet" via some networking mechanism (BPQEther,
1099 etc) or other. I won't be producing instructions for the latter case,
1100 because I don't have an AK1A to play with. But someone might ...
1102 Whatever, this document is intended to get you started with DX Spider
1103 in a Microsoft Windows (TM) environment. It's not intended to teach
1104 you anything other than how to perform a minimum configuration of a DX
1105 Spider installation and have it able to connect across "the internet"
1106 to other DX Clusters, while accepting inbound TELNET and radio
1110 4.2. The requirements
1112 The very first things you're going to need are (in order of
1116 o A cup of good, strong tea
1118 o A supported Windows platform with an internet connection so you can
1119 download the necessary software bits and bobs directly to it. There
1120 are other ways, but this is preferable.
1123 o Another cup of good, strong tea
1125 o If all goes according to plan, about an hour to spare
1127 o Plenty of good, strong tea
1132 The platform I used to generate these instructions was a "vanilla"
1133 Microsoft Windows Me 4.90.3000 system, with a 700MHz AMD Athlon
1134 processor and 96 Mb memory. I've also personally verified that it runs
1135 on my laptop (Pentium 266MHz, 32 Mb memory, Windows 98 SE v4.10.2222
1136 A) and a computer that I assembled from a random pile of junk (AMD
1137 K6-2 333MHz, 64 Mb memory, Windows 98 v4.10.1998). As a result, I have
1138 reason to believe that what I'm about to describe will perform equally
1139 on any 32-bit MS Windows environment with 32 Mb of memory.
1141 Because of the changes that have recently been made to the core
1142 "cluster.pl" module and the introduction of a very lightweight
1143 "winclient.pl", I have a sneaking suspicion that this will now run on
1144 any platform that has reasonably complete support for Perl. Is there
1145 someone out there with both an enquiring mind and (say) a Macintosh,
1148 Please bear in mind, though, that my instructions relate solely to how
1149 to get this going under a Microsoft Windows environment, and I have
1150 zero intention of trying to make them say otherwise.
1155 Install your chosen Perl environment. Unless you have a very good
1156 reason for not doing so, I strongly suggest that you use ActivePerl
1157 v5.6. For my testing & development, I used build 623. You can get
1159 http://www.activestate.com/Products/ActivePerl/Download.html
1161 You will need to choose either the MSI or the AS package. My
1162 recommendation is that you choose the MSI package and deal with the
1163 consequences if your system isn't equipped with support for the latest
1164 MS Installer; you'll be better off in the long run. The build 623
1165 download is 7,460 KB, so now is a really good time to have some tea if
1166 you're on a slow dial-up connection.
1168 During installation, please ensure that you do choose the options to
1169 "Add Perl to the PATH environment variable" and "Create Perl file
1170 extension association"; it will make your life so much easier. Once
1171 the installation is finished, be sure to reboot your PC. You probably
1172 won't be told anywhere else that this needs to be done now, but it
1175 Once you've rebooted, open a "DOS box" (Start > Run > command might do
1176 it, if you can't find it elsewhere) and from wherever it lands, type
1177 PERL -v <ENTER> (it's better if that's a lower-case be rewarded with
1178 some interesting information about your Perl installation. If you're
1179 not, you must go back to the beginning and discover what went wrong
1180 and fix it. It's pointless to proceed unless this simple check is
1181 passed. Assuming it did work, you may now move on.
1184 4.5. Additional packages
1186 Some extensions ("packages") need to be added to the base Perl
1187 distribution, and we'll do this next. If you're using the Perl I
1188 recommended, and don't know any better for yourself, then just blindly
1189 following these instructions will work just fine. If that didn't
1190 describe you, then you're on your own.
1192 Visit the following URL:
1194 http://www.activestate.com/PPMPackages/zips/6xx-builds-only/
1196 and download the following files:-
1209 Make yourself a convenient directory to unpack all of these zip files
1210 into (I put mine in "D:\ppm>") and do the following (the bits you type
1211 in are blue ). Note that where these files land will be directly
1212 related to where you chose to install your ActivePerl (mine, as you
1213 can probably guess from what follows, went into "D:\Perl"):-
1217 D:\ppm>ppm install Data-Dumper.ppd
1218 Installing package 'Data-Dumper.ppd'
1219 Installing D:\Perl\site\lib\auto\Data\Dumper\Dumper.bs
1220 Installing D:\Perl\site\lib\auto\Data\Dumper\Dumper.dll
1221 Installing D:\Perl\site\lib\auto\Data\Dumper\Dumper.exp
1222 Installing D:\Perl\site\lib\auto\Data\Dumper\Dumper.lib
1223 Installing D:\Perl\html\site\lib\auto\Data\Dumper\Dumper.html
1224 Installing D:\Perl\site\lib\Data\Dumper\Dumper.pm
1225 Writing D:\Perl\site\lib\auto\Data\Dumper\Dumper.packlist
1231 I'm not going to bother you with exhaustive details of the rest of
1232 them, but suffice it to say you need to:
1236 ppm install DB_File.ppd
1237 ppm install Net-Telnet.ppd
1238 ppm install TimeDate.ppd
1239 ppm install Time-HiRes.ppd
1244 If all that seemed to work OK, time to move along. Before anyone who
1245 is familiar with PPM tells me that we didn't need to download and keep
1246 those files locally, I knew that. I also knew that PPM is sometimes
1247 awkward to configure via firewalls, and that sometimes the
1248 repositories don't always work the way we'd hope. I do it that way
1249 because it suits me.
1257 Get the current version of the DX Spider distribution. This needs to
1258 be v1.47 or later. You've got two ways (currently) of getting this;
1259 either get a CVS update from sourceforge (if you don't know what this
1260 is, then it isn't for you) or get my package from:-
1262 http://www.dcc.rsgb.org/WinSpider.zip
1264 or if you want the lastest CVS version (which is produced every night)
1266 http://www.dxcluster.org/download/CVSlatest.tgz
1268 If you went down the CVS route, then everything will be nicely set out
1269 on your local disk. If you got the ZIP file, unpack it to somewhere
1270 convenient. The following examples assume that you put it on drive
1271 "C:\", for convenience.
1273 NOTE: This distribution method will go away as soon as the first v1.47
1274 tarball is released. You can use WinZip to unpack that, and my life
1275 will be made easier by not needing to keep this .ZIP file updated.
1278 5. Installing the software
1280 Ensure that your CVS session or your unZIPped file have left you with
1281 a directory "C:\spider\local"; if not, go to "C:\spider\" and create
1282 one. If "C:\spider" is missing, go back and figure out why, because it
1285 Now create your own local copy of the DXVars.pm file by:-
1289 copy c:\spider\perl\DXVars.pm.issue
1290 c:\spider\local\DXVars.pm
1295 Now you'll need to edit this file using a text editor. If nothing
1296 else, you can simply
1314 to bring up an editor window containing the file. As an absolute
1315 minimum you must adjust the following items in DXVars.pm:-
1318 o $mycall - Should hold the callsign of your DX Cluster
1321 o $myname - The SysOp's first name
1323 o $myalias - the SysOp's callsign. Cannot be the same as $mycall!
1325 You really also ought to update the $mylatitude, $mylongitude, $myqth
1326 and $myemail variables. And unless you are absolutely certain you know
1327 what you're doing, you should change nothing else in this file.
1330 5.1. The AGW packet engine
1332 On the assumption that you'll be using the SV2AGW Packet Engine to
1333 interface your radios to the cluster, you should now create your own
1334 local copy of AGWConnect.pm by:-
1338 copy c:\spider\perl\AGWConnect.pm
1339 c:\spider\local\AGWConnect.pm
1348 notepad AGWConnect.pm
1353 to bring up an editor window containing the file. You must consider
1354 adjusting the following items in AGWConnect.pm:-
1357 o $enable - set to '1' to enable AGWPE interface
1359 o $login - the login ID you chose when you set up the SV2AGW
1362 o $passwd - password that matches $login
1365 5.2. Setting up the initial user files
1367 Next you need to create the initial user files, etc. A tool is
1368 supplied which will do this for you. To run the tool:-
1373 perl create_sysop.pl
1378 If all goes according to plan, you will see no output from this
1379 program, and after a brief wait, your DOS prompt will be returned.
1381 Depending on how brave you are, you might now care to try the
1392 If you did everything you were told, your DOS window will now hold a
1393 display which looks something like:-
1397 DXSpider DX Cluster Version 1.47
1398 Copyright (c) 1998-2001 Dirk Koopman G1TLH
1399 loading prefixes ...
1400 loading band data ...
1401 loading user file system ...
1402 starting listeners ...
1403 Internal port: localhost 27754
1405 reading in duplicate spot and WWV info ...
1406 reading existing message headers ...
1410 @msg = 0 before delete
1411 @msg = 0 after delete
1412 reading cron jobs ...v cron: reading /spider/cmd/crontab
1413 cron: adding 1 0 * * 0
1414 DXUser::export("$main::data/user_asc")
1415 reading database descriptors ...
1416 doing local initialisation ...
1417 orft we jolly well go ...
1423 Now, if that's what you've got, you are very nearly home and dry (in
1424 as far as these particular experiments are concerned, anyhow)
1426 To access your new cluster (from the local machine) find yourself
1427 another "DOS box" and do the following:-
1437 If you are rewarded with a display which looks something like:-
1441 Hello Iain, this is GB7SJP in Amersham, Bucks running DXSpider V1.47
1442 Cluster: 1 nodes, 1 local / 1 total users Max users 2 Uptime 0 00:00
1443 M0ADI de GB7SJP 4-Mar-2001 1511Z >
1448 You've arrived. Try some commands, and see how they feel. (In case you
1449 were wondering, "Iain", "M0ADI" and "GB7SJP" all came from the version
1450 of DXVars.pm that was on the machine when I started the winclient.pl)
1453 5.3. Incoming telnets
1455 If you want to enable inbound "TELNET" connections, you've got a
1456 little more work to do. From a handy "DOS box" that's not doing
1457 anything else, do the following:-
1461 copy \spider\perl\listeners.pm \spider\local
1463 notepad listeners.pm
1468 The following lines need attention:-
1477 On my machine, I've simply uncommented the "0.0.0.0" entry by removing
1478 the '#' from the front of the line.
1480 If you don't have a static hostname for your machine, and you intend
1481 to allow folk to connect to your machine across the internet, then I'd
1482 suggest you pay a visit to www.dyndns.org and create one for yourself.
1483 While it's free, it will take a modest an amount of effort on your
1484 part to read, understand and implement what needs to be done to set
1488 5.4. Connecting to other clusters
1490 If you want to connect this to another cluster, then you'll want to
1491 negotiate a link with someone. For experimental purposes, I'm happy to
1492 allow folk to connect to GB7DXA (spud.ath.cx), on the understanding
1493 that the system may or may not be there and may or may not be
1494 connected to anything particularly useful at any given moment. Contact
1495 me by Email if you want me to set up a connection for you.
1498 6. General Information
1500 The following relates to all versions of DXSpider and is not platform
1504 6.1. The crontab file
1506 Login as sysop and create a file in /spider/local_cmd called crontab.
1507 Edit it with your favourite editor and add a line like this (I have
1512 # check every 10 minutes to see if gb7xxx is connected and if not
1513 # start a connect job going
1515 0,10,20,30,40,50 * * * * start_connect('gb7xxx') unless connected('gb7xxx')
1519 The callsign involved will be the callsign of the cluster node you are
1520 going to connect to. This will now check every 10 minutes to see if
1521 gb7xxx is connected, if it is then nothing will be done. If it is
1522 not, then a connect attempt will be started.
1525 There are probably lots of other things you could use this crontab
1526 file for. If you want to know more about it, look at the DXSpider
1527 website at the cron page where it is explained more fully.