started docs
[spider.git] / html / install.html
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
2 <html>
3   <head>
4     <title>Installing Spider</title>
5   </head>
6
7   <body>
8     <h2>Installing Spider</h2>
9
10     <hr>
11     <address><a href="mailto:djk@tobit.co.uk"></a></address>
12 <!-- Created: Wed Dec  2 16:40:25 GMT 1998 -->
13 <!-- hhmts start -->
14 Last modified: Wed Dec  2 18:19:38 GMT 1998
15 <!-- hhmts end -->
16
17         <p>This version of dxspider requires perl5 (it is written entirely in perl5 and
18         makes extensive use of perl objects). This program is known to work with
19         RedHat 5.1 perl5_004.</p>
20
21         <p>In addition to the standard perl5 distribution you will require to load the
22         the following modules:-</p>
23
24         <ol>  
25           <li> <a href="cpan.html">CPAN</a> - this has a load of the standard extra stuff in it. To load it type:-
26
27       <pre>
28   # perl -MCPAN -e shell
29   cpan> install Bundle::CPAN
30   cpan> q
31      </pre>
32
33                 <p>Please sure there were no errors, be particularly careful when installing
34                   libwww stuff, I would suggest 'no host lookups' and pressing &lt;space> and
35                   enter for each of the offered default hostnames. </p>
36                 
37                 <p>I have monitored a typical load of <a href="cpan.html">CPAN</a> which you can
38                   look at <a href="cpan.html">here</a></p>
39
40           <li> Date::Parse, MLDBM, IO::Select
41   
42                 <p>As you have so carefully loaded it, I suggest you use the CPAN system
43                   above:-</p>
44                 <pre>
45   # perl -MCPAN -e shell
46   cpan> install Date::Parse
47   ..
48   ..
49   cpan> install MLDBM
50   ..
51   ..
52   cpan> install IO::Select
53         </pre>
54                 <p>In order to use IO::Select you will need to </p>
55                 <pre>
56   # cd /root/.cpan/build/IO-1.20  
57   # make install UNINST=1
58         </pre>
59                 <p>The 'cd' is to the place where CPAN sets up its local cache. The example 
60                   shown is for Linux defaults.</p>
61
62           <li> select a user to run the cluster as UNDER _NO_ CIRCUMSTANCES USE ROOT.
63
64                 <p>I say again DO NOT USE root.</p>
65    
66                 <p>Pick an existing user or create a new one. Don't care which. I don't know
67                   your security requirements.</p>
68    
69           <li> login as root (I shall use 'jim' for any examples).<br>
70
71           <li> type in the following:-
72                 <pre>
73    # cd ~jim
74    # tar xvfz spider-x.x.tar.gz
75    # ln -s ~jim/spider /spider
76    # groupadd -g 251 spider       (or another number)
77    # vi /etc/group                (or your favorite editor)
78                 </pre>
79
80                 <p>add jim (or whatever) and root to the group spider
81                   it should look something like:-</p>
82          
83                 <pre>
84      spider:x:251:jim,root
85      :x
86    # chown -R jim.spider spider
87    # find . -type d -exec chmod 2775 {} \;
88    # find . -type f -exec chmod 775 {} \;
89                 </pre>
90                 <p>This last step allows various users of group spider to have write
91                   access to all the directories. Not really needed for now but will 
92                   be useful when web interfaces start to appear.</p>
93
94           <li> if you have any users that require network logins, set them up as real
95                 users with useradd -m &lt;callsign>. Alter the default .bashrc so that it
96                 contains just one line (assuming you use the default bash shell).
97                 
98                 <pre>
99                 exec /spider/perl/client.pl &lt;callsign> telnet
100                 </pre>
101    
102                 <p>Don't forget to give them a real password. This is really for network
103                 cluster logins. The telnet argument does two things, it sets the EOL 
104                 convention to \n rather than AX25's \r and it automatically reduces
105                   the privilege of the &lt;callsign> to a 'safe[r]' level.</p>
106    
107           <li> for incoming AX25 connections you are expected to have got the AX25
108                 utilities setup, tested and working. See the AX25-HOWTO for more info
109                 on this - it really is outside the scope of this document. I would 
110                 recommend using ax25-utils-2.1.42a-5.i386.rpm or above as a starting 
111                 point. DXSpider uses ax25d for incoming connections. You need to have 
112                 entries like this:-
113                 <pre>
114    [ether]                                                                         
115    NOCALL   * * * * * *  L                                                         
116    default  * * * * * *  - jim /spider/perl/client.pl client.pl %u ax25
117    &lt;bbs>
118    NOCALL   * * * * * *  L                                                         
119    default  * * * * * *  - jim /spider/perl/client.pl client.pl %u ax25
120                 </pre>
121
122                 <p>where ether and bbs are appropriate KNOWN WORKING axport and nrport 
123                 names respectively.</p>
124    
125                 <p>Obviously you can use different names, callsigns or whatever for your 
126                   purposes, but it is up to you to get it to work. </p>
127    
128                 <p>Note I use BPQ over ethernet which why I have the port names I have.</p>
129
130           <li>Find your <tt>netrom_call</tt> and <tt>ax25_call</tt> programs (which on
131                 my system live in <tt>/usr/sbin</tt> and chmod them so that they are SUID <tt>root</tt>
132                 <pre>
133    # chown root ax25_call netrom_call
134    # chmod 4775 ax25_call netrom_call
135         </pre>
136         <p>This has to be done to allow you to specify the correct callsigns on outgoing connects</p>
137    
138           <li> login as jim (or whatever)
139                 <pre>
140    $ startx                     (much easier to use X)
141    $ cd /spider
142    $ mkdir local
143    $ mkdir local_cmd
144    $ cp perl/DXVars.pm local
145    $ cd local
146    $ vi DXVars.pm
147                 </pre>
148                 <p>now alter your cluster callsign, sysop callsign and other user info 
149                   as you wish. Note that this a perl file which will parsed and executed
150                   as part of the cluster. If you get it wrong then perl will complain 
151                   when you start the cluster process.</p>
152    
153                 <p><b>PLEASE USE CAPITAL LETTERS FOR CALLSIGNS</b><p>
154    
155                 <p>DON'T alter the DXVars.pm (or any other file) in /spider/perl, they are
156                   overwritten with every release. Any files or commands you place in
157                   /spider/local or /spider/local_cmd will automagically be used in preference
158                   to the ones in /spider/perl EVEN whilst the cluster is running!</p>
159                 <pre>
160    :x
161    
162    $ cd ../perl
163                 </pre>
164
165                 <p>now create the basic user file with you as the sysop.</p>
166                 <pre>
167    $ create_sysop.pl
168                 </pre>
169
170                 <p>try and run the cluster program and see whether all the various rivets are
171                   flying in approximate formation...</p>
172                 
173                 <pre>
174    $ cluster.pl
175    DXSpider DX Cluster Version x.x
176    Copyright (c) 1998 Dirk Koopman G1TLH
177    loading prefixes ...
178    loading band data ...
179    loading user file system ...
180    starting listener ...
181    reading existing message headers
182    reading cron jobs
183    orft we jolly well go ...
184                 </pre>
185    
186           <li> now log in again or start another rxvt or xterm
187                 <pre>
188    $ client.pl
189                 </pre>
190
191                 <p>you should now see a normal cluster prompt.</p>
192    
193                 <p>at the cluster prompt:-</p>
194                 <pre>
195    G1JIM de GB7JIM 10-Sep-98 1000Z> set/node GB7XXX
196         </pre>
197
198    <p>for every dxcluster you expect to connect to or from.</p>
199
200                 <pre>
201    G1JIM de GB7JIM 10-Sep-98 1001Z> shutdown
202                 </pre>
203
204                 <p>The cluster and the client should both go back to prompts
205    
206                 <p>Restart the cluster.
207    
208                 <p>The callsigns should be the sysop callsign and the cluster callsign
209                   as per your modified DXVars.pm. You can check that the cluster 
210                   connections will work by:-
211                 <pre>
212    $ client.pl gb7xxx      (doesn't have to be uppercase).
213    PC38^GB7JIM^~           <- the cluster thinks this is a cluster
214    ^C                      <- to get out
215         </pre>
216         </ol>
217    
218         <hr>
219         <h5>Version: $Id$</h5>
220   </body>
221 </html>