1. Fixed VS6 lat/long in prefix_data and wpxloc.raw
[spider.git] / html / install.html
1 <HTML>
2 <HEAD>
3 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
4 <META NAME="Generator" CONTENT="Microsoft Word 97">
5 <TITLE>Spider-HOWTO</TITLE>
6 <META NAME="Template" CONTENT="C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\html.dot">
7 </HEAD>
8 <BODY LINK="#0000ff" VLINK="#800080">
9
10 <P><!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"></P>
11 <H2>Installing DX Spider on RedHat 5.1</H2>
12 <P><HR></P>
13 <P><A HREF="mailto:ip@g8sjp.demon.co.uk">Iain Phillips G0RDI</A></P>
14 <P>
15 <!-- Created: Wed Dec  2 16:40:25 GMT 1998 -->
16 <!-- hhmts start -->
17 Last modified: Sun Dec 13 22:00:19 GMT 1998
18 <!-- hhmts end --></P>
19 <P>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 :-) </P>
20 <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>
21 <DIR>
22
23 <P>MD5-1.7.tar.gz <BR>
24 Data-Dumper-2.10.tar.gz <BR>
25 FreezeThaw-0.3.tar.gz <BR>
26 MLDBM-2.00.ar.gz <BR>
27 TimeDate-1.8.tar.gz <BR>
28 IO-1.20.tar.tgz <BR>
29 Net-Telnet-3.01.tar.gz<BR>
30 &nbsp; </P></DIR>
31 </DIR>
32
33 <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>
34 <DIR>
35
36 <P>ax25-utils-2.1.42a-1.i386.rpm</P></DIR>
37 </DIR>
38
39 <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
40  still have trouble after that.</P>
41 <P>The last "must have" is the DX Spider distribution itself, and this is available via: -</P><DIR>
42 <DIR>
43
44 <P><A HREF="http://www.dxcluster.org/">http://www.dxcluster.org</A></P>
45 <P>&nbsp;</P></DIR>
46 </DIR>
47
48 <OL>
49
50 <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.</LI>
51 <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>
52 <PRE># tar xvfz /usr/local/packages/MD5-1.7.tar.gz
53 # cd MD5-1.7
54 # make Makefile.PL
55 # make test
56 # make install
57 # cd ..
58 #
59 # tar xvfz /usr/local/packages/Data-Dumper-2.10.tar.gz
60 # cd Data-Dumper-2.10
61 # make Makefile.PL
62 # make test
63 # make install
64 # cd ..
65 #
66 # tar xvfz /usr/local/packages/FreezeThaw-0.3.tar.gz
67 # cd FreezeThaw-0.3
68 # make Makefile.PL
69 # make test
70 # make install
71 # cd ..
72 #
73 # tar xvfz /usr/local/packages/MLDBM-2.00.tar.gz
74 # cd MLDBM-2.00
75 # make Makefile.PL
76 # make test
77 # make install
78 # cd ..
79 #
80 # tar xvfz /usr/local/packages/TimeDate-1.08.tar.gz
81 # cd TimeDate-1.08
82 # make Makefile.PL
83 # make test
84 # make install
85 # cd ..
86 #
87 # tar xvfz /usr/local/packages/IO-1.20.tar.gz
88 # cd IO-1.20
89 # make Makefile.PL
90 # make test
91 # make install UNINST=1
92 # cd ..
93 #
94 # tar xvfz /usr/local/packages/Net-Telnet-3.01.tar.gz
95 # cd Net-Telnet-3.01.tar.gz
96 # make Makefile.PL
97 # make test
98 # make install
99 # cd ..
100 #
101 </pre>
102 <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>
103 <LI>Create a user to run the cluster under. <B><I><U>UNDER NO CIRCUMSTANCES USE ROOT</LI>
104 </B></I></U><P>Again: <B><I><U>DO NOT USE</B></I></U> root.</P>
105 <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>
106 <P># adduser -m sysop</P>
107 <P>Now set a password for the user:-</P>
108 <PRE>#
109 # passwd sysop
110 # New UNIX password:
111 # Retype new UNIX password:
112 passwd: all authentication tokens updated successfully</PRE>
113 <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>
114 <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: -</LI>
115 <PRE># cd ~sysop
116 # tar xvfz spider-1.9.tar.gz
117 # ln -s ~sysop/spider /spider
118 # groupadd -g 251 spider       (or another number)
119 # vi /etc/group                (or your favorite editor)
120 </PRE>
121 <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:-</P>
122 <PRE>spider:x:251:sysop,g0rdi,root</PRE>
123 <LI>Next step is to set permissions on the 'spider' directory tree and files:-</LI>
124 <PRE># chown -R sysop.spider spider
125 # find . -type d -exec chmod 2775 {} \;
126 # find . -type f -exec chmod 775 {} \;
127 </PRE>
128 <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>
129 <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). </LI>
130 <PRE>
131 exec /spider/perl/client.pl &lt;callsign&gt; telnet
132 </PRE>
133 <p>Alternatively you can set up a real login for a person (or another cluster) by creating a login using:-
134 <pre>
135 # useradd gb7djk
136 # passwd gb7djk
137 New UNIX password: 
138 Retype new UNIX password: 
139 passwd: all authentication tokens updated successfully
140 </pre>
141 <p>and editing the <tt>/etc/passwd</tt> file to look like this (do substitute the correct callsigns here ;-):-
142 <pre>
143 fbb:x:505:505::/home/fbb:/bin/bash
144 gb7djk:x:506:506::/home/gb7djk:/usr/bin/perl /spider/perl/client.pl gb7djk telnet
145 </pre>
146 <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>
147 <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:- </LI>
148 <PRE>
149    [ether]                                                                         
150    NOCALL   * * * * * *  L                                                         
151    default  * * * * * *  - sysop /spider/perl/client.pl client.pl %u ax25
152    &lt;bbs&gt;
153    NOCALL   * * * * * *  L                                                         
154    default  * * * * * *  - sysop /spider/perl/client.pl client.pl %u ax25
155 </PRE>
156 <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>
157 <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> </LI>
158 <PRE>   # chown root ax25_call netrom_call
159    # chmod 4775 ax25_call netrom_call</PRE>
160 <P>This has to be done to allow you to specify the correct callsigns on outgoing connects</P>
161 <LI>Login to your computer as sysop, and create the initial DX Spider parameters necessary to start the cluster for the first time.</LI>
162 <PRE>   $ startx&#9;&#9;&#9;(much easier to use X)
163    $ cd /spider
164    $ mkdir local
165    $ mkdir local_cmd
166    $ cp perl/DXVars.pm local
167    $ cd local
168    $ vi DXVars.pm&#9;&#9;&#9;(or 'joe DXVars.pm' if you're a WordStar fan ;-)
169 </PRE>
170 <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>
171 <B><P>PLEASE USE CAPITAL LETTERS FOR CALLSIGNS</P>
172 </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!</P>
173 <PRE>
174    :x
175    
176    $ cd ../perl
177 </PRE>
178 <P>Next, run the following script, which will create the basic user file with you as the sysop.</P>
179 <PRE>
180    $ create_sysop.pl
181 </PRE>
182 <P>Now attempt to startup the cluster program and see whether all the various rivets are flying in approximate formation...</P>
183 <PRE>
184    $ cluster.pl
185    DXSpider DX Cluster Version 1.9
186    Copyright (c) 1998 Dirk Koopman G1TLH
187    loading prefixes ...
188    loading band data ...
189    loading user file system ...
190    starting listener ...
191    reading existing message headers
192    reading cron jobs
193    orft we jolly well go ...
194 </PRE>
195 <LI>now log in again (as 'sysop') or start another rxvt or xterm </LI>
196
197 <PRE>
198    $ client.pl
199 </PRE>
200 <P>at the cluster prompt (which will look something like):-</P>
201 <PRE>
202    G1JIM de GB7JIM 12-Dec-98 1718Z &gt;
203 </pre>
204 Type:
205 <pre>
206    set/node GB7XXX
207 </PRE>
208 <p>(where 'GB7XXX' is a DX cluster which you expect to connect to or from).</p>
209 <P>Now shut the cluster down by simply typing 'shutdown' at the prompt.</P>
210 <P>The cluster and the client should both go back to prompts </P>
211 <p>The callsigns should be the sysop callsign and the cluster callsign
212 as per your modified DXVars.pm. You can check that the cluster 
213 connections will work by:-
214 <pre>
215    $ client.pl gb7xxx      (doesn't have to be uppercase).
216    PC38^GB7JIM^~           <- the cluster thinks this is a cluster
217    ^C                      <- to get out
218 </pre>
219 </ol>
220 <HR>
221 <h5>Version: $Id$</h5>
222 </BODY>
223 </HTML>