1. Fixed problems with sh/rcmd (talk/ann/log) with a callsign as argument and
[spider.git] / html / install.html
index 5ffef8d1e74f459ec5e1dc3e1d6629ac611362fe..74c432ce4bf80c7bce1c4df118da682a4d353bb1 100644 (file)
 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-  <head>
-    <title>Installing Spider</title>
-  </head>
+<HTML>
+  <HEAD>
+       <TITLE>DX Spider Installation</TITLE>
+       <meta name="Keywords" content="DX Cluster, DXSpider, Spider, Packet Cluster, DXCluster, Pavillion Software, AK1A, AX25, AX.25, WWV, Packet Radio, Amateur Radio, Propagation, DX, DXing, G1TLH, GB7TLH, Dirk Koopman, Mailing list, Linux, RedHat, PERL">
+       <meta name="Description" content="Software and systems for realtime digital communications between amateur radio stations for the provision of information on propagation conditions and stations operating">
+       <meta name="Author" content="Dirk Koopman G1TLH">
+  </HEAD>
 
-  <body>
-    <h2>Installing Spider</h2>
+  <body TEXT="#000000" LINK="#0000ff" VLINK="#800080" BGCOLOR="#FFFFFF">
+       <FONT COLOR="#606060" face="Verdana,Helvetica,Swiss,Arial"> 
+         <hr>
+         <h2>Installing DX Spider (on Redhat 5.1)</h2>
+         <hr>
+       </font>
 
-    <hr>
-    <address><a href="mailto:djk@tobit.co.uk"></a></address>
+       <address><A HREF="mailto:ip@g8sjp.demon.co.uk">Iain Phillips G0RDI</A></address>
 <!-- Created: Wed Dec  2 16:40:25 GMT 1998 -->
 <!-- hhmts start -->
-Last modified: Wed Dec  2 18:19:38 GMT 1998
+Last modified: Sat Dec 19 16:10:14 GMT 1998
 <!-- hhmts end -->
+       <P>This HOWTO describes the installation for DX Spider v1.11 on a "vanilla" 
+         <A href="http://www.redhat.com">RedHat</A> 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 :-) [ more normal people may like to try with less <em>Ed</em> ].
 
-       <p>This version of dxspider requires perl5 (it is written entirely in perl5 and
-       makes extensive use of perl objects). This program is known to work with
-       RedHat 5.1 perl5_004.</p>
+       <p>The crucial ingredient for all of this is <a href="http://www.perl.org">Perl 5.004</a>. Now I know
+         Perl 5.005 is out and this will almost certainly work with it, but 
+         <A Href="http://www.redhat.com">RedHat</A> 5.1 comes with 5.004. 
+         <em>Be Warned</em> earlier versions of <A Href="http://www.redhat.com">RedHat</A> 
+         <b>do not</b> come with 5.004 as standard, you need to 
+         <a href="ftp://upgrade.redhat.com">upgrade</a>
 
-       <p>In addition to the standard perl5 distribution you will require to load the
-       the following modules:-</p>
+       <P>In addition to the standard Red Hat distribution you will require the following <A HREF="http://www.cpan.org/CPAN.html">CPAN</A> modules: -
+       <p>
+       <dir>
+               MD5-1.7.tar.gz <BR>
+               Data-Dumper-2.10.tar.gz <BR>
+               FreezeThaw-0.3.tar.gz <BR>
+               MLDBM-2.00.ar.gz <BR>
+               TimeDate-1.8.tar.gz <BR>
+               IO-1.20.tar.tgz <BR>
+               Net-Telnet-3.01.tar.gz<BR>
+               &nbsp;
+       </DIR>
 
-       <ol>  
-         <li> <a href="cpan.html">CPAN</a> - this has a load of the standard extra stuff in it. To load it type:-
+       <p><em>Do</em> get the latest versions of these packages if any of the above list
+         is out of date.
 
-      <pre>
-  # perl -MCPAN -e shell
-  cpan> install Bundle::CPAN
-  cpan> q
-     </pre>
+       <P>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: -
+       <p>
+       <DIR>
+               ax25-utils-2.1.42a-1.i386.rpm
+       </DIR>
+       
+       <P>This can be found at (among other places) <A HREF="ftp://contrib.redhat.com/libc6">ftp://contrib.redhat.com</A>. 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 <B><I>is </B></I>operational) before attempting to install DX Spider. Read the AX25-HOWTO and ask around if you
+ still have trouble after that.
 
-               <p>Please sure there were no errors, be particularly careful when installing
-                 libwww stuff, I would suggest 'no host lookups' and pressing &lt;space> and
-                 enter for each of the offered default hostnames. </p>
-               
-               <p>I have monitored a typical load of <a href="cpan.html">CPAN</a> which you can
-                 look at <a href="cpan.html">here</a></p>
-
-         <li> Date::Parse, MLDBM, IO::Select
-  
-               <p>As you have so carefully loaded it, I suggest you use the CPAN system
-                 above:-</p>
-               <pre>
-  # perl -MCPAN -e shell
-  cpan> install Date::Parse
-  ..
-  ..
-  cpan> install MLDBM
-  ..
-  ..
-  cpan> install IO::Select
-        </pre>
-               <p>In order to use IO::Select you will need to </p>
-               <pre>
-  # cd /root/.cpan/build/IO-1.20  
-  # make install UNINST=1
-        </pre>
-               <p>The 'cd' is to the place where CPAN sets up its local cache. The example 
-                 shown is for Linux defaults.</p>
-
-         <li> select a user to run the cluster as UNDER _NO_ CIRCUMSTANCES USE ROOT.
+       <P>The last "must have" is the DX Spider distribution itself, and this is available via: -
 
-               <p>I say again DO NOT USE root.</p>
-   
-               <p>Pick an existing user or create a new one. Don't care which. I don't know
-                 your security requirements.</p>
-   
-         <li> login as root (I shall use 'jim' for any examples).<br>
+       <p>
+       <DIR>
+               <A HREF="../download/index.html">The DX Spider Software</A>
+       </DIR>
 
-         <li> type in the following:-
-               <pre>
-   # cd ~jim
-   # tar xvfz spider-x.x.tar.gz
-   # ln -s ~jim/spider /spider
-   # groupadd -g 251 spider       (or another number)
-   # vi /etc/group                (or your favorite editor)
+       <p>We can now begin:-
+       <P>
+       <OL>
+         
+         <p><LI>Copy the CPAN modules listed above to a convenient place on your computer. For no good reason, I put mine in /usr/local/packages, and the instructions which follow will assume that that's where yours are, too.
+               <P>Log in as 'root', and make sure you're at '/root' before you continue. Here are exactly the commands you must issue next: -
+               <PRE>
+# tar xvfz /usr/local/packages/MD5-1.7.tar.gz
+# cd MD5-1.7
+# perl Makefile.PL
+# make test
+# make install
+# cd ..
+#
+# tar xvfz /usr/local/packages/Data-Dumper-2.10.tar.gz
+# cd Data-Dumper-2.10
+# perl Makefile.PL
+# make test
+# make install
+# cd ..
+#
+# tar xvfz /usr/local/packages/FreezeThaw-0.3.tar.gz
+# cd FreezeThaw-0.3
+# perl Makefile.PL
+# make test
+# make install
+# cd ..
+#
+# tar xvfz /usr/local/packages/MLDBM-2.00.tar.gz
+# cd MLDBM-2.00
+# perl Makefile.PL
+# make test
+# make install
+# cd ..
+#
+# tar xvfz /usr/local/packages/TimeDate-1.08.tar.gz
+# cd TimeDate-1.08
+# perl Makefile.PL
+# make test
+# make install
+# cd ..
+#
+# tar xvfz /usr/local/packages/IO-1.20.tar.gz
+# cd IO-1.20
+# perl Makefile.PL
+# make test
+# make install UNINST=1
+# cd ..
+#
+# tar xvfz /usr/local/packages/Net-Telnet-3.01.tar.gz
+# cd Net-Telnet-3.01.tar.gz
+# perl Makefile.PL
+# make test
+# make install
+# cd ..
+#
                </pre>
+               <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.
 
-               <p>add jim (or whatever) and root to the group spider
-                 it should look something like:-</p>
-        
-               <pre>
-     spider:x:251:jim,root
-     :x
-   # chown -R jim.spider spider
-   # find . -type d -exec chmod 2775 {} \;
-   # find . -type f -exec chmod 775 {} \;
-               </pre>
-               <p>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.</p>
+               <p><LI>Create a user to run the cluster under. <B><I><U>UNDER NO CIRCUMSTANCES USE ROOT
+               </B></I></U><P>Again: <B><I><U>DO NOT USE</B></I></U> root.
+               <P>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!
+               <P># adduser -m sysop
+               <P>Now set a password for the user:-
+               <PRE>
+#
+# passwd sysop
+# New UNIX password:
+# Retype new UNIX password:
+passwd: all authentication tokens updated successfully
+               </PRE>
+               <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.
+               
+               <p><LI>Now unpack the DX Spider distribution, set symbolic links and group permissions like this (assumes that the version we're interested in is 1.9. The distribution tar file may be named slightly differently in your case: -
+               <PRE>
+# 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)
+               </PRE>
+               <P>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:-
+               <PRE>
+spider:x:251:sysop,g0rdi,root
+               </PRE>
 
-         <li> if you have any users that require network logins, set them up as real
-               users with useradd -m &lt;callsign>. Alter the default .bashrc so that it
-               contains just one line (assuming you use the default bash shell).
+               <p><LI>Next step is to set permissions on the 'spider' directory tree and files:-
+               <PRE>
+# chown -R sysop.spider spider
+# find . -type d -exec chmod 2775 {} \;
+# find . -type f -exec chmod 775 {} \;
+               </PRE>
+               <P>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.
                
+               <p><LI>Should you have any users that require network logins, set them up as real users with 'useradd -m &lt;callsign&gt;'. Alter the default .bashrc so that it contains just one line (assuming you use the default bash shell). 
+               <PRE>
+exec /spider/perl/client.pl &lt;callsign&gt; telnet
+               </PRE>
+               <p>Alternatively you can set up a real login for a person (or another cluster) by creating a login using:-
                <pre>
-               exec /spider/perl/client.pl &lt;callsign> telnet
+# useradd gb7djk
+# passwd gb7djk
+New UNIX password: 
+Retype new UNIX password: 
+passwd: all authentication tokens updated successfully
                </pre>
-   
-               <p>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 &lt;callsign> to a 'safe[r]' level.</p>
-   
-         <li> for incoming AX25 connections you are expected to have got the AX25
-               utilities setup, tested and working. See the AX25-HOWTO for more info
-               on this - it really is outside the scope of this document. I would 
-               recommend using ax25-utils-2.1.42a-5.i386.rpm or above as a starting 
-               point. DXSpider uses ax25d for incoming connections. You need to have 
-               entries like this:-
+               <p>and editing the <tt>/etc/passwd</tt> file to look like this (do substitute the correct callsigns here ;-):-
                <pre>
-   [ether]                                                                         
-   NOCALL   * * * * * *  L                                                         
-   default  * * * * * *  - jim /spider/perl/client.pl client.pl %u ax25
-   &lt;bbs>
-   NOCALL   * * * * * *  L                                                         
-   default  * * * * * *  - jim /spider/perl/client.pl client.pl %u ax25
+fbb:x:505:505::/home/fbb:/bin/bash
+gb7djk:x:506:506::/home/gb7djk:/usr/bin/perl /spider/perl/client.pl gb7djk telnet
                </pre>
+               <P>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 &lt;callsign&gt; to a 'safe[r]' level.). 
+               
+               <p><LI>As mentioned earlier, for AX25 connections <B><I>you</B></I> are expected to have the AX25 utilities installed, setup, tested and working. See the AX25-HOWTO for more info on this - it really is beyond the scope of this document DX Spider uses ax25d for incoming connections. You need to have entries like this:- 
+               <PRE>
+[ether]                                                                         
+NOCALL   * * * * * *  L                                                         
+default  * * * * * *  - sysop /spider/perl/client.pl client.pl %u ax25
+&lt;bbs&gt;
+NOCALL   * * * * * *  L                                                         
+default  * * * * * *  - sysop /spider/perl/client.pl client.pl %u ax25
+               </PRE>
+               <P>where 'ether' and 'bbs' are appropriate <B><I>KNOWN WORKING</B></I> 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.
+               
+               <p><LI>Find your <TT>netrom_call</TT> and <TT>ax25_call</TT> programs (which on my system live in <TT>/usr/sbin)</TT> and chmod them so that they are SUID <TT>root</TT> 
+               <PRE>
+# chown root ax25_call netrom_call
+# chmod 4775 ax25_call netrom_call
+               </PRE>
+               <P>This has to be done to allow you to specify the correct callsigns on outgoing connects
 
-               <p>where ether and bbs are appropriate KNOWN WORKING axport and nrport 
-               names respectively.</p>
+               <p><LI>Login to your computer as sysop, and create the initial DX Spider parameters necessary to start the cluster for the first time.
+               <PRE>
+$ startx&#9;&#9;&#9;(much easier to use X)
+$ cd /spider
+$ mkdir local
+$ mkdir local_cmd
+$ cp perl/DXVars.pm local
+$ cd local
+$ vi DXVars.pm&#9;&#9;&#9;(or 'joe DXVars.pm' if you're a WordStar fan ;-)
+               </PRE>
+               <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.
+               <P><b>PLEASE USE CAPITAL LETTERS FOR CALLSIGNS</B>
+               <P>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!
+               <PRE>
+:x
    
-               <p>Obviously you can use different names, callsigns or whatever for your 
-                 purposes, but it is up to you to get it to work. </p>
-   
-               <p>Note I use BPQ over ethernet which why I have the port names I have.</p>
+$ cd ../perl
+               </PRE>
+               <P>Next, run the following script, which will create the basic user file with you as the sysop.
+               <PRE>
+$ create_sysop.pl
+               </PRE>
+               <P>Now attempt to startup the cluster program and see whether all the various rivets are flying in approximate formation...
+               <PRE>
+$ 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 ...
+               </PRE>
+               
+               <p><LI>now log in again (as 'sysop') or start another rxvt or xterm 
 
-         <li>Find your <tt>netrom_call</tt> and <tt>ax25_call</tt> programs (which on
-               my system live in <tt>/usr/sbin</tt> and chmod them so that they are SUID <tt>root</tt>
-               <pre>
-   # chown root ax25_call netrom_call
-   # chmod 4775 ax25_call netrom_call
-        </pre>
-        <p>This has to be done to allow you to specify the correct callsigns on outgoing connects</p>
-   
-         <li> login as jim (or whatever)
-               <pre>
-   $ startx                     (much easier to use X)
-   $ cd /spider
-   $ mkdir local
-   $ mkdir local_cmd
-   $ cp perl/DXVars.pm local
-   $ cd local
-   $ vi DXVars.pm
+               <PRE>
+$ client.pl
+               </PRE>
+               <P>at the cluster prompt (which will look something like):-
+               <PRE>
+G1JIM de GB7JIM 12-Dec-98 1718Z &gt;
                </pre>
-               <p>now alter your cluster callsign, sysop callsign and other user info 
-                 as you wish. Note that this a perl file which will parsed and executed
-                 as part of the cluster. If you get it wrong then perl will complain 
-                 when you start the cluster process.</p>
-   
-               <p><b>PLEASE USE CAPITAL LETTERS FOR CALLSIGNS</b><p>
-   
-               <p>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!</p>
+               Type:
                <pre>
-   :x
-   
-   $ cd ../perl
-               </pre>
-
-               <p>now create the basic user file with you as the sysop.</p>
+set/node GB7XXX
+               </PRE>
+               <p>(where 'GB7XXX' is a DX cluster which you expect to connect to or from).
+               <P>Now shut the cluster down by simply typing 'shutdown' at the prompt.
+               <P>The cluster and the client should both go back to prompts 
+               <p>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:-
                <pre>
-   $ create_sysop.pl
+$ client.pl gb7xxx      (doesn't have to be uppercase).
+PC38^GB7JIM^~           &lt;- the cluster thinks this is a cluster
+^C                      &lt;- to get out
                </pre>
+       </ol>
 
-               <p>try and run the cluster program and see whether all the various rivets are
-                 flying in approximate formation...</p>
-               
-               <pre>
-   $ cluster.pl
-   DXSpider DX Cluster Version x.x
-   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 ...
-               </pre>
-   
-         <li> now log in again or start another rxvt or xterm
-               <pre>
-   $ client.pl
-               </pre>
+       <p>You should now have a basic working system. Best of luck! Can I now draw your attention to
+         the <a href="http://www.dxcluster.org/spider">Bug Reporting</a> System. Some mailing lists will
+         be created RSN for more general discussions.
 
-               <p>you should now see a normal cluster prompt.</p>
-   
-               <p>at the cluster prompt:-</p>
-               <pre>
-   G1JIM de GB7JIM 10-Sep-98 1000Z> set/node GB7XXX
-        </pre>
+       <p>Can I commend to you the Announcements mailing list to which you may 
+         <a href="mailto:majordomo@dxcluster.org?subject=Subscribe&body=subscribe%20dxspider-announce%0D%0A--%0D%0A">subscribe</a>.
+         This is a low volume mailing list which will send you announcements of new patches and 
+         such like things as they arise.
 
-   <p>for every dxcluster you expect to connect to or from.</p>
+       <p>If you like what you see and want to be a part of the ongoing development then 
+         <a href="mailto:majordomo@dxcluster.org?subject=Subscribe&body=subscribe%20dxspider-support%0D%0A--%0D%0A">subscribe</a> 
+         to the support mailing list which will be the initial focus of any discussions.
 
-               <pre>
-   G1JIM de GB7JIM 10-Sep-98 1001Z> shutdown
-               </pre>
+<!-- Standard Footer!! -->
+       <p>&nbsp;</p>
+       <p>
+         <FONT COLOR="#606060"><hr></font>
+       <font color="#FF0000" size=-2>
+         Copyright &copy; 1998 by Dirk Koopman G1TLH and Iain Phillips G0RDI. All Rights Reserved<br>
+       </font>
+       <font color="#000000" size=-2>$Id$</font>
 
-               <p>The cluster and the client should both go back to prompts
-   
-               <p>Restart the cluster.
-   
-               <p>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:-
-               <pre>
-   $ client.pl gb7xxx      (doesn't have to be uppercase).
-   PC38^GB7JIM^~           <- the cluster thinks this is a cluster
-   ^C                      <- to get out
-        </pre>
-       </ol>
-   
-       <hr>
-       <h5>Version: $Id$</h5>
-  </body>
-</html>
+  </BODY>
+</HTML>