Last modified: Mon Dec 14 00:01:40 GMT 1998
This HOWTO describes the installation for DX Spider v1.11 on a "vanilla" Red Hat 5.1 platform, and assumes that you have started with a clean disk, with nothing other than the standard Red Hat 5.1 distribution. I always select 'everything', and that seems to ensure that nothing is missed out :-)
In addition to the standard Red Hat distribution you will require the following CPAN modules: -
MD5-1.7.tar.gz
Data-Dumper-2.10.tar.gz
FreezeThaw-0.3.tar.gz
MLDBM-2.00.ar.gz
TimeDate-1.8.tar.gz
IO-1.20.tar.tgz
Net-Telnet-3.01.tar.gz
Do get the latest versions of these packages if any of the above list is out of date.
You'll also need the AX25 utility package. There is much debate about what is "best", what is "better". What works for 5.1 is this: -
ax25-utils-2.1.42a-1.i386.rpm
This can be found at (among other places) ftp://contrib.redhat.com. Note that no attempt is made within this document to describe the steps necessary to install and commission the AX25 kernel package. It remains the responsibility of the reader to have sufficient knowledge and expertise to make this part of the system operation (and to be satisfied that it is operational) before attempting to install DX Spider. Read the AX25-HOWTO and ask around if you still have trouble after that.
The last "must have" is the DX Spider distribution itself, and this is available via: -
Log in as 'root', and make sure you're at '/root' before you continue. Here are exactly the commands you must issue next: -
# tar xvfz /usr/local/packages/MD5-1.7.tar.gz # cd MD5-1.7 # make Makefile.PL # make test # make install # cd .. # # tar xvfz /usr/local/packages/Data-Dumper-2.10.tar.gz # cd Data-Dumper-2.10 # make Makefile.PL # make test # make install # cd .. # # tar xvfz /usr/local/packages/FreezeThaw-0.3.tar.gz # cd FreezeThaw-0.3 # make Makefile.PL # make test # make install # cd .. # # tar xvfz /usr/local/packages/MLDBM-2.00.tar.gz # cd MLDBM-2.00 # make Makefile.PL # make test # make install # cd .. # # tar xvfz /usr/local/packages/TimeDate-1.08.tar.gz # cd TimeDate-1.08 # make Makefile.PL # make test # make install # cd .. # # tar xvfz /usr/local/packages/IO-1.20.tar.gz # cd IO-1.20 # make Makefile.PL # make test # make install UNINST=1 # cd .. # # tar xvfz /usr/local/packages/Net-Telnet-3.01.tar.gz # cd Net-Telnet-3.01.tar.gz # make Makefile.PL # make test # make install # cd .. #
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.
Again: DO NOT USE root.
In the instructions which follow, it is assumed that this user is called 'sysop'. You may call it anything you wish. Depending upon your security requirements, you may choose to use an existing user. This will be your choice, not ours!
# adduser -m sysop
Now set a password for the user:-
# # passwd sysop # New UNIX password: # Retype new UNIX password: passwd: all authentication tokens updated successfully
# 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.
# cd ~sysop # tar xvfz spider-1.9.tar.gz # ln -s ~sysop/spider /spider # groupadd -g 251 spider (or another number) # vi /etc/group (or your favorite editor)
add 'sysop', your own callsign (in my case 'g0rdi' - which will be used as an alias) and 'root' to the group spider. The result should look something like:-
spider:x:251:sysop,g0rdi,root
# chown -R sysop.spider spider # find . -type d -exec chmod 2775 {} \; # find . -type f -exec chmod 775 {} \;
This last step allows various users of group spider to have write access to all the directories. Not really needed for now but will be useful when web interfaces start to appear.
exec /spider/perl/client.pl <callsign> telnet
Alternatively you can set up a real login for a person (or another cluster) by creating a login using:-
# useradd gb7djk # passwd gb7djk New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully
and editing the /etc/passwd file to look like this (do substitute the correct callsigns here ;-):-
fbb:x:505:505::/home/fbb:/bin/bash gb7djk:x:506:506::/home/gb7djk:/usr/bin/perl /spider/perl/client.pl gb7djk telnet
Don't forget to give them a real password. This is really for network cluster logins. The telnet argument does two things, it sets the EOL convention to \n rather than AX25's \r and it automatically reduces the privilege of the <callsign> to a 'safe[r]' level.).
[ether] NOCALL * * * * * * L default * * * * * * - sysop /spider/perl/client.pl client.pl %u ax25 <bbs> NOCALL * * * * * * L default * * * * * * - sysop /spider/perl/client.pl client.pl %u ax25
where 'ether' and 'bbs' are appropriate KNOWN WORKING axport and nrport names respectively. Obviously you can use different names, callsigns or whatever for your purposes, but it is up to you to get it to work. Note I use BPQ over ethernet which why I have the port names I have.
# chown root ax25_call netrom_call # chmod 4775 ax25_call netrom_call
This has to be done to allow you to specify the correct callsigns on outgoing connects
$ startx (much easier to use X) $ cd /spider $ mkdir local $ mkdir local_cmd $ cp perl/DXVars.pm local $ cd local $ vi DXVars.pm (or 'joe DXVars.pm' if you're a WordStar fan ;-)
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.
PLEASE USE CAPITAL LETTERS FOR CALLSIGNS
DON'T alter the DXVars.pm (or any other file) in /spider/perl, they are overwritten with every release. Any files or commands you place in /spider/local or /spider/local_cmd will automagically be used in preference to the ones in /spider/perl EVEN whilst the cluster is running!
:x $ cd ../perl
Next, run the following script, which will create the basic user file with you as the sysop.
$ create_sysop.pl
Now attempt to startup the cluster program and see whether all the various rivets are flying in approximate formation...
$ cluster.pl DXSpider DX Cluster Version 1.9 Copyright (c) 1998 Dirk Koopman G1TLH loading prefixes ... loading band data ... loading user file system ... starting listener ... reading existing message headers reading cron jobs orft we jolly well go ...
$ client.pl
at the cluster prompt (which will look something like):-
G1JIM de GB7JIM 12-Dec-98 1718Z >Type:
set/node GB7XXX
(where 'GB7XXX' is a DX cluster which you expect to connect to or from).
Now shut the cluster down by simply typing 'shutdown' at the prompt.
The cluster and the client should both go back to prompts
The callsigns should be the sysop callsign and the cluster callsign as per your modified DXVars.pm. You can check that the cluster connections will work by:-
$ client.pl gb7xxx (doesn't have to be uppercase). PC38^GB7JIM^~ <- the cluster thinks this is a cluster ^C <- to get out