Next Previous Contents

1. Linux Installation

1.1 Introduction

This section describes the installation of DX Spider v1.50 on a RedHat Linux Distribution. Wherever possible I will try to include differences for other distributions.

I am assuming a general knowledge of Linux and its commands. You should know how to use tar and how to edit files using your favourite editor.

The crucial ingredient for all of this is Perl. Earlier versions of Spider required perl 5.004, however it is now STRONGLY recommended that you use at least version 5.6.1 as this is the version being used in the development of Spider.

In addition to the standard Red Hat distribution you will require the following modules from 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.

On most modern distributions most (if not all) the modules you will need are either included or can be loaded automatically. Please consult your distro's instructions for loading new programs and look for modules that usually start with the string "perl-". For instance:-

Some distros are now packaging perl-DB_File separately as well, so you may have to add that to the list above.

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.

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/TimeDate-2.27.tar.gz
# cd TimeDate-2.27
# perl Makefile.PL
# make test
# make install
# cd ..
#
# tar xvfz /usr/local/packages/Net-Telnet-3.03.tar.gz
# cd Net-Telnet-3.02
# perl Makefile.PL
# make test
# make install
# cd ..
#
# tar xvfz /usr/local/packages/Curses-1.08a.tar.gz
# cd Curses-1.08a
# 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 ..

Only if you need to do these because your perl is old:-

#
# 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/Data-Dumper-2.101.tar.gz
# cd Data-Dumper-2.101
# perl 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.

1.2 Preparation

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.50 for this section but of course you would use the latest version.

Login as root and create a user to run the cluster under. UNDER NO CIRCUMSTANCES USE ROOT AS THIS USER!. I am going to use the name sysop. 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.

# adduser -m sysop

For SuSE distributions, the command would be ..

# useradd -m sysop

Now set a password for the user ...

# passwd sysop
# New UNIX password:
# Retype new UNIX password:
passwd: all authentication tokens updated successfully

1.3 Installing the software

Now to unpack the DX Spider distribution, set symbolic links and group permissions. Copy the tarball to /home/sysop and do the following.

# cd ~sysop
# tar xvfz spider-1.50.tar.gz
# ln -s ~sysop/spider /spider
# groupadd -g 251 spider       (or another number)

If you do not have the command groupadd available to you simply add a line in /etc/group by hand.

# vi /etc/group                (or your favorite editor)

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

spider:x:251:sysop,g0vgs,root

The next step is to set the permissions on the Spider directory tree and files ....

# chown -R sysop.spider spider
# find . -type d -exec chmod 2775 {} \;
# find . -type f -exec chmod 775 {} \;

This last step allows various users of the group spider to have write access to all the directories. This is not really needed just yet but will be useful when web interfaces start to appear.

Finally, you need to fix the permissions on the ax25_call and netrom_call programs. Check where they are with the locate command and alter the permissions with the chmod command like this ..

# chown root ax25_call netrom_call
# chmod 4775 ax25_call netrom_call

1.4 Setting callsigns etc

Now login to your machine as the user you created earlier. In my case that user is called sysop. Once logged in, issue the following commands ....

$ cd /spider
$ mkdir local
$ mkdir local_cmd
$ cp perl/DXVars.pm.issue local/DXVars.pm
$ cd local
$ vi DXVars.pm (or your favourite editor)

Using the distributed DXVars.pm as a a template, set your cluster callsign, sysop callsign and other user info to suit your own environment.

$mycall = "GB7DJK";     

This is the call sign of your cluster. Here in the UK we have separate callsigns for our cluster nodes. If you can't use a different callsign I suggest you use an SSID of '-2' for the node callsign '$mycall'.

$myalias = "G1TLH";

This is the sysop user callsign, normally your own.

PLEASE USE CAPITAL LETTERS FOR CALLSIGNS

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 ....

$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.

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 will automagically be used in preference to the ones in /spider/perl EVEN while the cluster is running!

Save the new file and change directory to ../perl ....

$ cd ../perl

Now type the following command which creates the basic user file with you as the sysop.

$ ./create_sysop.pl

1.5 The client program

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 incoming connects at the moment. Before you can use it though it has to be "made". CD to /spider/src and type make. You should see the output on your screen and hopefully now have a small C program called client. Leave it in this directory.

1.6 Starting up for the first time

We can now bring spider up for the first time and see if all is well or not! It should look something like this ...

$ ./cluster.pl
DXSpider DX Cluster Version 1.50
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 ...

If all is well then login on another term or console as sysop and cd to /spider/src. Now issue the following command ...

$ ./client

This should log you into the cluster as the sysop under the alias callsign we set earlier. In this case the callsign is G0VGS. The cluster callsign is set in the DXVars.pm file in /spider/local. In this case we will assume that this was set as GB7MBC. You should therefore see this when you login ....

G0VGS de GB7MBC 19-Nov-1999 2150Z >

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 ....

shutdown

and both the cluster and the client should return to Linux prompts.


Next Previous Contents