Project

General

Profile

1
<!-- 
2
  *   '$RCSfile$'
3
  *     Purpose: web page describing the installation of Metacat
4
  *   Copyright: 2000 Regents of the University of California and the
5
  *               National Center for Ecological Analysis and Synthesis
6
  *     Authors: Chad Berkley
7
  *
8
  *    '$Author: berkley $'
9
  *      '$Date: 2002-04-10 08:32:24 -0700 (Wed, 10 Apr 2002) $'
10
  *  '$Revision: 994 $'
11
  *
12
  *
13
  -->
14
  
15
<!DOCTYPE html PUBLIC "-//W3C//DTD html 4.0//EN">
16
<html>
17

    
18
<head>
19
  <title>Metacat Installation Instructions</title>
20
  <link rel="stylesheet" type="text/css" href="@docrooturl@default.css">
21
</head>
22

    
23
<body>
24

    
25
<table class="tabledefault" width="100%">
26
<tr><td rowspan="2"><img src="@docrooturl@images/KNBLogo.gif"></td>
27
<td colspan="7">
28
<div class="title">Metacat UNIX Installation Instructions</div>
29
</td>
30
</tr>
31
<tr>
32
  <td><a href="@server@/" class="toollink"> KNB Home </a></td>
33
  <td><a href="@server@/data.html" class="toollink"> Data </a></td>
34
  <td><a href="@server@/people.html" class="toollink"> People </a></td>
35
  <td><a href="@server@/informatics" class="toollink"> Informatics </a></td>
36
  <td><a href="@server@/biodiversity" class="toollink"> Biocomplexity </a></td>
37
  <td><a href="@server@/education" class="toollink"> Education </a></td>
38
  <td><a href="@server@/software" class="toollink"> Software </a></td>
39
</tr>
40
</table>
41
<hr>
42

    
43
<table class="tabledefault" width="100%">
44
<td class="tablehead" colspan="2"><p class="emphasis">***Disclaimer***</p></td>
45
<tr>
46
<td>
47
  <p class="emphasis">
48
   These installation instructions are meant for a systems administrator/DBA
49
   or someone who is an advanced computer user.  They are NOT meant for
50
   the average computer user.  Please realize that by executing these
51
   instructions, you may have to trouble shoot many advanced issues yourself.
52
</td>
53
</tr>
54
</table>
55

    
56
<table class="tabledefault" width="100%">
57
<td class="tablehead" colspan="2"><p>Pre-Installation</p></td>
58
<tr>
59
<td>
60
  <p class="header">Minimum Requirements</p> 
61
  <p>
62
   Installing Metacat requires a server running an SQL92 compliant database
63
   (Oracle 8i recommended) with at least 128MB RAM, and a Pentium III class
64
   processor or higher.  The amount of disk space required depends on the
65
   size of your RDBMS tablespace (which should be at least 10 MB, 
66
   however Metacat itself requires only about 1 MB of free space after 
67
   installation.  These instructions assume a Linux environment but may
68
   work on other UNIX type environments, however this has not been tested.
69
  </p>
70
  <p class = "header">Additional Required Software</p>
71
  <p>
72
   The server on which you wish to install Metacat must have the following
73
   software installed and running correctly before attempting to install
74
   Metacat.
75
   <ul>
76
     <li><a href="http://www.oracle.com">Oracle 8i</a> (or another SQL92
77
         compliant RDBMS like Postgres)</li>
78
     <li><a href="http://jakarta.apache.org/ant/index.html">Apache Jakarta-Ant</a>
79
     </li>
80
     <li><a href="http://jakarta.apache.org/tomcat/index.html">Apache Jakarta-Tomcat</a>
81
       <p class="emphasis">Note: For a more robust web serving environment, 
82
       Apache web server should
83
       be installed along with Tomcat and the two should be integrated
84
       as described on the Apache web site.</p>
85
     </li>
86
   </ul>
87
  </p>
88
</td>
89
</tr>
90
</table>
91

    
92
<table class="tabledefault" width="100%">
93
<td class="tablehead" colspan="2"><p>Aditional Software Setup</p></td>
94
<tr>
95
<td>
96
  <p class="header">Oracle 8i</p>
97
  <p>
98
   The Oracle RDBMS must be installed and running as a daemon on the system.
99
   In addition the JDBC listener must be enabled.  You can enable it by
100
   logging in as your Oracle user and typing the following:
101
   <pre>lsnrctl start</pre>
102
   Your instance should have a table space of at least 5 MB (10 MB or higher 
103
   recommended).  You should also have a username specific to Metacat
104
   created and enabled.  This user must have most normal permissions 
105
   including CREATE SESSION, CREATE TABLE, CREATE INDEX, CREATE TRIGGER, 
106
   EXECUTE PROCEDURE, EXECUTE TYPE, etc.  If an action is unexplainably 
107
   rejected by Metacat it is probably because the user permissions are not
108
   correctly set.
109
  </p>
110
  <p class="header">Ant</p>
111
  <p>
112
   Ant is a Java based build application similar to Make on UNIX systems.  
113
   It takes in installation parameters from a file in the root installation
114
   directory named "build.xml".  The Metacat CVS module contains a default
115
   build.xml file that may require some modification upon installation.  Ant
116
   should be installed on the system and the "ant" executable shell script 
117
   should be available in the users path.
118
  </p>
119
  <p class="header">Tomcat</p>
120
  <p>
121
    Install tomcat into the directory of your choice. The directory in which 
122
    you install Tomcat itself will be referred to as the "$TOMCAT_HOME".
123
    This install assumes Tomcat version 3.1.  The Tomcat 
124
    configuration will be slightly different depending on what version of 
125
    Tomcat you are running.
126
  </p>
127
  <p>
128
    You must now set up your servlet context.  Change to the $TOMCAT_HOME/conf.
129
    Edit the tomcat.conf file.  Find a line that looks like:
130
    <pre>ApJServMount /examples /root</pre>  
131
    Add the following line below the aforementioned text:
132
    <pre>ApJServMount /metadata /root</pre>
133
    Save tomcat.conf.
134
  </p>
135
  <p>
136
   Edit the server.xml file.  Go to the bottom of the file.  Find the line that
137
   says: 
138
   <pre>&lt;Context path="/examples" docbase="/webapps/examples" debug="0" reloadable="true" &gt;
139
   &lt;/Context&gt;</pre>
140
   Directly below these lines enter the following:
141
   <pre>&lt;Context path="/metadata" docbase="/opt/tomcat/webapps/metadata" debug="0" reloadable="true" &gt;
142
   &lt;/Context&gt;</pre>
143
   Save server.xml.
144
   <div class="emphasis">Note that capital "C" on "Context".  This MUST be a 
145
   capital "C".  Also note that "metadata" is an arbitrary servlet name.  You
146
   may pick whatever servlet name you wish. Also note that the path to the
147
   servlet context will depend on where you install the tomcat webapps 
148
   directory.</div>
149
  </p>
150
</td>
151
</tr>
152
</table>
153

    
154
<table class="tabledefault" width="100%">
155
<td class="tablehead" colspan="2"><p>Configuring the Server for Metacat</p></td>
156
<tr>
157
<td>
158
  <p>
159
   Once all of the prerequisite software is installed as described above, 
160
   the installation of Metacat can begin.  First you must have a current
161
   version of the source distribution of Metacat.  You can get it two ways.
162
   Authorized users can check it out of the NCEAS 
163
   <a href="http://www.nceas.ucsb.edu/cgi-bin/cvsweb.cgi/xmltodb/">CVS</a>
164
   system under the module name xmltodb.  The command is as follows: 
165
   <pre>cvs checkout -P xmltodb</pre>  Or you can 
166
   <a href="@server@/software/download.html">download</a> a gzipped tar file
167
   from this site.
168
  </p>
169
  <p>
170
   Once you have either checked out or unzipped and untarred the source
171
   distribution, you can begin the installation process.  Change into the 
172
   xmltodb directory and edit the file called "build.xml".  You will need 
173
   to change a number of configuration properties to match the setup on
174
   your system.  If you are using oracle, you'll need to customize the
175
   properties in the "oracle" target.  If you are using Postgres, you'll
176
   need to customize the properties in the "postgres" target.  All users
177
   will need to customize the properties in the "config" target.
178
  </p>
179
  <p>
180
   The properties that you need to change will include jdbc-connect, 
181
   dbDriver, dbAdapter, oracle_home, 
182
   jdbc, tomcat, webapps, context, user, server, systemidserver, 
183
   web-base-url, and default-style. Each is described in detail below. 
184
   You should also verify that the jar file properties mentioned in the 
185
   remainder of the config target are accessible at the paths listed -- the 
186
   defaults will usually work.
187
  </p>
188
  <p>
189
   Note that the build file is preconfigured to install Metacat either using 
190
   Oracle or PostgreSQL as a backend database.  To change the database
191
   system, simply change the 'depends' attribute of the 'config' target to be
192
   the name of the database target that you wish to use (either 'oracle' or 
193
   'postgresql').  If you wish to use a different database system, add a new
194
   target for your database with the needed parameters and actions then add it
195
   to the 'depends' attribute.
196
  </p>
197
  Properties you will likely need to change:<br />
198
  <ul>
199
  <li>
200
   The jdbc-connect parameter is the JDBC connection string needed to connect 
201
   to your database.  
202
  </li>
203
  <li>
204
   The dbDriver parameter is the name of the JDBC driver class to use for
205
   connections to your database.
206
  </li>
207
  <li>
208
   The dbAdapter parameter is the name of the Metacat adapter class to be used
209
   to communicate with a particular database.
210
  </li>
211
  <li>
212
   The oracle_home parameter is the location that oracle is installed on 
213
   your system.
214
  </li>
215
  <li>
216
   The jdbc parameter is the location of your jdbc driver jar file.
217
  </li>
218
  <li>
219
   The tomcat parameter is the location in which tomcat is installed.
220
  </li>
221
  <li>
222
   The webapps parameter is the location in which your tomcat servlet
223
   contexts are installed.  This is typically "$TOMCAT_HOME/webapps".
224
  </li>
225
  <li>
226
   The context parameter is the name of the servlet context in which
227
   you want metacat to be installed.  This will determine the installation
228
   directory for the servlet and many of the urls that are used to
229
   access the installed Metacat server.
230
  </li>
231
  <li>
232
   Web-base-url is the URL from which you want to load any stylesheets 
233
   or supplementary images.
234
  </li>
235
  <li>
236
   Server is the http address on which Metacat is running (note that you should
237
   not include the 'http://' in the server property).
238
  </li>
239
  </li>
240
  <li>
241
   The systemidserver is the protocol (http or https) and server location to get 
242
   any DTDs.
243
  </li>
244
  <li>
245
   The user and password parameters are the database user name that you set up
246
   to use Metacat, for example an Oracle username and password.
247
  </li>
248
  <li>
249
   The default-style parameter defines the "style-set" that is to be used
250
   by default when the qformat parameter is missing or set to "html" during
251
   a query.  It is set to "knb", which is the only style that ships with the
252
   default metacat distribution.  If you create your own stylesheets for
253
   displaying metacat output, you may want to create a new config file in the
254
   config-dir (e.g., mystyle.xml) and then change the default-style to use
255
   your custom style (e.g., "mystyle").
256
  </li>
257
  </ul>
258

    
259
  Other properties that you can but generaly need not change:<br />
260
  <ul>
261
  <li>
262
   The installdir
263
   parameter is the directory in which Ant should install the servlet.
264
   It is your "servlet context path" that was defined above.
265
  </li>
266
  <li>
267
   Replication path is the relative path to the replication servlet.  This
268
   should be the name of your servlet followed by "/servlet/replication".  For
269
   example 'metacat/servlet/replication'.
270
  </li>
271
  <li>
272
   The servlet path is the relative path to your servlet as viewed by the 
273
   Tomcat or Apache web server.  Under Tomcat, the form is usually
274
   <pre>/&lt;servlet-context-name&gt;/servlet/metacat</pre>
275
  </li>
276
  <li>
277
   The html-path is usually the first directory of the servlet-path. The only 
278
   reason it wouldn't be is if you are doing something with your web server
279
   and you want the html served from a different location than where the 
280
   servlet is located.
281
  </li>
282
  <li>
283
   The image-path is where you want the Metacat image files stored.  It
284
   should be a directory that is accessible by the web server.
285
  </li>
286
  <li>
287
   Replication-log is the location at which you want Metacat to place any 
288
   replication log files.  The user that starts Tomcat must have permission to
289
   write to this directory.
290
  </li>
291
  <li>
292
   The config-dir parameter specifies the location of the configuration files
293
   for the "style-sets" feature.  It is set by default to the installation
294
   directory and generally does not need to be changed.
295
  </li>
296
  <li>
297
   The eml-module, eml-version, eml-tag parameters control the installation
298
   behavior with respect to EML.  You should not need to change these paramters.
299
  </li>
300
  <li>
301
   The cvsrootparameter is used when building the distribution and you should
302
   not need to change it.
303
  </li>
304
  </ul>
305
  <p class="emphasis">
306
   Note: DO NOT add a slash [/] to the end of these paths.  Metacat will not
307
   function correctly if you do so.
308
  </p>
309
  <p class="header">Stylesheet Scripts</p>
310
  <p>
311
   You now need to set up the table structure in your database.  Change to the
312
   xmltodb/src directory.  Then run you RDBMS's SQL utility.  In Oracle it is
313
   SQLPlus.  This tutorial assumes an Oracle database so this example is for
314
   SQLPlus.  Login as the oracle user that was set up for use with Metacat.
315
   At the SQLPlus prompt type the following: <pre>@src/xmltables.sql;</pre>
316
   You should see a bunch of output showing the creation of the Metacat table
317
   space. The first time you run this script you will get several errors at the 
318
   beginning saying that you cannot drop a table/index/trigger because it 
319
   does not exist.  This is normal.  Any other errors besides this need to be
320
   resolved before continuing.
321
  </p>
322
  <p>
323
   If the script has run correctly you should be able to type 
324
   <pre>describe xml_documents</pre> and it should tell you
325
   <pre>
326
    Name            Null?         Type
327
    --------------  ------------  ---------------- 
328
     DOCID          NOT NULL      VARCHAR2(250)
329
     ROOTNODEID                   NUMBER(20)
330
     DOCNAME                      VARCHAR2(100)
331
     DOCTYPE                      VARCHAR2(100)
332
     DOCTITLE                     VARCHAR2(1000)
333
     USER_OWNER                   VARCHAR2(100)
334
     USER_UPDATED                 VARCHAR2(100)
335
     SERVER_LOCATION              NUMBER(20)
336
     REV                          NUMBER(10)
337
     DATE_CREATED                 DATE
338
     DATE_UPDATED                 DATE
339
     PUBLIC_ACCESS                NUMBER(1)
340
     UPDATED                      NUMBER(1)
341
   </pre>
342
  </p>
343
</td>
344
</tr>
345
</table>
346

    
347
<table class="tabledefault" width="100%">
348
<td class="tablehead" colspan="2"><p>Compilation and Installation</p></td>
349
<tr>
350
<td>
351
  <a name="protocol"></a>
352
  <p>
353
   Now we are ready to finish setting up Tomcat by getting DTD file from CVS.
354
   To do this, change into the xmltodb directory and type 
355
   <pre>ant getdtd</pre>
356
   When it is done and says "BUILD SUCCESSFUL", the DTD files in CVS server will
357
   copy to xmltodb/lib/dtd directory.
358
  </p>
359
  <p>
360
   Once the DTD files are copied, you are ready to compile 
361
   and install
362
   Metacat.  Ant allows compilation and installation to be done in one step.
363
   Change into the xmltodb directory and type: 
364
   <pre>ant install</pre>
365
   You should see a bunch of messages telling you the progress of compilation
366
   and installation.  When it is done you should see the message 
367
   BUILD SUCCESSFUL
368
   and you should be returned to a UNIX command prompt.  If you do not see
369
   the message BUILD SUCCESSFUL then there was an error that you need to 
370
   resolve.
371
   This may come up if you are logged in as a user that does not have write
372
   access to one or more of the directories that are listed in the build.xml
373
   file, or if any of the paths to files are not configured correctly in the
374
   "config" target.
375
  </p>
376
  <p>Once metacat itself is installed, you should also register
377
  the Ecological Metadata Language (EML) DTDs. This process is done most
378
  easily by running "ant dtdsql" which registers the DTDs with the 
379
  metacat server.  Your database username and password have to be set correctly
380
  for this to work.
381
  </p>
382
  <p>
383
  Note: The 'data' directory in the installation directory must be writeable
384
  by whatever user is running Tomcat or you will not be able to upload data 
385
  files to the system.
386
  <p>
387
   Once you have successfully installed Metacat, there is one more step.  Tomcat
388
   (and Apache if you have Tomcat integrated with it) must be restarted.  To do
389
   this, login as the user that runs your tomcat server (ofter "tomcat"),
390
   go to $TOMCAT_HOME/bin and type:
391
   <pre>
392
   ./tomcat.sh stop
393
   ./tomcat.sh start
394
   </pre>
395
   In the Tomcat startup messages you should see something like:
396
   <pre>
397
    MetacatServlet Initialize
398
    Context log path="/metadata" :Metacat: init
399
    MetacatServlet Initialize
400
   </pre>
401
   If you see that message Tomcat is successfully loading the Metacat servlet.
402
   Next, try to run your new servlet.  Go to a web browser and type:
403
   <pre>http://yourserver.yourdomain.com/yourcontext/</pre>
404
   You should substitute your context name for "yourcontext" in the url above.
405
   If everything is working correctly, you should see a query page followed
406
   by an empty result set.  Note that if you do not have Tomcat integrated with
407
   Apache you will probably have to type
408
   <pre>http://yourserver.yourdomain.com:8080/yourcontext/</pre>
409
  </p>
410
</td>
411
</tr>
412
</table>
413

    
414
</body>
415
</html>
(24-24/46)