forked from WormBase/website-classic
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathINSTALL.html
executable file
·1371 lines (1342 loc) · 61.4 KB
/
INSTALL.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<HTML>
<HEAD>
<TITLE>TOPIC</TITLE>
<LINK REV="made" HREF="mailto:lstein@cshl.org">
</HEAD>
<BODY>
<A NAME="__index__"></A>
<!-- INDEX BEGIN -->
<UL>
<LI><A HREF="#topic">TOPIC</A></LI>
<LI><A HREF="#purpose">PURPOSE</A></LI>
<LI><A HREF="#for the impatient">FOR THE IMPATIENT</A></LI>
<LI><A HREF="#prequisites">PREQUISITES</A></LI>
<UL>
<LI><A HREF="#hardware requirements">Hardware Requirements</A></LI>
<LI><A HREF="#software requirements">Software Requirements</A></LI>
</UL>
<LI><A HREF="#document conventions">DOCUMENT CONVENTIONS</A></LI>
<LI><A HREF="#preparing directories and users">PREPARING DIRECTORIES AND USERS</A></LI>
<UL>
<LI><A HREF="#user and group accounts">User and group accounts</A></LI>
<LI><A HREF="#directories">Directories</A></LI>
</UL>
<LI><A HREF="#installing the wormbase files">INSTALLING THE WORMBASE FILES</A></LI>
<LI><A HREF="#installing acedb">INSTALLING ACEDB</A></LI>
<UL>
<LI><A HREF="#installing a preliminary database and testing acedb">Installing A Preliminary Database And Testing Acedb</A></LI>
<LI><A HREF="#installing acedb to start automatically">Installing Acedb to start automatically</A></LI>
<LI><A HREF="#installing acedb under xinetd">Installing Acedb under xinetd</A></LI>
</UL>
<LI><A HREF="#installing mysql">INSTALLING MYSQL</A></LI>
<LI><A HREF="#installing perl modules">INSTALLING PERL MODULES</A></LI>
<LI><A HREF="#installing bioperl">INSTALLING BIOPERL</A></LI>
<LI><A HREF="#installing generic genome browser">INSTALLING GENERIC GENOME BROWSER</A></LI>
<LI><A HREF="#installing apache and mod_perl">INSTALLING APACHE AND MOD_PERL</A></LI>
<LI><A HREF="#configuring wormbase">CONFIGURING WORMBASE</A></LI>
<UL>
<LI><A HREF="#configuring httpd.conf">Configuring httpd.conf</A></LI>
<LI><A HREF="#configuring wormbase: elegans.pm and localdefs.pm">Configuring WormBase: elegans.pm and localdefs.pm</A></LI>
<LI><A HREF="#restarting wormbase">Restarting WormBase</A></LI>
<LI><A HREF="#if it doesn't work">If it doesn't work</A></LI>
</UL>
<LI><A HREF="#installing blast">INSTALLING BLAST</A></LI>
<LI><A HREF="#install blat">INSTALL BLAT</A></LI>
<LI><A HREF="#installing scripts to verify servers are running">INSTALLING SCRIPTS TO VERIFY SERVERS ARE RUNNING</A></LI>
<LI><A HREF="#the update_wormbase.pl script">THE UPDATE_WORMBASE.PL SCRIPT</A></LI>
<UL>
<LI><A HREF="#files touched by update_wormbase.pl">Files touched by update_wormbase.pl</A></LI>
<LI><A HREF="#configuring update_wormbase.pl">Configuring update_wormbase.pl</A></LI>
<LI><A HREF="#running update_wormbase.pl">Running update_wormbase.pl</A></LI>
<LI><A HREF="#dealing with partial updates">Dealing with Partial Updates</A></LI>
<LI><A HREF="#running as a cron job">Running as a Cron Job</A></LI>
</UL>
<LI><A HREF="#copyright information">COPYRIGHT INFORMATION</A></LI>
</UL>
<!-- INDEX END -->
<HR>
<P>
<H1><A NAME="topic">TOPIC</A></H1>
<P>WormBase Installation: The Definitive Guide</P>
<P>
<HR>
<H1><A NAME="purpose">PURPOSE</A></H1>
<P>A Detailed Description of How to Install a WormBase Mirror</P>
<P>
<HR>
<H1><A NAME="for the impatient">FOR THE IMPATIENT</A></H1>
<P>A parallel guide, which glosses over many of the install details, but
presents all command line entries for an install, is available in the
/docs/SOPs directory, INSTALL.genome_freeze.pod. It is recommended
only for the impatient or those with significant command-line and Unix
experience.</P>
<P>
<HR>
<H1><A NAME="prequisites">PREQUISITES</A></H1>
<P>This section describes the prerequisites for installing WormBase.</P>
<P>
<H2><A NAME="hardware requirements">Hardware Requirements</A></H2>
<P>WormBase runs on a Unix or Linux system. A relatively fast system
with generous memory is strongly recommended. The minimum suggested
hardware is:</P>
<OL>
<LI><STRONG><A NAME="item_Mhz_Pentium_III_or_higher">Mhz Pentium III or higher</A></STRONG><BR>
<LI><STRONG><A NAME="item_gigabyte">gigabyte RAM</A></STRONG><BR>
<LI><STRONG><A NAME="item_gigabyte_Swap">gigabyte Swap</A></STRONG><BR>
<LI><STRONG><A NAME="item_gigabytes_free_disk_space">gigabytes free disk space</A></STRONG><BR>
</OL>
<P>Each database occupies approximately 5 gigabytes of disk space, and
you will need at least twice that in order to stage and unpack new
versions of the database. In addition, count on having another
gigabyte used by BLAST databases.</P>
<P>WormBase is currently in a transition between an ACeDB-based system
and one that runs on top of the MySQL relational database. For this
reason, it requires both ACeDB and MySQL to be installed. The
middleware layer for ACeDB is AcePerl, and the middleware layer for
MySQL is the Bio::DB::GFF module, which comes with the BioPerl
package.</P>
<P>
<H2><A NAME="software requirements">Software Requirements</A></H2>
<P>You will need the following software packages:</P>
<DL>
<DT><STRONG><A NAME="item_acedb_version_4%2E8j_or_higher">acedb version 4.8j or higher</A></STRONG><BR>
<DD>
<PRE>
<A HREF="http://www.acedb.org/">http://www.acedb.org/</A></PRE>
<DT><STRONG><A NAME="item_Perl_version_5%2E6%2E1_or_higher">Perl version 5.6.1 or higher</A></STRONG><BR>
<DD>
<PRE>
<A HREF="http://www.perl.org/">http://www.perl.org/</A></PRE>
<DT><STRONG><A NAME="item_The_following_Perl_modules%2C_all_of_which_are_ava">The following Perl modules, all of which are available at
<A HREF="http://www.cpan.org,">http://www.cpan.org,</A> with the listed version or higher:</A></STRONG><BR>
<DD>
<PRE>
Required modules
----------------
Ace 1.87
Bio::Das 0.20
CGI 3.01
CGI::Cache 1.40
Cache::FileCache 0.09
DBD::mysql 2.1026
DBI 1.35
Digest::MD5 2.24
GD 1.19 (2.x recommended)
IO::Scalar 2.104
IO::String 1.02
LWP 5.69
Net::FTP 2.67
Statistics::OLS 0.07
Storable 2.06
Text::Shellwords 1.00</PRE>
<PRE>
Optional modules
----------------
GD::SVG 0.25
SVG 2.28
XML::Dom 1.34
XML::Parser 2.31
XML::Twig 3.09
XML::Writer 0.4</PRE>
<P>(Particularly make note of the CGI.pm version number; Bugs in older
versions of CGI.pm can cause confusing problems with WormBase.)</P>
<P>If the optional XML modules are present, the genome browser will be
able to dump GAME and BSML versions of the sequence annotations. If
the optional GD::SVG and SVG modules are present, the genome browser
will be able to produce output in the Scalable Vector Graphics format.</P>
<DT><STRONG><A NAME="item_Apache_1%2E3%2E26_or_higher">Apache 1.3.26 or higher</A></STRONG><BR>
<DD>
<PRE>
<A HREF="http://www.apache.org/">http://www.apache.org/</A></PRE>
<DT><STRONG><A NAME="item_Mod_Perl_1%2E27_or_higher">Mod_Perl 1.27 or higher</A></STRONG><BR>
<DD>
<PRE>
<A HREF="http://perl.apache.org/">http://perl.apache.org/</A></PRE>
<DT><STRONG><A NAME="item_Expat_1%2E95%2E1_or_higher">Expat 1.95.1 or higher</A></STRONG><BR>
<DD>
<PRE>
<A HREF="http://expat.sourceforge.net/">http://expat.sourceforge.net/</A></PRE>
<DT><STRONG><A NAME="item_The_WormBase_Web_software%2C_matched_to_the_data_r">The WormBase Web software, matched to the data release version</A></STRONG><BR>
<DD>
<PRE>
<A HREF="ftp://www.wormbase.org/pub/wormbase/software">ftp://www.wormbase.org/pub/wormbase/software</A> or via CVS</PRE>
<DT><STRONG><A NAME="item_The_Generic_Genome_Browser_package%2C_version_1%2E">The Generic Genome Browser package, version 1.61 or higher</A></STRONG><BR>
<DD>
<PRE>
<A HREF="http://www.gmod.org/">http://www.gmod.org/</A></PRE>
<DT><STRONG><A NAME="item_The_BioPerl_package%2C_version_1%2E40_or_higher">The BioPerl package, version 1.40 or higher</A></STRONG><BR>
<DD>
<PRE>
<A HREF="http://www.bioperl.org/">http://www.bioperl.org/</A></PRE>
<DT><STRONG><A NAME="item_higher">Wublast 2.0 or higher (required for BLAST search pages)</A></STRONG><BR>
<DD>
<PRE>
<A HREF="http://blast.wustl.edu/">http://blast.wustl.edu/</A></PRE>
<DT><STRONG>BLAT 2.7 or higher (required for BLAST search pages)</STRONG><BR>
<DD>
<PRE>
<A HREF="http://www.soe.ucsc.edu/~kent/">http://www.soe.ucsc.edu/~kent/</A></PRE>
<DT><STRONG><A NAME="item_The_MySQL_database%2C_version_3%2E23%2E39_or_highe">The MySQL database, version 3.23.39 or higher</A></STRONG><BR>
<DD>
<PRE>
<A HREF="http://www.mysql.com/">http://www.mysql.com/</A></PRE>
<DT><STRONG><A NAME="item_PCR">Modified version of e-PCR (required for e-PCR search page)</A></STRONG><BR>
<DD>
This is located in the directory ``e-PCR'' in the wormbase distribution.
Just cd to that directory and type ``make'' and ``make install''. The
file README-Wormbase describes the changes that were made to the
original e-PCR distribution.
<P></P></DL>
<P>
<HR>
<H1><A NAME="document conventions">DOCUMENT CONVENTIONS</A></H1>
<P>The commands presented in this document are tailored for an
out-of-the-box Red Hat Linux (version 7.3) installation. These
commands may vary on your system.</P>
<P>The ``#'' prompt is used throughout this document to denote the root
command-line prompt. These commands should be issued as the root user,
typically via ``sudo''. Normal user prompts are denoted as ``%''. Long
lines that should be entered as a single line at the command line are
split by '\' to increase legibility. You can safely enter these
backslashes at the command line as well.</P>
<P>
<HR>
<H1><A NAME="preparing directories and users">PREPARING DIRECTORIES AND USERS</A></H1>
<P>WormBase uses several user accounts for directory and server
permissions. You will need to create these users and several
preliminary directories.</P>
<P>
<H2><A NAME="user and group accounts">User and group accounts</A></H2>
<P>These users should not have a login password. They are to establish
privileges only.</P>
<DL>
<DT><STRONG><A NAME="item_acedb_group">acedb group</A></STRONG><BR>
<DD>
This is the group that will have write privileges to the acedb
directory tree. Acedb administrators should be added to this group.
<P></P>
<DT><STRONG><A NAME="item_acedb_user">acedb user</A></STRONG><BR>
<DD>
This is the user that the acedb server will run as. It should be a
member of the acedb group.
<P></P>
<DT><STRONG><A NAME="item_wormbase_group">wormbase group</A></STRONG><BR>
<DD>
This is a group that will have write privileges to the wormbase
directory tree. WormBase administrators and authors should be added
to this group.
<P></P></DL>
<P>Creating a new user and group varies among Unix flavors. On most
Linux systems, the following commands will create the new groups. You
should have sudo privilege to execute these commands.</P>
<PRE>
# /usr/sbin/groupadd acedb
# /usr/sbin/groupadd wormbase</PRE>
<P>and this will create a new acedb user:</P>
<PRE>
# /usr/sbin/useradd -g acedb -d /usr/local/acedb acedb</PRE>
<P>This command also adds the new acedb user to the acedb group. Note
that the acedb user's home directory was set to /usr/local/acedb, a
directory which will be created in the next step.</P>
<P>
<H2><A NAME="directories">Directories</A></H2>
<P>Create the following directories:</P>
<DL>
<DT><STRONG><A NAME="item_%2Fusr%2Flocal%2Facedb%2C_owner%3Dacedb_group%3Dac">/usr/local/acedb, owner=acedb group=acedb,mode=drwxrwsr-x</A></STRONG><BR>
<DD>
<PRE>
# mkdir /usr/local/acedb
# chown acedb /usr/local/acedb
# chgrp acedb /usr/local/acedb
# chmod 2775 /usr/local/acedb</PRE>
<DT><STRONG><A NAME="item_%2Fusr%2Flocal%2Fwormbase%2C_owner%3Droot_group%3D">/usr/local/wormbase, owner=root group=wormbase mode=drwxrwsr-x</A></STRONG><BR>
<DD>
<PRE>
# mkdir /usr/local/wormbase
# chown root /usr/local/wormbase
# chgrp wormbase /usr/local/wormbase
# chmod 2775 /usr/local/wormbase</PRE>
<DT><STRONG><A NAME="item_%2Fusr%2Flocal%2Fwormbase%2Flogs%2C_owner%3Droot_g">/usr/local/wormbase/logs, owner=root group=wormbase mode=drwxrwsr-x</A></STRONG><BR>
<DD>
<PRE>
# mkdir /usr/local/wormbase/logs
# chown root /usr/local/wormbase/logs
# chgrp wormbase /usr/local/wormbase/logs
# chmod 2775 /usr/local/wormbase/logs</PRE>
<DT><STRONG><A NAME="item_%7Eftp%2Fpub%2Fwormbase%2C_owner%3Droot_group%3Dwo">~ftp/pub/wormbase, owner=root group=wormbase mode=drwxrwsr-x</A></STRONG><BR>
<DD>
<PRE>
# mkdir ~ftp/pub/wormbase
# chown root ~ftp/pub/wormbase
# chgrp wormbase ~ftp/pub/wormbase
# chmod 2775 ~ftp/pub/wormbase</PRE>
<P>You may ignore this step if you do not plan to mirror the WormBase FTP
site. In the examples below, the -p option is used to create the intermediate
parents of directories if they don't already exist. If your mkdir
doesn't support this option, you will need to create the intermediate
directories manually.</P>
<DT><STRONG><A NAME="item_%2Fusr%2Flocal%2Fwublast%2C_owner%3Droot_group%3Dw">/usr/local/wublast, owner=root group=wormbase mode=drwxrwsr-x</A></STRONG><BR>
<DD>
<PRE>
# mkdir /usr/local/wublast
# chown root /usr/local/wublast
# chgrp wormbase /usr/local/wublast
# chmod 2775 /usr/local/wublast</PRE>
<P>You may safely ignore this step if you do not plan to support the
blast search page.</P>
</DL>
<P>The ``s'' bit in the group permissions for these directories ensures
that new directories and files created within them will be owned by
the same group as the directory. This allows groups of administrators
to have read/write access to project files. For this to work,
however, these individuals' default umask must be set to 002 when they
log in.</P>
<P>This would be a good time to add yourself to the acedb and wormbase
groups.</P>
<PRE>
# usermod -M acedb,wormbase [your_login_name]</PRE>
<P>You may need to re-login for these changes to take effect. Use the
groups command to check which groups you are a member of:</P>
<PRE>
% groups</PRE>
<P>
<HR>
<H1><A NAME="installing the wormbase files">INSTALLING THE WORMBASE FILES</A></H1>
<P>You have two options for installing the WormBase files, by CVS, or
from an archived tarball or via CVS. Both methods are presented.
WormBase is a dynamic resource; the CVS version will allow you to
remain on the bleeding edge. However, scripts in CVS are not
guaranteed to be functional. For this reason, it is recommended to
use the tarball install.</P>
<DL>
<DT><STRONG><A NAME="item_Installing_from_a_tarball_release">Installing from a tarball release</A></STRONG><BR>
<DD>
Fetch and unpack the file wormbase-site-X.XX.tar.gz into somewhere safe.
<PRE>
% cd ~/build # a temporary build directory in your home for example
% curl -O <A HREF="ftp://ftp.wormbase.org/software/wormbase-site-current.tar.gz">ftp://ftp.wormbase.org/software/wormbase-site-current.tar.gz</A>
% gunzip -cd wormbase-site-current.tar.gz | tar xvf -</PRE>
<P>Now move its contents into /usr/local/wormbase:</P>
<PRE>
% cd wormbase-site*
# cp -r * /usr/local/wormbase/.</PRE>
<P></P>
<DT><STRONG><A NAME="item_Installing_via_CVS">Installing via CVS</A></STRONG><BR>
<DD>
Using anonymous CVS will enable you to update the WormBase software
easily.
<P>Set your CVSROOT environment variable:
tcsh syntax:
%setenv CVSROOT <A HREF="mailto::pserver:anonymous@gorgonzola.cshl.org:/usr/local/cvs">:pserver:anonymous@gorgonzola.cshl.org:/usr/local/cvs</A></P>
<PRE>
Bash syntax:
%export CVSROOT=:pserver:anonymous@gorgonzola.cshl.org:/usr/local/cvs</PRE>
<PRE>
% cd /usr/local/wormbase
% cvs -d:pserver:anonymous@gorgonzola.cshl.org:/usr/local/cvs \
co wormbase-site
% mv wormbase-site/* .</PRE>
<P></P></DL>
<P>Right now, the only directory you need to worry about is wspec, which
contains the skeleton of the Acedb password and configuration files
that you will need to get Acedb up and running.</P>
<P>
<HR>
<H1><A NAME="installing acedb">INSTALLING ACEDB</A></H1>
<P>You must have a working Acedb socket server running. For best results
the server should be running on the same machine as the WormBase web
site. This process is explained in detail because it is the trickiest
part of installing a WormBase site. You may install Acedb from source
or binary packages.</P>
<DL>
<DT><STRONG><A NAME="item_Installing_Acedb_from_a_binary_package">Installing Acedb from a binary package</A></STRONG><BR>
<DD>
The following commands will fetch the latest version (here 4_9t) of
Acedb into a temporary build directory.
<PRE>
% cd ~/build
% mkdir acedb ; cd acedb
% curl -O <A HREF="http://www.acedb.org/Software/Downloads/SUPPORTED/ACEDB-STATIC_serverLINUX.4_9t.tar.gz">http://www.acedb.org/Software/Downloads/SUPPORTED/ACEDB-STATIC_serverLINUX.4_9t.tar.gz</A>
% curl -O <A HREF="http://www.acedb.org/Software/Downloads/SUPPORTED/ACEDB-STATIC_binaryLINUX.4_9t.tar.gz">http://www.acedb.org/Software/Downloads/SUPPORTED/ACEDB-STATIC_binaryLINUX.4_9t.tar.gz</A>
% gunzip -c ACEDB-* | tar xvf -
If this fails, try unpacking each item independently
% zcat /usr/local/TGZ/ACEDB-STATIC_binaryLINUX.4_9t.tar.gz | tar xf -
% zcat /usr/local/TGZ/ACEDB-STATIC_serverLINUX.4_9t.tar.gz | tar xf -
% mv ACEDB-* ~/mirror/src/. # Stow the source if you'd prefer</PRE>
<P>Now copy the unpacked binaries to the acedb bin, directory, altering
the permissions as appropriate.
# mkdir ~/acedb/bin
# mv * ~/acedb/bin/.
# chown root ~acedb/bin/*
# chgrp root ~acedb/bin/*</P>
<P></P>
<DT><STRONG><A NAME="item_Installing_Acedb_from_source">Installing Acedb from source</A></STRONG><BR>
<DD>
Download the most recent release of Acedb, which is
ACEDB-source.4_9m.tar.gz at this moment. from <A HREF="http://www.acedb.org">http://www.acedb.org</A>
site. Note that you should not unpack the tar.gz source file, which
will be uncompressed and untarred automatically by the INSTALL script
(see later for details). Also download the following files:
<PRE>
NOTE
README (brief list/description of files)
INSTALL (a ksh script, first time installation script)</PRE>
<P>Place all the .tar.gz files you need plus INSTALL into this directory
~acedb/. The INSTALL script will install packages in your current
working directory.</P>
<PRE>
# sudo chmod u+x INSTALL
# ./INSTALL
Note: make the .tar.gz files readable by acedb group
</PRE>
<PRE>
On the terminal, you will see:
...
directory permissions OK...
Files will be owned by: "nchen"
Files will be installed in: /usr/local/acedb</PRE>
<PRE>
It will install the package as a subdirectory of the current
directory. If such a directory exists you will be given a chance to
not install that package or abort the install altogether.</PRE>
<P>IMPORTANT: DO NOT INSTALL AS ROOT: this would create a security loophole.</P>
<P>building Acedb with the system wide copies of the GNU software</P>
<PRE>
# cd source
# setenv ACEDB_MACHINE LINUX_4
# make all
</PRE>
<PRE>
You can find all binaries in the bin.LINUX_4 directory.</PRE>
<P>Create the directory /usr/local/acedb/bin (referred to as ~acedb/bin
later, provided that you created an acedb user). Copy the following
files to this directory:</P>
<PRE>
saceserver
saceclient
sgifaceserver
tace
giface
xace
makeUserPasswd</PRE>
<P>Make sure that these files are executable and owned by root:</P>
<PRE>
# chown root ~acedb/bin/
# chgrp root ~acedb/bin/*</PRE>
<P></P></DL>
<P>
<H2><A NAME="installing a preliminary database and testing acedb">Installing A Preliminary Database And Testing Acedb</A></H2>
<P>You will need a database to test whether acedb is installed correctly.
This will eventually be done automatically by the update_wormbase.pl
script, but it is best to do it manually the first time to ensure that
Acedb runs correctly.</P>
<P>It will take a while, but it is best to download the current
C. elegans distribution from</P>
<PRE>
<A HREF="ftp://ftp.sanger.ac.uk/pub/wormbase/current_release">ftp://ftp.sanger.ac.uk/pub/wormbase/current_release</A></PRE>
<P>Download all files into a suitable temp directory, such as /usr/tmp.
Get all the files named database.*.tar.gz, where the * contains the
current data release and software version number.</P>
<PRE>
% ftp -i ftp.sanger.ac.uk
ftp> type in "anonymous" as username
ftp> ce /pub/wormbase/current_release
ftp> mget database.*.gz</PRE>
<P>You will now unpack the database into a subdirectory of
/usr/local/acedb. There will eventually be multiple Acedb database
releases here with a symbolic link pointing to the most current
version. By convention, the release directory name is ``elegans_WSXX'',
where XX is the release number, and the symbolic link ``elegans'' points
at the most recent one:</P>
<PRE>
lrwxrwxrwx 1 lstein acedb 29 Jul 23 12:06 elegans ->elegans_WS46/
drwxrwsr-x 8 lstein acedb 4096 May 20 20:42 elegans_WS41/
drwxrwsr-x 8 lstein acedb 4096 May 26 01:31 elegans_WS42/
drwxrwsr-x 8 lstein acedb 4096 Jun 14 14:37 elegans_WS43/
drwxrwsr-x 8 lstein acedb 4096 Jun 22 10:55 elegans_WS44/
drwxrwsr-x 8 lstein acedb 4096 Jul 13 17:55 elegans_WS45/
drwxrwsr-x 8 lstein acedb 4096 Jul 20 01:34 elegans_WS46/</PRE>
<P>Create the correct release directory and unpack the database tar
files:</P>
<PRE>
% cd ~acedb
% mkdir elegans_WSXX -- replace "XX" with the release number
% ln -s elegans_WSXX elegans</PRE>
<P>Notice that these commands are run under normal user privileges. This
will work if you have added yourself to the acedb group and configured
the directory permissions as described above.</P>
<P>Now unpack the tar files. Assuming that you downloaded them into
/usr/tmp, the following will do the trick:</P>
<P>Bash syntax:</P>
<PRE>
cd ~acedb/elegans
for i in /usr/tmp/database*.gz; do gunzip -c $i | tar xvf -;</PRE>
<P>C-shell syntax:
</P>
<PRE>
cd ~acedb/elegans
foreach i (/usr/tmp/database*.gz)
gunzip -c $i | tar xvf -
end</PRE>
<P>This will unpack the database files into ~acedb/elegans.</P>
<P>You will now need to add four configuration files to
~acedb/elegans/wspec. They are:</P>
<PRE>
passwd.wrm controls local access to the acedb data files
server.wrm legacy configuration file for the RPC server
serverconfig.wrm configuration information for the socket server
serverpasswd.wrm controls remote access to the acedb data files</PRE>
<P>You will find skeletons of these files in /usr/local/wormbase/wspec,
but they will need to be updated with your local account information.
Make the following changes to the original files in
/usr/local/wormbase/wspec, and then copy them into
~acedb/elegans/wspec. It is important to make the changes to the
originals in /usr/local/wormbase/wspec, because these files are used
by the WormBase update script to autogenerate new Acedb releases.</P>
<DL>
<DT><STRONG><A NAME="item_passwd%2Ewrm">passwd.wrm</A></STRONG><BR>
<DD>
This file contains the account names of local users who have write
access to the database. Erase what's there (user ``lstein'') and
replace it with the administrator's (your!) login name. If you want
to be able to update the database via the socket server, add user
``acedb'' to the list:
<PRE>
// passwd.wrm
your_name
acedb</PRE>
<P></P>
<DT><STRONG><A NAME="item_serverpasswd%2Ewrm">serverpasswd.wrm</A></STRONG><BR>
<DD>
This file contains usernames and passwords for those who have write
access to the database. Erase these lines:
<PRE>
admin: admin lstein
write: lstein nchen</PRE>
<P>Replace them with this line:</P>
<PRE>
admin: admin
write: your_login1 your_login2</PRE>
<P>This means that someone who logs in with username ``admin'' and a valid
password will be granted administrative access to the database
(ability to change passwords and shut down the server). Someone who
logs in with username ``your_login1'' or ``your_login2'' will have write
access to the database.</P>
<P>You will now use the makeUserPasswd program to create some passwords.
Each time you run this program, it will print out a password line,
which should be manually copied and pasted into the bottom of
serverpasswd.wrm:</P>
<PRE>
% ~acedb/bin/makeUserPasswd admin
// Please enter passwd: *******
// Please re-enter passwd: *******
// The following line is a valid entry for wspec/serverpasswd.wrm
admin 5b11966a419e057ef0b7b917746e934c</PRE>
<P>You should do this once for the administrator, and once for each of
the users who have write access. When you are done, serverpasswd.wrm
will look like this:</P>
<PRE>
// serverpasswd.wrm
admin: admin
write: your_login1 your_login2
admin 5b11966a419e057ef0b7b917746e934c
your_login1 2640075535f3fe296b6797d77bd6a714
your_login2 05db4280d9f3b1c1aa6e10479aef4243</PRE>
<P></P>
<DT><STRONG><A NAME="item_server%2Ewrm">server.wrm</A></STRONG><BR>
<DD>
No extra configuration needed. Just copy it to ~acedb/elegans/wspec/
<P></P>
<DT><STRONG><A NAME="item_serverconfig%2Ewrm">serverconfig.wrm</A></STRONG><BR>
<DD>
No extra configuration needed. Just copy it to ~acedb/elegans/wspec/
<P></P></DL>
<P>Be sure to copy these changes from the templates in
/usr/local/wormbase/wspec to the live database in
~acedb/elegans/wspec!</P>
<P>At this point, you can test whether the socket server runs correctly.
Provided that you have added yourself to the acedb group, you can run
the following command:</P>
<PRE>
% ~acedb/bin/sgifaceserver ~acedb/elegans
// Database directory: /usr/local/acedb/elegans
// Shared files: /usr/local/acedb
// #### Server started at 2001-07-23_16:42:31
// #### host=mondseer.cshl.org listening port=23100
// #### Database dir=/usr/local/acedb/elegans
// #### Working dir=/usr/local/acedb/elegans
// #### clientTimeout=600 serverTimeout=600 maxKbytes=0 autoSaveInterval=600</PRE>
<PRE>
// Server listening socket 28 created</PRE>
<P>The line ``listening port=23100'' indicates that the server is listening
to port 23100. Open a new terminal window and use saceclient to
confirm that you can communicate with the server:</P>
<PRE>
% ~acedb/bin/saceclient localhost -port 23100
Please enter userid: anonymous
Please enter passwd:
acedb@localhost> find Sequence
// Response: 65 bytes.</PRE>
<PRE>
// Found 236493 objects in this class
// 236493 Active Objects
acedb@localhost> quit
// Closing connection to server.
// Client sent termination signal by server.
// Response: 13 bytes.
// A bientot
// Please report problems to acedb@sanger.ac.uk
// Bye</PRE>
<P>The command-line syntax for saceclient is ``saceclient <host> -port
<port>''. When prompted for the userid, enter ``anonymous'' and just hit
return when prompted for a password. We then issued a ``find Sequence''
command to count the number of sequences in the database (a lot), and
``quit'' to terminate the connection.</P>
<P>Now test that the admin password works:</P>
<PRE>
~acedb/bin/saceclient localhost -port 23100
Please enter userid: admin
Please enter passwd: ******
acedb@localhost> shutdown now
// Client sending shutdown to server
// Client sent termination signal by server.
// Response: 87 bytes.
// 0 Active Objects
// Sorry, emergency shutdown of server now executing
// A bientot
// Please report problems to acedb@sanger.ac.uk
// Bye</PRE>
<P>When prompted for the userid, we entered ``admin'' and gave the correct
password. The command ``shutdown now'' causes the server to exit. If
we did not have administrative privileges, we would have gotten an
``unknown command'' error at this stage.</P>
<P>
<H2><A NAME="installing acedb to start automatically">Installing Acedb to start automatically</A></H2>
<P>The final step is to arrange for the Acedb socket server to be started
automatically when it is needed. The most typical way of doing this
is to use inetd to launch the server.</P>
<P>Locate the file /etc/inetd.conf, and add the following line to the
end:</P>
<PRE>
2005 stream tcp wait acedb /usr/local/acedb/bin/sgifaceserver \
sock.acedb /usr/local/acedb/elegans 1200:1200:0</PRE>
<P>Note that this line has been broken at the end (with a backslash), but
that in the real configuration file, neither the linebreak nor the
backslash should appear. The first column indicates the port number
to listen to. 2005 is the default used by the WormBase configuration
files.</P>
<P>Tell inetd to reload its configuration file by sending it a HUP
signal.</P>
<PRE>
# ps -elf | grep inetd
140 S root 500 1 0 60 0 - 329 do_sel Jul17 ? inetd
# killall -HUP 140</PRE>
<P>You should now be able to talk to the database using saceclient (as a
anonymous user):</P>
<PRE>
% ~acedb/bin/saceclient localhost -port 2005</PRE>
<P>
<H2><A NAME="installing acedb under xinetd">Installing Acedb under xinetd</A></H2>
<P>What? You don't have /etc/inetd.conf? You are probably using
new-fangled RedHat system that has replaced the tried-and-true inetd
daemon with the (supposedly more secure, but probably buggy) xinetd
daemon.</P>
<P>First, make sure that xinetd is even installed (look for the presence
of /usr/sbin/xinetd). If not, use the RPM manager (gnorpm or
equivalent) to install the xinetd package. (Or better yet, install
the traditional inetd). After installing xinetd, make sure that it is
run in the system's default run level. Use the RedHat control-panel
for this purpose.</P>
<P>The version of xinetd that is installed in RedHat 7.1 will not work.
Go to RedHat's ``upgrade'' RPM site and install xinetd-2.3.7-4.7x.
Once xinetd is installed, you will now need to create an xinetd
configuration file for Acedb. Create a new file named
/etc/xinetd.d/acedb with the following contents:</P>
<PRE>
# file: /etc/xinetd.d/acedb
# default: on
# description: wormbase acedb database
service acedb
{
protocol = tcp
socket_type = stream
port = 2005
flags = REUSE
wait = yes
user = acedb
group = acedb
log_on_success += USERID DURATION
log_on_failure += USERID HOST
server = /usr/local/acedb/bin/sgifaceserver
server_args = /usr/local/acedb/elegans 1200:1200:0
}</PRE>
<P>Edit /etc/services. Although xinetd is not supposed to use
/etc/services, the following line must be added:</P>
<PRE>
acedb 2005/tcp</PRE>
<P>Restart xinetd with the following command:</P>
<PRE>
# /etc/rc.d/init.d/xinetd reload (or restart)</PRE>
<P>To kill xinetd, first find the process id and then:</P>
<PRE>
# kill -SIGUSR2 process#</PRE>
<P>You should now be able to talk to the database using saceclient:</P>
<PRE>
% ~acedb/bin/saceclient localhost -port 2005</PRE>
<P>Note: to know if the server is listening at port 2005, run the
following command:</P>
<PRE>
# netstat -ant | grep LISTEN</PRE>
<P>If an error occurs, check /var/log/messages, and the serverlog.worm
and log.wrm files in the current database directory. Common errors
include insufficient disk space and inapprorpriate permissions for the
latter two log files. Remember, the acedb server must be able to
write to these files.</P>
<P>
<HR>
<H1><A NAME="installing mysql">INSTALLING MYSQL</A></H1>
<P>MySQL is extremely well documented. Just follow the installation
instructions and set it up to start automatically when the server is
booted.</P>
<P>Run mysql server by:</P>
<PRE>
# /etc/rc.d/init.d/mysqld start
</PRE>
<PRE>
First, set up password for root like this:</PRE>
<PRE>
# mysqladmin -uroot password PASSWORD</PRE>
<P>WormBase requires three sets of mysql databases. In the first set of
databases, one is called ``elegans'' and is the live database. The
other is called ``elegans_load'', and is a temporary database used while
loading new releases. This convention is followed for databases named
briggsae/briggsae_load and elegans/elegans_load.</P>
<P>In the following walkthrough, the mysql administrator's name is ``root''
and the password is ``PASSWORD''. The current user's login name is
assumed to be ``me''. Substitute for these values as appropriate</P>
<DL>
<DT><STRONG><A NAME="item_Step_1%2E_Create_the_elegans_database">Step 1. Create the elegans database</A></STRONG><BR>
<DD>
<PRE>
mysqladmin -uroot -pPASSWORD create elegans</PRE>
<DT><STRONG><A NAME="item_Step_2%2E_Create_the_elegans_load_database">Step 2. Create the elegans_load database</A></STRONG><BR>
<DD>
<PRE>
mysqladmin -uroot -pPASSWORD create elegans_load</PRE>
<DT><STRONG><A NAME="item_Step_3%2E_Give_yourself_write_permission_for_the_d">Step 3. Give yourself write permission for the databases</A></STRONG><BR>
<DD>
<PRE>
mysql -uroot -pPASSWORD elegans
mysql> grant all privileges on elegans.* to me@localhost;
mysql> grant all privileges on elegans_load.* to me@localhost;
mysql> grant file on *.* to me@localhost;</PRE>
<P>Note that this is set up so that you do not have to type a password to
upload information into these databases provided that you are logged
into the database machine. If you want a password, you will need to
make changes to the file
/usr/local/wormbase/update_scripts/update_wormbase.pl (look for the
MYSQL_USER and MYSQL_PASS constants).</P>
<DT><STRONG><A NAME="item_Step_4%2E_Give_the_%22nobody%22_user_read_permissi">Step 4. Give the ``nobody'' user read permission for the elegans
database</A></STRONG><BR>
<DD>
<PRE>
mysql> grant select on elegans.* to nobody@localhost;</PRE>
</DL>
<P>Repeat Step 1-4 first to establish MySQL databases ``briggsae'' and
``briggsae_load'', and then once again for ``elegans_pmap'' and
``elegans_pmap_load''.</P>
<P>All three primary databases will be populated the first time you run
the update_wormbase.pl script. On subsequent updates, the *_load will
become temporarily populated.</P>
<P>Also note that after setting up these databases, some steps have to be
taken to make them working for wormbase. For example:</P>
<P>Note: The default directory for MySQL databases in RedHat Linux 7.3 is
/var/lib/mysql. Make sure that there is enough space in /var
drive. Otherwise, you should do one of the following:</P>
<PRE>
1. Place databases in a different path using symbolic links to /var/lib/mysql.
2. Change the default directory to a different path in the my.cnf file.</PRE>
<P>
<HR>
<H1><A NAME="installing perl modules">INSTALLING PERL MODULES</A></H1>
<P>The easiest way to install the required Perl modules is with the CPAN
shell at your home directory:</P>
<PRE>
# perl -MCPAN -e shell</PRE>
<P>The first time you run this, it will go through some configuration
steps. After this you will be presented with the ``cpan>'' prompt.
Type ``?'' to get some help. To install modules, type ``install
<module_name>''. For example, here's how to install the ``Bundle::CPAN''
module, which bundles together a number of modules recommended by
CPAN:</P>
<PRE>
cpan> install Bundle::CPAN</PRE>
<P>You will want to run the following commands:</P>
<PRE>
cpan> install LWP
cpan> install Net::FTP
cpan> install Digest::MD5
cpan> install Ace
cpan> install XML::Parser</PRE>
<P>The Ace module is the most recent version of AcePerl. When you
install it, you will be asked whether to build the pure Perl version,
an optimized version for sockets only, or an optimized version that
works with sockets and the older RPC-based server. Choose either
option (2) or (3).</P>
<P>When you install Ace for the first time it will also ask you whether
you want to install AceBrowser. Answer ``yes'' the very first time you
install it (you do not need to answer in the affirmative for
subsequent updates). It will then ask you to choose paths for its
configuration files. For WormBase installs, these are the right
values to choose:</P>
<PRE>
Site-specific configuration files: /usr/local/wormbase/conf
CGI path: /usr/local/wormbase/cgi-bin
HTML path: /usr/local/wormbase/html</PRE>
<P>The XML::Parser module requires that you download and install the
expat XML parsing libraries first. This is well described in the
documentation that accompanies the expat library.</P>
<P>The current GD module is a challenge to install because of its
requirements on the libgd external library. However, because of bad
versioning, there are many different versions of libgd floating
around, and some do not work correctly with GD. I suggest that you
install an older version of the GD module that comes with its own
stable built-in library. To install the older version, run this
command:</P>
<PRE>
cpan> install LDS/GD-1.19.tar.gz</PRE>
<P>Install other perl modules listed before.</P>
<P>
<HR>
<H1><A NAME="installing bioperl">INSTALLING BIOPERL</A></H1>
<P>You may install BioPerl either using anonymous CVS or by downloading
and installing the most recent stable core.</P>
<P>Install BioPerl from the current stable release (recommended)</P>
<PRE>
% wget <A HREF="http://bioperl.org/DIST/current_core_stable.tar.gz">http://bioperl.org/DIST/current_core_stable.tar.gz</A>
% gunzip -c cur* | tar xvf -
% cd bioperl-1.4
% perl Makefile.PL
% make
% make test
% sudo make install</PRE>
<P>Installing from CVS will give you the latest version of BioPerl, but
may also include unresolved bugs and experimental code.</P>
<PRE>
% cvs -d :pserver:cvs@cvs.open-bio.org:/home/repository/bioperl login
when prompted for the password, type 'cvs'
% cvs -d:pserver:cvs:cvs@cvs.open-bio.org:/home/repository/bioperl co bioperl-live
% cd bioperl-live
% perl Makefile.PL
% make
% make test
% sudo make install</PRE>
<P>This will create a directory named bioperl-live. In the future, when
you wish to update to the most recent version, simply type ``cvs
update'' in the bioperl-live directory.</P>
<P>Install BioPerl in the usual way, by running ``perl Makefile.PL'',
``make'', ``make test'' and ``make install''.</P>
<P>
<HR>
<H1><A NAME="installing generic genome browser">INSTALLING GENERIC GENOME BROWSER</A></H1>
<P>This is a CGI script and some Perl modules that use Bio::DB::GFF and
Bio::Graphics to create the main WormBase genome display. It lives at
www.gmod.org. Like BioPerl, GBrowse can be installed via anonymous CVS
or from the current stable release.</P>
<PRE>
Via CVS:
% cvs -d:pserver:anonymous@cvs.gmod.sourceforge.net:/cvsroot/gmod login
When prompted for a password for anonymous, simply press the Enter key.
% cvs -d:pserver:anonymous@cvs.gmod.sourceforge.net:/cvsroot/gmod \
co Generic-Genome-Browser</PRE>
<PRE>
Via the latest stable release:
% wget <A HREF="http://umn.dl.sourceforge.net/sourceforge/gmod/Generic-Genome-Browser-X.XX.tar.gz">http://umn.dl.sourceforge.net/sourceforge/gmod/Generic-Genome-Browser-X.XX.tar.gz</A>
Where X.XX is the latest stable release.
% gunzip -c Gene* | tar xvf -</PRE>
<P>Enter the unpacked directory or that fetched by CVS and run the
following incantation to install it in the proper place for WormBase:</P>
<PRE>
perl Makefile.PL HTDOCS=/usr/local/wormbase/html \
CGIBIN=/usr/local/wormbase/cgi-perl/seq \
CONF=/usr/local/wormbase/conf \
make
make install</PRE>
<P>(Sorry for the long incantation; I suggest you cut and paste from this
document into the command line.)</P>
<P>
<HR>
<H1><A NAME="installing apache and mod_perl">INSTALLING APACHE AND MOD_PERL</A></H1>
<P>To a large extent, installing Apache/mod_perl is exactly as described
in the documentation that accompanies these packages. However, you
must be careful to use mod_perl's Makefile.PL to configure and build
Apache, as it deactivates the built-in expat library that comes with
Apache. Otherwise, you will be unable to run the WormBase pages that
rely on XML parsing.</P>
<P>Unpack Apache and mod_perl into two side-by-side directories:</P>
<PRE>
%ls
drwxr-xr-x 8 lstein lstein 4096 Jul 16 15:42 apache_1.3.17/
drwxr-xr-x 24 lstein lstein 4096 Jul 16 14:45 mod_perl-1.25/</PRE>
<P>Enter the mod_perl directory, and run this command:</P>
<PRE>
% perl Makefile.PL DO_HTTPD=1 USE_APACI=1 EVERYTHING=1 \
APACHE_PREFIX=/usr/local/apache \
APACI_ARGS='--enable-shared=info --enable-shared=status'</PRE>
<P>The APACI_ARGS option in this command turns on two Apache modules that
give status information. They are not strictly necessary for
WormBase.</P>
<P>You will get a bunch of diagnostic information. Now run the following
two commands:</P>
<PRE>
% make
% make test</PRE>
<P>The LWP library must be installed before you ``make test''. If the
tests are successful, become root and run:</P>
<PRE>
# make install</PRE>
<P>This will install Apache into the directory /usr/local/apache.</P>
<P>Note: if you have trouble in installing Apache/mod_perl, you may want to try
older version of there software. Apache_1.3.26 and mod_perl-1.27 work well on
Red Hat 7.3.</P>
<P>
<HR>
<H1><A NAME="configuring wormbase">CONFIGURING WORMBASE</A></H1>
<P>
<H2><A NAME="configuring httpd.conf">Configuring httpd.conf</A></H2>
<P>In /usr/local/wormbase/conf/httpd.conf, you will find an Apache
configuration file containing WormBase-specific definitions. You can
cut-and-paste this file into the main configuration file
(/usr/local/apache/conf/httpd.conf), replacing the directives already
there, or, better, use an Include directive to bring these directives
in.</P>
<P>If WormBase is going to be the only website hosted by this server,
then remove from the main configuration file all DocumentRoot and
<Directory> sections. Change the Port directive to ``Port 80'', and
insert the following at the bottom of the file:</P>
<PRE>
Include /usr/local/wormbase/conf/httpd.conf</PRE>
<P>If WormBase is going to be a virtual host (one of several web sites
hosted by the server), then you must create an appropriate
<VirtualHost> section. Here is a template to follow:</P>
<PRE>
<VirtualHost 143.48.220.84:80>
ServerName www.wormbase.org
UseCanonicalName on
Include /usr/local/wormbase/conf/httpd.conf
</VirtualHost></PRE>
<P>The IP address in the <VirtualHost> tag must be replaced by the
correct IP address for the server. Likewise, the ServerName must be
replaced by a DNS name that will correctly resolve to this IP address.
Do not use ``www.wormbase.org!'' This name is already taken.</P>
<P>The directives in /usr/local/wormbase/conf/httpd.conf will do the
following:</P>
<PRE>
1. Set /usr/local/wormbase/html to be the document root for static
HTML files.</PRE>
<PRE>
2. Set /usr/local/wormbase/db to be a script directory under the
control of mod_perl's Apache::Registry.
</PRE>
<PRE>
3. Create transfer and error logs in /usr/local/wormbase/logs</PRE>
<PRE>
4. Create an ordinary cgi-bin directory in
/usr/local/wormbase/cgi-bin</PRE>
<PRE>
5. Put all static .html files under the control of
Apache::AddWormbaseBanner, a module that appends
the standard WormBase header and footer on all HTML files.</PRE>
<P>/usr/local/wormbase/conf/httpd.conf should not need any adjustment,
except in one respect: the location of the staging directory for
dynamically-generated images. This involves the following directive:</P>
<PRE>
Alias /ace_images /var/tmp/ace_images</PRE>
<P>The ace_images directory will be created automatically the first time
WormBase needs it, but the directory that it contains, in this case
/var/tmp, must be writable by the Apache user (usually ``nobody''). The
images will eventually occupy approximately 10 megs. If /var/tmp is
not appropriate for your system, change the second argument to some
location that is more suitable.</P>
<P>
<H2><A NAME="configuring wormbase: elegans.pm and localdefs.pm">Configuring WormBase: elegans.pm and localdefs.pm</A></H2>
<P>WormBase uses two main configarutation files, elegans.pm and
localdefs.pm, located at /usr/local/wormbase/conf.</P>
<P>The first, elegans.pm, contains a variety of Perl definitions that are
used by the various WormBase mod_perl scripts. You will want to look
through this file, but you probably will not need to make any
changes. The sole item you might wish to change controls the location
of temporary files:</P>
<DL>
<DT><STRONG><A NAME="item_%40PICTURES">@PICTURES</A></STRONG><BR>
<DD>
This is the location of a temporary staging directory for
dynamically-generated images as indicated in conf/httpd.conf. Its
value is a list in which the first item is where the images will