add CTY-3304
[spider.git] / html / installation_en-1.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
2 <HTML>
3 <HEAD>
4  <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.21">
5  <TITLE>The DXSpider Installation Manual v1.50: Linux Installation </TITLE>
6  <LINK HREF="installation_en-2.html" REL=next>
7
8  <LINK HREF="installation_en.html#toc1" REL=contents>
9 <link rel=stylesheet href="style.css" type="text/css" title="default stylesheet">
10 </HEAD>
11 <BODY>
12 <A HREF="installation_en-2.html">Next</A>
13 Previous
14 <A HREF="installation_en.html#toc1">Contents</A>
15 <HR>
16 <H2><A NAME="s1">1.</A> <A HREF="installation_en.html#toc1">Linux Installation </A></H2>
17
18 <H2><A NAME="ss1.1">1.1</A> <A HREF="installation_en.html#toc1.1">Introduction</A>
19 </H2>
20
21 <P>This section describes the installation of DX Spider v1.50 on a 
22 <A HREF="http://www.redhat.com">RedHat</A> Linux Distribution.
23 Wherever possible I will try to include differences for other distributions.  </P>
24
25 <P>I am assuming a general knowledge of Linux and its commands.  You should 
26 know how to use <EM>tar</EM> and how to edit files using your favourite editor.</P>
27
28 <P>The crucial ingredient for all of this is 
29 <A HREF="http://www.perl.org">Perl</A>.  Earlier versions of
30 Spider required perl 5.004, however it is now <I>STRONGLY</I> recommended
31 that you use at least version 5.6.1 as this is the version being used
32 in the development of Spider.</P>
33
34 <P>In addition to the standard Red Hat distribution you will require the 
35 following modules from 
36 <A HREF="http://www.cpan.org/modules/by-module/">http://www.cpan.org/modules/by-module/</A> , please note however that with later versions of perl, some of these
37 modules may be included with the distribution.  Get the modules anyway and try
38 to install as below.  If they complain, they are probably already a part of your
39 perl distribution.</P>
40
41 <P>
42 <UL>
43 <LI> 
44 <A HREF="http://www.cpan.org/modules/by-module/Data/Data-Dumper-2.101.tar.gz">Data-Dumper-2.101.tar.gz</A>  <EM> this is included in perl 5.6.1 and above </EM></LI>
45 <LI> 
46 <A HREF="http://www.cpan.org/modules/by-module/Date/TimeDate-2.27.tar.gz">TimeDate-2.27.tar.gz</A></LI>
47 <LI> 
48 <A HREF="http://www.cpan.org/modules/by-module/IO/IO-1.20.tar.gz">IO-1.20.tar.gz</A>  (<EM>for perl 5.00403 and lower</EM>)</LI>
49 <LI> 
50 <A HREF="http://www.cpan.org/modules/by-module/Net/Net-Telnet-3.03.tar.gz">Net-Telnet-3.03.tar.gz</A></LI>
51 <LI> 
52 <A HREF="http://www.cpan.org/modules/by-module/Curses/Curses-1.08a.tar.gz">Curses-1.08a.tar.gz</A></LI>
53 <LI> 
54 <A HREF="http://www.cpan.org/modules/by-module/Time/Time-HiRes-01.20.tar.gz">Time-HiRes-01.20.tar.gz</A> (<EM>for perl versions lower than 5.8 </EM>)</LI>
55 <LI> 
56 <A HREF="http://www.cpan.org/modules/by-module/Digest/Digest-SHA1-2.01.tar.gz">Digest-SHA1-2.01.tar.gz</A></LI>
57 </UL>
58 </P>
59
60 <P> 
61 On most modern distributions most (if not all) the modules you will need are either included or
62 can be loaded automatically. Please consult your distro's instructions for loading new programs
63 and look for modules that usually start with the string "perl-". For instance:-</P>
64 <P>
65 <UL>
66 <LI>Mandrake: urpmi perl-TimeDate perl-Digest-SHA1 perl-Curses perl-Net-Telnet</LI>
67 <LI>Redhat/Fedora: up2date perl-TimeDate perl-Digest-SHA1 perl-Curses perl-Net-Telnet</LI>
68 <LI>SuSE: use yast</LI>
69 <LI>Debian: use apt-get</LI>
70 </UL>
71 </P>
72
73 <P>Some distros are now packaging perl-DB_File separately as well, so you may have to add that to the list 
74 above.</P>
75
76 <P>Copy the CPAN modules listed above to a convenient place on your computer. One good 
77 place would be /usr/local/packages, and the instructions which follow will assume that 
78 that's where you have put them.</P>
79
80 <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>
81 <P>
82 <PRE>
83 # tar xvfz /usr/local/packages/TimeDate-2.27.tar.gz
84 # cd TimeDate-2.27
85 # perl Makefile.PL
86 # make test
87 # make install
88 # cd ..
89 #
90 # tar xvfz /usr/local/packages/Net-Telnet-3.03.tar.gz
91 # cd Net-Telnet-3.02
92 # perl Makefile.PL
93 # make test
94 # make install
95 # cd ..
96 #
97 # tar xvfz /usr/local/packages/Curses-1.08a.tar.gz
98 # cd Curses-1.08a
99 # perl Makefile.PL
100 # make test
101 # make install
102 # cd ..
103 #
104 # tar xvfz /usr/local/packages/Time-HiRes-01.20.tar.gz 
105 # cd Time-HiRes-01.20
106 # perl Makefile.PL
107 # make test
108 # make install
109 # cd ..
110 #
111 # tar xvfz /usr/local/packages/Digest-SHA1-2.01.tar.gz
112 # cd Digest-SHA1-2.01
113 # perl Makefile.PL
114 # make test
115 # make install
116 # cd ..
117 </PRE>
118 </P>
119
120 <P>Only if you need to do these because your perl is old:-</P>
121 <P>
122 <PRE>
123 #
124 # tar xvfz /usr/local/packages/IO-1.20.tar.gz
125 # cd IO-1.20
126 # perl Makefile.PL
127 # make test
128 # make install UNINST=1
129 # cd ..
130 #
131 # tar xvfz /usr/local/packages/Data-Dumper-2.101.tar.gz
132 # cd Data-Dumper-2.101
133 # perl Makefile.PL
134 # make test
135 # make install
136 # cd ..
137 #
138 </PRE>
139 </P>
140
141 <P>Do not fall into the trap of thinking they're all the same, just because they 
142 nearly are! Pay particular attention to the instructions of <EM>IO</EM>, above.</P>
143
144
145 <H2><A NAME="ss1.2">1.2</A> <A HREF="installation_en.html#toc1.2">Preparation</A>
146 </H2>
147
148 <P>I will assume that you have already downloaded the latest tarball of 
149 the DXSpider software and are ready to install it. I am assuming version 
150 1.50 for this section but of course you would use the latest version.</P>
151
152 <P>Login as root and create a user to run the cluster under.  <B><I>UNDER 
153 NO CIRCUMSTANCES USE ROOT AS THIS USER!</I></B>.  I am going to use 
154 the name <EM>sysop</EM>.  You can call it anything you wish.  Depending 
155 on your security requirements you may wish to use an existing user, 
156 however this is your own choice.</P>
157 <P>
158 <BLOCKQUOTE><CODE>
159 <PRE>
160 # adduser -m sysop
161 </PRE>
162 </CODE></BLOCKQUOTE>
163 </P>
164
165 <P>For SuSE distributions, the command would be ..</P>
166 <P>
167 <BLOCKQUOTE><CODE>
168 <PRE>
169 # useradd -m sysop
170 </PRE>
171 </CODE></BLOCKQUOTE>
172 </P>
173
174 <P>Now set a password for the user ...</P>
175 <P>
176 <BLOCKQUOTE><CODE>
177 <PRE>
178 # passwd sysop
179 # New UNIX password:
180 # Retype new UNIX password:
181 passwd: all authentication tokens updated successfully
182 </PRE>
183 </CODE></BLOCKQUOTE>
184 </P>
185
186 <H2><A NAME="ss1.3">1.3</A> <A HREF="installation_en.html#toc1.3">Installing the software</A>
187 </H2>
188
189 <P>Now to unpack the DX Spider distribution, set symbolic links and group 
190 permissions.  Copy the tarball to /home/sysop and do the following.</P>
191 <P>
192 <BLOCKQUOTE><CODE>
193 <PRE>
194 # cd ~sysop
195 # tar xvfz spider-1.50.tar.gz
196 # ln -s ~sysop/spider /spider
197 # groupadd -g 251 spider       (or another number)
198 </PRE>
199 </CODE></BLOCKQUOTE>
200 </P>
201
202 <P>If you do not have the command <EM>groupadd</EM> available to you simply 
203 add a line in /etc/group by hand.</P>
204 <P>
205 <BLOCKQUOTE><CODE>
206 <PRE>
207 # vi /etc/group                (or your favorite editor)
208 </PRE>
209 </CODE></BLOCKQUOTE>
210 </P>
211
212 <P>You also need to add some others to the group, including your own callsign 
213 (this will be used as an alias) and root.  The finished line in /etc/group 
214 should look something like this</P>
215 <P><CODE>spider:x:251:sysop,g0vgs,root</CODE></P>
216
217 <P>The next step is to set the permissions on the Spider directory tree and files ....</P>
218 <P>
219 <BLOCKQUOTE><CODE>
220 <PRE>
221 # chown -R sysop.spider spider
222 # find . -type d -exec chmod 2775 {} \;
223 # find . -type f -exec chmod 775 {} \;
224 </PRE>
225 </CODE></BLOCKQUOTE>
226 </P>
227
228 <P>This last step allows various users of the group <EM>spider</EM> to have 
229 write access to all the directories.  This is not really needed just yet 
230 but will be useful when web interfaces start to appear.</P>
231
232 <P>Finally, you need to fix the permissions on the ax25_call and netrom_call 
233 programs.  Check where they are with the <EM>locate</EM> command and alter 
234 the permissions with the <EM>chmod</EM> command like this ..</P>
235 <P>
236 <BLOCKQUOTE><CODE>
237 <PRE>
238 # chown root ax25_call netrom_call
239 # chmod 4775 ax25_call netrom_call
240 </PRE>
241 </CODE></BLOCKQUOTE>
242 </P>
243
244 <H2><A NAME="ss1.4">1.4</A> <A HREF="installation_en.html#toc1.4">Setting callsigns etc</A>
245 </H2>
246
247 <P>Now login to your machine as the user you created earlier.  In my case that 
248 user is called <EM>sysop</EM>.  Once logged in, issue the following commands ....</P>
249 <P>
250 <BLOCKQUOTE><CODE>
251 <PRE>
252 $ cd /spider
253 $ mkdir local
254 $ mkdir local_cmd
255 $ cp perl/DXVars.pm.issue local/DXVars.pm
256 $ cd local
257 $ vi DXVars.pm (or your favourite editor)
258 </PRE>
259 </CODE></BLOCKQUOTE>
260 </P>
261
262 <P>Using the distributed DXVars.pm as a a template, set your cluster callsign, 
263 sysop callsign and other user info to suit your own environment. </P>
264 <P>
265 <BLOCKQUOTE><CODE>
266 <PRE>
267 $mycall = "GB7DJK";     
268 </PRE>
269 </CODE></BLOCKQUOTE>
270 </P>
271
272 <P>This is the call sign of your cluster.  Here in the UK we have 
273 separate callsigns for our cluster nodes. If you can't use a different callsign I suggest
274 you use an SSID of '-2' for the node callsign '$mycall'.</P>
275 <P>
276 <BLOCKQUOTE><CODE>
277 <PRE>
278 $myalias = "G1TLH";
279 </PRE>
280 </CODE></BLOCKQUOTE>
281 </P>
282
283 <P>This is the sysop user callsign, normally your own.</P>
284
285 <P><B>PLEASE USE CAPITAL LETTERS FOR CALLSIGNS</B></P>
286
287 <P>Note that this a perl file which will be parsed and executed as part of the 
288 cluster. If you get it wrong then perl will complain when you start the cluster 
289 process.  It is important only to alter the text of any section.  Some of the 
290 lines look a little odd.  Take this line for example ....</P>
291 <P><CODE>$myemail = "ianmaude\@btinternet.com";</CODE></P>
292
293 <P>There appears to be an extra slash in there.  However this has to be there 
294 for the file to work so leave it in.</P>
295
296 <P>DON'T alter any file in /spider/perl, they are overwritten with every
297 release. Any files or commands you place in /spider/local or /spider/local_cmd 
298 will automagically be used in preference to the ones in /spider/perl EVEN 
299 while the cluster is running!</P>
300
301 <P>Save the new file and change directory to ../perl ....</P>
302 <P>
303 <BLOCKQUOTE><CODE>
304 <PRE>
305 $ cd ../perl
306 </PRE>
307 </CODE></BLOCKQUOTE>
308 </P>
309
310 <P>Now type the following command which creates the basic user file with you as 
311 the sysop.</P>
312 <P>
313 <BLOCKQUOTE><CODE>
314 <PRE>
315 $ ./create_sysop.pl
316 </PRE>
317 </CODE></BLOCKQUOTE>
318 </P>
319
320 <H2><A NAME="ss1.5">1.5</A> <A HREF="installation_en.html#toc1.5">The client program</A>
321 </H2>
322
323 <P>In earlier versions of Spider, all the processes were Perl scripts.  This
324 was fine but with a lot of users your computer memory would soon be used up.
325 To combat this a new client was written in "C".  This client only works for
326 <EM>incoming</EM> connects at the moment.  Before you can use it though it
327 has to be "made".  CD to /spider/src and type <EM>make</EM>.  You
328 should see the output on your screen and hopefully now have a small C program
329 called <EM>client</EM>.  Leave it in this directory.</P>
330
331
332 <H2><A NAME="ss1.6">1.6</A> <A HREF="installation_en.html#toc1.6">Starting up for the first time</A>
333 </H2>
334
335 <P>We can now bring spider up for the first time and see if all is well or not!  
336 It should look something like this ...</P>
337 <P>
338 <BLOCKQUOTE><CODE>
339 <PRE>
340 $ ./cluster.pl
341 DXSpider DX Cluster Version 1.50
342 Copyright (c) 1998 Dirk Koopman G1TLH
343 loading prefixes ...
344 loading band data ...
345 loading user file system ...
346 starting listener ...
347 reading existing message headers
348 reading cron jobs
349 orft we jolly well go ...
350 </PRE>
351 </CODE></BLOCKQUOTE>
352 </P>
353
354 <P>If all is well then login on another term or console as <EM>sysop</EM> and 
355 cd to /spider/src.  Now issue the following command ...</P>
356 <P>
357 <BLOCKQUOTE><CODE>
358 <PRE>
359 $ ./client
360 </PRE>
361 </CODE></BLOCKQUOTE>
362 </P>
363
364 <P>This should log you into the cluster as the sysop under the alias callsign we 
365 set earlier.  In this case the callsign is G0VGS.  The cluster callsign is set 
366 in the DXVars.pm file in /spider/local.  In this case we will assume that this 
367 was set as GB7MBC.  You should therefore see this when you login ....</P>
368 <P>
369 <BLOCKQUOTE><CODE>
370 <PRE>
371 G0VGS de GB7MBC 19-Nov-1999 2150Z >
372 </PRE>
373 </CODE></BLOCKQUOTE>
374 </P>
375
376 <P>If you do, congratulations!  If not, look over the instructions again, you 
377 have probably missed something out.  You can shut spider down again with the 
378 command ....</P>
379 <P>
380 <BLOCKQUOTE><CODE>
381 <PRE>
382 shutdown
383 </PRE>
384 </CODE></BLOCKQUOTE>
385 </P>
386
387 <P>and both the cluster and the client should return to Linux prompts.</P>
388
389
390 <HR>
391 <A HREF="installation_en-2.html">Next</A>
392 Previous
393 <A HREF="installation_en.html#toc1">Contents</A>
394 </BODY>
395 </HTML>