Revision 5316
Added by daigle over 14 years ago
docs/user/index.html | ||
---|---|---|
1 |
<!DOCTYPE html PUBliC "-//W3C//DTD html 4.0//EN"> |
|
2 |
<html> |
|
3 |
|
|
4 |
<head> |
|
5 |
<title>KNB Software: Metacat</title> |
|
6 |
<link rel="stylesheet" type="text/css" href="./default.css"> |
|
7 |
</head> |
|
8 |
|
|
9 |
<body> |
|
10 |
|
|
11 |
<table class="tabledefault" width="100%"> |
|
12 |
<tr> |
|
13 |
<td rowspan="2"><img src="./images/KNBLogo.gif"></td> |
|
14 |
<td colspan="7"><div class="title">Metacat: data and metadata catalog</div></td> |
|
15 |
</tr> |
|
16 |
<tr> |
|
17 |
<td><a href="/" class="toollink"> KNB Home </a></td> |
|
18 |
<td><a href="/data.html" class="toollink"> Data </a></td> |
|
19 |
<td><a href="/people.html" class="toollink"> People </a></td> |
|
20 |
<td><a href="/informatics" class="toollink"> Informatics </a></td> |
|
21 |
<td><a href="/biodiversity" class="toollink"> Biocomplexity </a></td> |
|
22 |
<td><a href="/education" class="toollink"> Education </a></td> |
|
23 |
<td><a href="/software" class="toollink"> Software </a></td> |
|
24 |
</tr> |
|
25 |
</table> |
|
26 |
<hr> |
|
27 |
|
|
28 |
<p> </p> |
|
29 |
<table class="tabledefault" width="100%"> |
|
30 |
<tr> |
|
31 |
<td class="tablehead" colspan="2"><p class="label">Metacat: a flexible |
|
32 |
metadata catalog and data repository</p></td> |
|
33 |
</tr> |
|
34 |
<tr> |
|
35 |
<td> |
|
36 |
<p><a href="/software/download.html">Download Metacat</a></p> |
|
37 |
<h3>Documentation and Installation Instructions</h3> |
|
38 |
<ul> |
|
39 |
<li><a |
|
40 |
href="/software/dist/MetacatAdministratorGuide.pdf">Metacat |
|
41 |
Administrator's Guide</a></li> |
|
42 |
</ul> |
|
43 |
<img src="images/metacat-logo.png" alt="Metacat" style="float: right; |
|
44 |
height: 100px"/> |
|
45 |
<p>Metacat is a flexible, open source metadata catalog and data repository |
|
46 |
that targets scientific data, particularly from ecology and environmental |
|
47 |
science. Metacat accepts |
|
48 |
<a href="http://www.w3.org/TR/REC-xml" target="offline">XML</a> as a |
|
49 |
common syntax for representing the large number of metadata content |
|
50 |
standards that are relevant to ecology and other sciences. Thus, Metacat |
|
51 |
is a generic XML database that allows storage, query, and retrieval of |
|
52 |
arbitrary XML documents without prior knowledge of the XML schema. |
|
53 |
</p> |
|
54 |
<p> |
|
55 |
Metacat is being used extensively <a href="/community.jsp">throughout the |
|
56 |
world</a> to manage environmental data. It is a key infrastructure |
|
57 |
component for the <a href="http://data.nceas.ucsb.edu">NCEAS data catalog</a>, the <a href="http://knb.ecoinformatics.org/">Knowledge Network |
|
58 |
for Biocomplexity (KNB)</a> data catalog, and for the <a href="http://dataone.org">DataONE</a> system, <a href="/community.jsp">among others</a>.</p> |
|
59 |
</td> |
|
60 |
</tr> |
|
61 |
<tr><td> </td></tr> |
|
62 |
|
|
63 |
</table> |
|
64 |
|
|
65 |
<iframe width="500" height="350" frameborder="0" scrolling="no" |
|
66 |
marginheight="0" marginwidth="0" |
|
67 |
src="http://maps.google.com/maps/ms?ie=UTF8&hl=en&msa=0&msid=111257081347673397900.00000111e7923f163c54e&ll=10.487812,-8.4375&spn=152.923473,351.5625&z=1&output=embed"></iframe><br |
|
68 |
/><small>View <a |
|
69 |
href="http://maps.google.com/maps/ms?ie=UTF8&hl=en&msa=0&msid=111257081347673397900.00000111e7923f163c54e&ll=10.487812,-8.4375&spn=152.923473,351.5625&z=1&source=embed" |
|
70 |
style="color:#0000FF;text-align:left">Metacat deployments</a> in a larger |
|
71 |
map</small> |
|
72 |
|
|
73 |
<p class="contact"> |
|
74 |
Web Contact: <a href="mailto:jones@nceas.ucsb.edu">jones@nceas.ucsb.edu</A> |
|
75 |
</p> |
|
76 |
</body> |
|
77 |
</html> |
|
78 | 0 |
docs/user/replication.html | ||
---|---|---|
1 |
<!-- |
|
2 |
* replication.html |
|
3 |
* |
|
4 |
* Authors: Chad Berkley |
|
5 |
* Copyright: 2000 Regents of the University of California and the |
|
6 |
* National Center for Ecological Analysis and Synthesis |
|
7 |
* For Details: http://www.nceas.ucsb.edu/ |
|
8 |
* Created: 2001 January 23 |
|
9 |
* Version: |
|
10 |
* File Info: '$ ' |
|
11 |
* |
|
12 |
* |
|
13 |
--> |
|
14 |
<HTML> |
|
15 |
<HEAD> |
|
16 |
<TITLE>Metacat Replication</TITLE> |
|
17 |
<link rel="stylesheet" type="text/css" href="./common.css"> |
|
18 |
<link rel="stylesheet" type="text/css" href="./default.css"> |
|
19 |
</HEAD> |
|
20 |
<BODY> |
|
21 |
<table width="100%"> |
|
22 |
<tr> |
|
23 |
<td class="tablehead" colspan="2"><p class="label">Replication</p></td> |
|
24 |
<td class="tablehead" colspan="2" align="right"> |
|
25 |
<a href="./packages.html">Back</a> | <a href="./metacattour.html">Home</a> | |
|
26 |
<a href="./datafiles.html">Next</a> |
|
27 |
</td> |
|
28 |
</tr> |
|
29 |
</table> |
|
30 |
|
|
31 |
<div class="header1">Table of Contents</div> |
|
32 |
<div class="toc1"><a href="#Intro">Metacat Replication</a></div> |
|
33 |
<div class="toc2"><a href="#Overview">Overview</a></div> |
|
34 |
<div class="toc2"><a href="#DatabasedInfo">Databased Information</a></div> |
|
35 |
<div class="toc2"><a href="#Example">Example</a></div> |
|
36 |
<div class="toc3"><a href="#gamma">What happens with gamma?</a></div> |
|
37 |
<div class="toc3"><a href="#alpha">What happens with alpha?</a></div> |
|
38 |
<div class="toc3"><a href="#lamda">What happens with lamda?</a></div> |
|
39 |
<div class="toc1"><a href="#ControlPanel">The Replication Control Panel</a></div> |
|
40 |
<div class="toc1"><a href="#Certificates">Certificates</a></div> |
|
41 |
<div class="toc2"><a href="#GenerateCertificates">Generate Certificates on both the replication client and server.</a></div> |
|
42 |
<div class="toc3"><a href="#GenerateCertTomcat">Generate Certificate for Tomcat standalone (no Apache)</a></div> |
|
43 |
<div class="toc3"><a href="#GenerateCertApache">Generate Certificate for Apache/Tomcat</a></div> |
|
44 |
<div class="toc2"><a href="#RegisterPartner">Register the partner machines certificate</a></div> |
|
45 |
|
|
46 |
<a name="Intro"></a><div class="header1">Metacat Replication</div> |
|
47 |
<a name="Overview"></a><div class="header2">Overview</div> |
|
48 |
<p>Metacat has built-in replication to allow different Metacat servers to |
|
49 |
share data between themselves. Metacat not only replicates XML documents but |
|
50 |
also data files. </p> |
|
51 |
|
|
52 |
<p>Metacat's hub feature allows it to replicate not only it's own server's original |
|
53 |
documents, but also those that were replicated from other servers. This functionality |
|
54 |
allows for a more complex chaining replication structure.</p> |
|
55 |
|
|
56 |
<p>The replication scheme that Metacat uses is both push and pull. There are |
|
57 |
several triggers that can start a replication mechanism: </p> |
|
58 |
<ul class="list1"> |
|
59 |
<li><b>Delta-T monitoring</b> - at a set time interval a server checks each of the |
|
60 |
other servers in its list for updated documents</li> |
|
61 |
<li><b>INSERT trigger</b> - Whenever a document is inserted, the server notifies |
|
62 |
the remote hosts in its list that it has a new file available.</li> |
|
63 |
<li><b>UPDATE trigger</b> - Whenever a document is updated, the server notifies |
|
64 |
each server in its list of the update.</li> |
|
65 |
<li><b>File locking</b> - When a local user tries to alter a document on a local |
|
66 |
server that belongs to a remote server, the local server must first |
|
67 |
obtain a lock on that file. Once the lock is obtained, the file can |
|
68 |
be updated, then it is force replicated out to each server in the list. |
|
69 |
The lock ensures that the remote copy is up to date and that an older |
|
70 |
file does not overwrite a newer one. Only a documents home server |
|
71 |
can give a lock for that file to be altered.</li> |
|
72 |
</ul> |
|
73 |
|
|
74 |
<a name="DatabasedInfo"></a><div class="header2">Databased Information</div> |
|
75 |
<p>Each server contains a list of servers to which it can replicate. One-way |
|
76 |
replication is enabled by the 'replicate' and 'datareplicate' flags in the |
|
77 |
list. The server list may look like the following.</p> |
|
78 |
<table border="1"> |
|
79 |
<tr> |
|
80 |
<td><b>serverid</b></td> |
|
81 |
<td><b>server</b></td> |
|
82 |
<td><b>last_checked</b></td> |
|
83 |
<td><b>replicate</b></td> |
|
84 |
<td><b>datareplicate</b></td> |
|
85 |
<td><b>hub</b></td> |
|
86 |
</tr> |
|
87 |
<tr> |
|
88 |
<td>1</td> |
|
89 |
<td>localhost</td> |
|
90 |
<td>null</td> |
|
91 |
<td>0</td> |
|
92 |
<td>0</td> |
|
93 |
<td>0</td> |
|
94 |
</tr> |
|
95 |
<tr> |
|
96 |
<td>2</td> |
|
97 |
<td>alpha.nceas.ucsb.edu:8080/berkley/servlet/replication</td> |
|
98 |
<td>2001-01-22 14:52:12.1</td> |
|
99 |
<td>0</td> |
|
100 |
<td>0</td> |
|
101 |
<td>0</td> |
|
102 |
</tr> |
|
103 |
<tr> |
|
104 |
<td>3</td> |
|
105 |
<td>dev.nceas.ucsb.edu/Metacat/servlet/replication</td> |
|
106 |
<td>2001-01-23 9:10:02.5</td> |
|
107 |
<td>1</td> |
|
108 |
<td>1</td> |
|
109 |
<td>0</td> |
|
110 |
</tr> |
|
111 |
</table> |
|
112 |
|
|
113 |
<br> |
|
114 |
The server list is kept in a table in the database called xml_replication. |
|
115 |
Localhost must always be the first entry in the table and have a serverid of 1. |
|
116 |
The database fields are: |
|
117 |
<ul class="list1"> |
|
118 |
<li><b>serverid</b> - a unique ID that is generated by the database when a new field is added.</li> |
|
119 |
<li><b>server</b> - this field always points to the partner server's replication servlet, |
|
120 |
hence the "servlet/replication" on the end of both of the sample servers. Note |
|
121 |
that any port numbers (if your servlet engine is not running on port 80) must |
|
122 |
also be included. </li> |
|
123 |
<li><b>last_checked</b> - a system generated values that holds the last time that a check was |
|
124 |
made to see if replication needed to be performed.<li> |
|
125 |
<li><b>replicate</b> - flag that is set to 1 if you want this server to replicate XML |
|
126 |
metadata documents TO the remote host. Note that if this flag is set to 0, datareplicate |
|
127 |
and hub fields have no meaning.</li> |
|
128 |
<li><b>datareplicate</b> - flag that is set to 1 if you want this server to copy data |
|
129 |
files to the remote host. Note that this field has no meaning if replicate is not set to 1.</li> |
|
130 |
If this server is a hub to the remote host, the hub flag should be set to. |
|
131 |
<li><b>hub</b> - if this flag is set to true, this server will not only replicate it's own |
|
132 |
original documents, it will also replicate documents that were replicated to it. Thus it |
|
133 |
acts as a replication hub to one or more other Metacat servers.</li> |
|
134 |
</ul> |
|
135 |
|
|
136 |
<a name="Example"></a><div class="header2">Example</div> |
|
137 |
Here we show an example setup of three replication servers. We will discuss each.<br><br> |
|
138 |
|
|
139 |
First, note that in order for replication to occur, both partner servers must have |
|
140 |
each other in their respective tables or replication will not take place. Also, |
|
141 |
certificates must be set up correctly on both servers in order for replication to |
|
142 |
work. See the <a href="#Certificates">certificates</a> section below.<br><br> |
|
143 |
|
|
144 |
<table border="1"> |
|
145 |
<tr> |
|
146 |
<td>host</td> |
|
147 |
<td>replication table</td> |
|
148 |
</tr> |
|
149 |
<tr> |
|
150 |
<td>gamma.nceas.ucsb.edu</td> |
|
151 |
<td> |
|
152 |
<table border="2"> |
|
153 |
<tr> |
|
154 |
<td><b>server</b></td> |
|
155 |
<td><b>last_checked</b></td> |
|
156 |
<td><b>replicate</b></td> |
|
157 |
<td><b>datareplicate</b></td> |
|
158 |
<td><b>hub</b></td> |
|
159 |
</tr> |
|
160 |
<tr> |
|
161 |
<td>localhost</td> |
|
162 |
<td>null</td> |
|
163 |
<td>0</td> |
|
164 |
<td>0</td> |
|
165 |
<td>0</td> |
|
166 |
</tr> |
|
167 |
<tr> |
|
168 |
<td>alpha.nceas.ucsb.edu:8080/berkley/servlet/replication </td> |
|
169 |
<td>2001-01-22 14:52:12.1</td> |
|
170 |
<td>0</td> |
|
171 |
<td>0</td> |
|
172 |
<td>0</td> |
|
173 |
</tr> |
|
174 |
<tr> |
|
175 |
<td>lamda.nceas.ucsb.edu/Metacat/servlet/replication</td> |
|
176 |
<td>2001-01-23 9:10:02.5</td> |
|
177 |
<td>1</td> |
|
178 |
<td>1</td> |
|
179 |
<td>0</td> |
|
180 |
</tr> |
|
181 |
</table> |
|
182 |
</td> |
|
183 |
</tr> |
|
184 |
<tr> |
|
185 |
<td>alpha.nceas.ucsb.edu</td> |
|
186 |
<td> |
|
187 |
<table border="2"> |
|
188 |
<tr> |
|
189 |
<td><b>server</b></td> |
|
190 |
<td><b>last_checked</b></td> |
|
191 |
<td><b>replicate</b></td> |
|
192 |
<td><b>datareplicate</b></td> |
|
193 |
<td><b>hub</b></td> |
|
194 |
</tr> |
|
195 |
<tr> |
|
196 |
<td>localhost</td> |
|
197 |
<td>null</td> |
|
198 |
<td>0</td> |
|
199 |
<td>0</td> |
|
200 |
<td>0</td> |
|
201 |
</tr> |
|
202 |
<tr> |
|
203 |
<td>gamma.nceas.ucsb.edu:8080/berkley/servlet/replication</td> |
|
204 |
<td>2001-01-21 11:33:12.7</td> |
|
205 |
<td>0</td> |
|
206 |
<td>1</td> |
|
207 |
<td>0</td> |
|
208 |
</tr> |
|
209 |
<tr> |
|
210 |
<td>lamda.nceas.ucsb.edu/Metacat/servlet/replication</td> |
|
211 |
<td>2001-01-23 10:22:02.5</td> |
|
212 |
<td>1</td> |
|
213 |
<td>0</td> |
|
214 |
<td>0</td> |
|
215 |
</tr> |
|
216 |
</table> |
|
217 |
</td> |
|
218 |
</tr> |
|
219 |
<tr> |
|
220 |
<td>lamda.nceas.ucsb.edu</td> |
|
221 |
<td> |
|
222 |
<table border="2"> |
|
223 |
<tr> |
|
224 |
<td><b>server</b></td> |
|
225 |
<td><b>last_checked</b></td> |
|
226 |
<td><b>replicate</b></td> |
|
227 |
<td><b>datareplicate</b></td> |
|
228 |
<td><b>hub</b></td> |
|
229 |
</tr> |
|
230 |
<tr> |
|
231 |
<td>localhost</td> |
|
232 |
<td>null</td> |
|
233 |
<td>0</td> |
|
234 |
<td>0</td> |
|
235 |
<td>0</td> |
|
236 |
</tr> |
|
237 |
<tr> |
|
238 |
<td>gamma.nceas.ucsb.edu:8080/berkley/servlet/replication</td> |
|
239 |
<td>2001-01-21 11:33:12.7</td> |
|
240 |
<td>0</td> |
|
241 |
<td>0</td> |
|
242 |
<td>0</td> |
|
243 |
</tr> |
|
244 |
<tr> |
|
245 |
<td>alpha.nceas.ucsb.edu:8080/Metacat/servlet/replication</td> |
|
246 |
<td>2001-01-22 12:15:32.5</td> |
|
247 |
<td>1</td> |
|
248 |
<td>1</td> |
|
249 |
<td>1</td> |
|
250 |
</tr> |
|
251 |
</table> |
|
252 |
</td> |
|
253 |
</tr> |
|
254 |
</table> |
|
255 |
|
|
256 |
<a name="gamma"></a><div class="header3">What happens with gamma?</div> |
|
257 |
<ul class="list1"> |
|
258 |
<li>The localhost entry is required internally for replication to work on |
|
259 |
gamma. As long as we see it there, we can safely disregard it.</li> |
|
260 |
<li>We see the entry for the alpha machine has all zeros in replicate, |
|
261 |
datareplicate and hub columns. This means that gamma is configured to |
|
262 |
accept replication information from alpha. (As we will see in a moment, |
|
263 |
alpha is not actually correctly configured to send data to gamma.)</li> |
|
264 |
<li>We see that the entry for the lamda machine has ones in the replicate |
|
265 |
and data replicate columns and a zero in the hub column. This tells us |
|
266 |
that gamma will replicate it's original documents to lamda, assuming that |
|
267 |
lambda is configured to accept replication from gamma (we will see that it |
|
268 |
is). However, because the hub value is zero, any documents that replicate |
|
269 |
to gamma will not be further replicated to lamda.</li> |
|
270 |
</ul> |
|
271 |
|
|
272 |
<a name="alpha"></a><div class="header3">What happens with alpha?</div> |
|
273 |
<ul class="list1"> |
|
274 |
<li>The localhost entry is required internally for replication to work on |
|
275 |
alpha. As long as we see it there, we can safely disregard it.</li> |
|
276 |
<li>We see that the entry for gamma has a zero in the replicate column. |
|
277 |
This means that all other entries are meaningless and can be disregarded. |
|
278 |
Even though there is a one in the datareplicate column on alpha and gamma |
|
279 |
is configured to accept replication from alpha, no replicationwill happen |
|
280 |
from alpha to gamma.</li> |
|
281 |
<li>We see that the entry for lamda is a one in the replicate column and zeros |
|
282 |
in the datareplicate and hub columns. Assuming lamda is configured to |
|
283 |
accept replication from alpha, alpha will replicate metadata only to lamda |
|
284 |
(and indeed, we will see that lambda is set up to accept replication from |
|
285 |
alpha). </li> |
|
286 |
</ul> |
|
287 |
|
|
288 |
<a name="lamda"></a><div class="header3">What happens with lamda?</div> |
|
289 |
<ul class="list1"> |
|
290 |
<li>The localhost entry is required internally for replication to work on |
|
291 |
lamda. As long as we see it there, we can safely disregard it.</li> |
|
292 |
<li>We see that the entry for gamma has all zeros in replicate, datareplicate |
|
293 |
and hub, so lamba is set up to accept replication from gamma. As we have |
|
294 |
already seen, gamma is correctly configured to replicate metadata and data |
|
295 |
to lambda. We should see data and metadata replication from gamma to lamda. |
|
296 |
<li>We see that the entry for alpha has ones in the replicate datareplicate and |
|
297 |
hub columns. There's a lot going on here: |
|
298 |
<ul class="list2"> |
|
299 |
<li>First, lamda will replicate original metadata and data to alpha if |
|
300 |
alpha is configured to accept replication from lamda. Because alpha |
|
301 |
has an entry for lambda, lamba will be allowed to replicate to alpha. </li> |
|
302 |
<li>Second, because the alpha entry has a one in the hub column, lambda |
|
303 |
will not only replicate it's original data, it will also replicate |
|
304 |
data that was replicated to it. Remember that gamma was configured |
|
305 |
to replicate to lamda. So any data or metadata that gamma sends to |
|
306 |
lambda will get further replicated to alpha.</li> |
|
307 |
<li>Finally, the alpha entry in the table allows the alpha server to |
|
308 |
replicate to lambda. Since the alpha server is set up to replicate |
|
309 |
metadata only, we would expect any original metadata on alpha to |
|
310 |
wind up on lambda.</li> |
|
311 |
</ul> |
|
312 |
</ul> |
|
313 |
|
|
314 |
<a name="ControlPanel"></a><div class="header1">The Replication Control Panel:</div> |
|
315 |
There is an html control panel for controling replication. After |
|
316 |
installing Metacat, you can access it by calling replControl.html. For instance, if you |
|
317 |
setup a Metacat application context called 'knb' you would probably type : |
|
318 |
|
|
319 |
<div class="code">http://server.domain.com/knb/style/skins/dev/replControl.html</div> |
|
320 |
|
|
321 |
The control panel is an easy interface for adding/removing/altering servers and |
|
322 |
starting the delta-T handler. It will also allow you to 'force replicate' your |
|
323 |
server list. This is useful if you want to initialize the state of one Metacat |
|
324 |
server from an existing state of another (i.e. copy all of the data from an existing |
|
325 |
server).</p> |
|
326 |
|
|
327 |
<a name="Certificates"></a><div class="header1">Certificates:</div> |
|
328 |
You will need to generate security certificates on both the replication client |
|
329 |
and server. The certificates will be exchanged so that each machine understands |
|
330 |
that the other has access for replication.<br><br> |
|
331 |
The following are the steps to generate and exchange certificates on systems |
|
332 |
running Tomcat 5 and java 1.5. Note that if Tomcat is running in conjunction with |
|
333 |
Apache, the process is somewhat different than if it is running standalone. |
|
334 |
|
|
335 |
<a name="GenerateCertificates"></a><div class="header2">Generate Certificates on both the replication client and server.</div> |
|
336 |
|
|
337 |
<a name="GenerateCertTomcat"></a><div class="header3">Generate Certificate for Tomcat standalone (no Apache)</div> |
|
338 |
<ul class="list1"> |
|
339 |
<li>Generate keys in java default key store - this will create a secure key and put it |
|
340 |
into the binary certificates file located at $JAVA_HOME/lib/security/cacerts</li> |
|
341 |
<ul class="list2"> |
|
342 |
<li>Run the command: |
|
343 |
<div class="code">keytool -genkey -alias <aliasname> -keyalg RSA -validity 800 -keystore $JAVA_HOME/lib/security/cacerts</div> |
|
344 |
where <aliasname> is a unique name that you choose for this cert. Something like "<hostname-tomcat>" |
|
345 |
might be appropriate, where <hostname-tomcat> is the name of this host.</li> |
|
346 |
</ul> |
|
347 |
</li> |
|
348 |
<li> |
|
349 |
Password - keytool will ask for a password. If this is a pre-existing keystore, you will need |
|
350 |
to know its password to modify it. If you are creating a new keystore, the password you enter |
|
351 |
will become the keystore password. |
|
352 |
</li> |
|
353 |
<li>Sample values when creating certificate</li> |
|
354 |
<ul class="list2"> |
|
355 |
<li>What is your first and last name? <b>myserver.nceas.ucsb.edu </b> |
|
356 |
(note: use the host name without port number)<li> |
|
357 |
<li>What is the name of your organizional unit? <b>NCEAS</b></li> |
|
358 |
<li>What is the name of your organizional unit? <b>UCSB</b></li> |
|
359 |
<li>What is the name of your City or Locality? <b>Santa Barbara</b></li> |
|
360 |
<li>What is the name of your State or Province? <b>California</b> |
|
361 |
(note: this is spelled in full)<li> |
|
362 |
<li>What is the two-letter country code for this unit? <b>US</b></li> |
|
363 |
</ul> |
|
364 |
<li>Generate certificate - this will pull the certificate you created from the cacerts file |
|
365 |
and put it into a local file</li> |
|
366 |
<ul class="list2"> |
|
367 |
<li>Run the command: |
|
368 |
<div class="code">keytool -export -alias <aliasname> -file <outputfile>.cert -keystore $JAVA_HOME/lib/security/cacerts</div> |
|
369 |
where <aliasname> is the same name you used when you created the certificate. </li> |
|
370 |
<li>A file named <outputfile>.cert will be created in the same directory where you run the keytool |
|
371 |
command. You can name the output file anything you like, but keep in mind that it will get sent to the |
|
372 |
partner machine used for replication. The filename should have have enough meaning that someone who sees |
|
373 |
it on that machine can have some idea where it came from. Again, something like "<hostname>-tomcat.cert" |
|
374 |
will suffice.</li> |
|
375 |
</ul> |
|
376 |
</li> |
|
377 |
<li>Enable SSL in Tomcat |
|
378 |
<ul class="list2"> |
|
379 |
<li>Edit the Tomcat server file at $TOMCAT_HOME/conf/server.xml</li> |
|
380 |
<li> |
|
381 |
uncomment the section that starts with "<Connector port="8443" ... (Note: Databased Informationcomments start with |
|
382 |
<!-- and end with -->). |
|
383 |
</li> |
|
384 |
<li>add two attribute to that section that read: |
|
385 |
<div class="code">keystoreFile="<JAVA_HOME>/lib/security/cacerts"</div> |
|
386 |
<div class="code">keystorePass="<keystore_password>"</div> |
|
387 |
where <JAVA_HOME> should be the actual java path and <keystore_password> should be the |
|
388 |
password you used when you created the keystore. |
|
389 |
</li> |
|
390 |
</ul> |
|
391 |
</li> |
|
392 |
</ul> |
|
393 |
|
|
394 |
<a name="GenerateCertApache"></a><div class="header3">Generate Certificate for Apache/Tomcat</div> |
|
395 |
<ul class="list1"> |
|
396 |
<li>Generate keys using openssl |
|
397 |
<ul class="list2"> |
|
398 |
<li>Run the command: |
|
399 |
<div class="code"> openssl req -new -out REQ.pem -keyout <hostname>-apache.key</div> |
|
400 |
</li> |
|
401 |
</ul> |
|
402 |
</li> |
|
403 |
<li>Sample values when creating certificate</li> |
|
404 |
<ul class="list2"> |
|
405 |
<li>Enter PEM pass phrase: (note: I use the first part of the host name) |
|
406 |
<li>Country Name (2 letter code) [AU]: <b>US</b></li> |
|
407 |
<li>State or Province Name (full name) [Some-State]: <b>California</b> |
|
408 |
(note: this is spelled in full)</li> |
|
409 |
<li>Locality Name (eg, city) []: <b>Santa Barbara</b></li> |
|
410 |
<li>Organization Name (eg, company) [Internet Widgits Pty Ltd]: <b>UCSB</b></li> |
|
411 |
<li>Organizational Unit Name (eg, section) []: <b>NCEAS</b></li> |
|
412 |
<li>Common Name (eg, YOUR name) []: <b>myserver.mydomain.edu</b> |
|
413 |
(note: use the host name without port number)</li> |
|
414 |
<li>Email Address []: <b>administrator@mydomain.edu</b></li> |
|
415 |
<li>A challenge password []: (note: leave blank)</li> |
|
416 |
<li>An optional company name []: (note: leave blank)</li> |
|
417 |
</ul> |
|
418 |
</li> |
|
419 |
<li>Generate certificate - this will create a local file with your certificate</li> |
|
420 |
<ul class="list2"> |
|
421 |
<li>Run the command: |
|
422 |
<div class="code">openssl req -x509 -days 800 -in REQ.pem -key <hostname>-apache.key -out <hostname>-apache.crt</div> |
|
423 |
where <hostname> is the same name you used when you created the certificate. </li> |
|
424 |
<li>A file named <hostname>-apache.crt will be created in the same directory where you run the keytool |
|
425 |
command. You can name the output file anything you like, but keep in mind that it will get sent to the |
|
426 |
partner machine used for replication. The filename should have have enough meaning that someone who sees |
|
427 |
it on that machine can have some idea where it came from. Again, something like "<hostname>-apache.crt" |
|
428 |
will suffice.</li> |
|
429 |
</ul> |
|
430 |
</li> |
|
431 |
<li>Enter the certificate into apache security configuration - you need to register the certificate |
|
432 |
in the local Apache instance. Note that the security files may be in a different place depending |
|
433 |
on how you installed apache.</li> |
|
434 |
<ul class="list2"> |
|
435 |
<li>Copy the certificate and key file to the apache ssl directories and enable ssl.</li> |
|
436 |
<li>For Ubuntu/Debian based systems: |
|
437 |
<ul class="list3"> |
|
438 |
<li>sudo cp <hostname>-apache.crt /etc/ssl/certs</li> |
|
439 |
<li>sudo cp <hostname>-apache.key /etc/ssl/private</li> |
|
440 |
<li>As root edit /etc/apache2/sites-available/default. In the VirtualHost section |
|
441 |
after the DocumentRoot line, add:<br> |
|
442 |
SSLEngine on<br> |
|
443 |
SSLOptions +FakeBasicAuth +ExportCertData +CompatEnvVars +StrictRequire<br> |
|
444 |
SSLCertificateFile /etc/ssl/certs/server.crt<br> |
|
445 |
SSLCertificateKeyFile /etc/ssl/private/server.key<br> |
|
446 |
</li> |
|
447 |
</ul> |
|
448 |
</li> |
|
449 |
</ul> |
|
450 |
<ul class="list2"> |
|
451 |
<li>For other systems: |
|
452 |
<ul class="list3"> |
|
453 |
<li>sudo cp <hostname>-apache.crt $APACHE_HOME/conf/ssl.crt</li> |
|
454 |
<li>sudo cp <hostname>-apache.key $APACHE_HOME/conf/ssl.key</li> |
|
455 |
<li> ADD STEPS TO ENABLE SSL ON NON_DEBIAN SYSTEMS HERE</li> |
|
456 |
</ul> |
|
457 |
</li> |
|
458 |
</ul> |
|
459 |
<li>scp <hostname>-apache.crt to the replication partner machine.</li> |
|
460 |
</ul> |
|
461 |
|
|
462 |
<a name="RegisterPartner"></a><div class="header2">Register the partner machines certificate.</div> |
|
463 |
At this point, you have created a certificate for each replication server and |
|
464 |
scp-ed them across to each other. Now you need to import the remote server's |
|
465 |
certificate on the local machine. Perform the following steps for each |
|
466 |
replication server. |
|
467 |
<ul class="list1"> |
|
468 |
<li>Import the remote certificate by running: |
|
469 |
<div class="code">keytool -import -alias <remotehostalias> -file <remotehostfilename>.crt -keystore $JAVA_HOME/jre/lib/security/cacerts</div> |
|
470 |
where the <remotehostfilename> is the certificate file you created on the remote machine and |
|
471 |
copied to this machine. The <remotehostalias> is the name the certificate will use in |
|
472 |
the keystore. It should be something that identifies the remote host. |
|
473 |
</li> |
|
474 |
<li>Restart Apache and Tomcat on both replication machines</li> |
|
475 |
</ul> |
|
476 |
|
|
477 |
<a href="./packages.html">Back</a> | <a href="./metacattour.html">Home</a> | |
|
478 |
<a href="./datafiles.html">Next</a> |
|
479 |
</ul> |
|
480 |
|
|
481 |
|
|
482 |
</BODY> |
|
483 |
</HTML> |
|
484 | 0 |
docs/user/pagedreturn.html | ||
---|---|---|
1 |
<!-- |
|
2 |
* Authors: Chad Berkley |
|
3 |
* Copyright: 2000 Regents of the University of California and the |
|
4 |
* National Center for Ecological Analysis and Synthesis |
|
5 |
* For Details: http://www.nceas.ucsb.edu/ |
|
6 |
* Created: 2007 November 5 |
|
7 |
* Version: |
|
8 |
* File Info: '$Id$' |
|
9 |
* |
|
10 |
* |
|
11 |
--> |
|
12 |
<HTML> |
|
13 |
<HEAD> |
|
14 |
<TITLE>Metacat</TITLE> |
|
15 |
<link rel="stylesheet" type="text/css" href="./default.css"> |
|
16 |
</HEAD> |
|
17 |
<BODY> |
|
18 |
<table width="100%"> |
|
19 |
<tr> |
|
20 |
<td class="tablehead" colspan="2"><p class="label">Paged Query Returns</p></td> |
|
21 |
<td class="tablehead" colspan="2" align="right"> |
|
22 |
<a href="./spatial_option.html">Back</a> | <a href="./metacattour.html">Home</a> | |
|
23 |
<a href="./sitemaps.html">Next</a> |
|
24 |
</td> |
|
25 |
</tr> |
|
26 |
</table> |
|
27 |
|
|
28 |
<p>Metacat allows results sets to be broken up into "pages" to aid in the loading |
|
29 |
of large result sets and to make the result sets more readable to users. This is |
|
30 |
facilitated by the addition of two variables to the parameter list. Pagesize |
|
31 |
indicates how many results should be returned for a given page. Pagestart |
|
32 |
indicates which page you are currently viewing. These parameters can be |
|
33 |
passed to Metacat when a query is submited. </p> |
|
34 |
|
|
35 |
<p>When a paged query is performed, the resultset of that query contains |
|
36 |
four extra fields. Pagestart and pagesize are contained in the xml resultset |
|
37 |
along with nextpage and previouspage. This allows the xslt tranformation to |
|
38 |
include navigational links in the rendered resultset. Here's an example |
|
39 |
xml resultset.</p> |
|
40 |
|
|
41 |
<pre> |
|
42 |
<resultset> |
|
43 |
<pagestart>1</pagestart> |
|
44 |
<pagesize>10</pagesize> |
|
45 |
<nextpage>2</nextpage> |
|
46 |
<previouspage>0</previouspage> |
|
47 |
<query> |
|
48 |
... |
|
49 |
</query> |
|
50 |
<document>...</document> |
|
51 |
<document>...</document> |
|
52 |
</resultset> |
|
53 |
</pre> |
|
54 |
|
|
55 |
<p>In the case of the resultset, pagestart will always indicate the page you |
|
56 |
are currently viewing.</p> |
|
57 |
|
|
58 |
<p>Here's an example of the rendered result.</p> |
|
59 |
|
|
60 |
<img src="images/pagedquery.jpg"/> |
|
61 |
|
|
62 |
<p>The links to the previous and next pages look like this.</p> |
|
63 |
|
|
64 |
<pre> |
|
65 |
<a href="metacat?action=query&operator=INTERSECT&enableediting=false&anyfield=actor&qformat=kepler&pagestart=0&pagesize=10">Previous Page</a> |
|
66 |
<a href="metacat?action=query&operator=INTERSECT&enableediting=false&anyfield=actor&qformat=kepler&pagestart=2&pagesize=10">Next Page</a> |
|
67 |
</pre> |
|
68 |
|
|
69 |
<p>The important bits of these links are the incremented pagestart parameters. |
|
70 |
The rendered page is on page 1 so the previous page is 0 and the next |
|
71 |
page is 2. By sequencing through the pages, the user can see the |
|
72 |
entire resultset. </p> |
|
73 |
|
|
74 |
<p>The Kepler skin in lib/style/skins/kepler is a good example of how to |
|
75 |
render the resultset with paged query returns. The XSLT uses the four extra |
|
76 |
fields in the resultset to render the next and previous links. This could |
|
77 |
also be used within a non-web application. |
|
78 |
</p> |
|
79 |
|
|
80 |
<br> |
|
81 |
<a href="./spatial_option.html">Back</a> | <a href="./metacattour.html">Home</a> | |
|
82 |
<a href="./sitemaps.html">Next</a> |
|
83 |
|
|
84 |
|
|
85 |
</BODY> |
|
86 |
</HTML> |
|
87 | 0 |
docs/user/metacatload.html | ||
---|---|---|
1 |
<!-- |
|
2 |
* metacatload.html |
|
3 |
* |
|
4 |
* Authors: Jivka Bojilova |
|
5 |
* Copyright: 2000 Regents of the University of California and the |
|
6 |
* National Center for Ecological Analysis and Synthesis |
|
7 |
* For Details: http://www.nceas.ucsb.edu/ |
|
8 |
* Created: 2000 April 5 |
|
9 |
* Version: 0.01 |
|
10 |
* File Info: '$Id$' |
|
11 |
* |
|
12 |
* October Meeting SDSC, 2000 |
|
13 |
--> |
|
14 |
<HTML> |
|
15 |
<HEAD> |
|
16 |
<TITLE>Metacat</TITLE> |
|
17 |
<link rel="stylesheet" type="text/css" href="./default.css"> |
|
18 |
</HEAD> |
|
19 |
<BODY> |
|
20 |
<table width="100%"> |
|
21 |
<tr> |
|
22 |
<td class="tablehead" colspan="2"><p class="label">Document Loading</p></td> |
|
23 |
<td class="tablehead" colspan="2" align="right"> |
|
24 |
<a href="./clientapi.html">Back</a> | <a href="./metacattour.html">Home</a> | |
|
25 |
<a href="./metacatquery.html">Next</a> |
|
26 |
</td> |
|
27 |
</tr> |
|
28 |
</table> |
|
29 |
<P>Metacat provides functionality for inserting, updating, and deleting |
|
30 |
XML documents in the database. Inserted or updated documents are read, checked |
|
31 |
for validity, decomposed into nodes and inserted into the db. Document validity |
|
32 |
is checked if a valid DTD is provided. |
|
33 |
<P> <img alt="architecture diagram of write action" src="metadatawrite.gif"> |
|
34 |
<P> <b>Operations</b> |
|
35 |
<ul> |
|
36 |
<li>INSERT - A new XML document is inserted into the DB with given unique |
|
37 |
docid. The client must specify the docid.</li> |
|
38 |
<li>UPDATE - A document is provided to update a document that already |
|
39 |
has a valid docid. The original document is archived, then overwritten.</li> |
|
40 |
<li>DELETE - Document is archived, and pointer in xml_documents is moved |
|
41 |
to xml_revisions, efectively deleting the document from public view but |
|
42 |
preserving the revision for the revision history.</li> |
|
43 |
</ul> |
|
44 |
|
|
45 |
<p>Insertions, updates and deletes are passed to Metacat as servlet parameters. |
|
46 |
The following is an example of a web form that can perform these tasks.</p> |
|
47 |
|
|
48 |
<pre> |
|
49 |
<html> |
|
50 |
<head> |
|
51 |
<title>MetaCat</title> |
|
52 |
<link rel="stylesheet" type="text/css" href="metacat/style/rowcol.css"> |
|
53 |
</head> |
|
54 |
<body class="emlbody"> |
|
55 |
<b>MetaCat XML Loader</b> |
|
56 |
<p> |
|
57 |
Upload, Change, or Delete an XML document using this form. |
|
58 |
</p> |
|
59 |
<form action="http://dev.nceas.ucsb.edu/metacat/servlet/metacat" method="POST"> |
|
60 |
<strong>1. Choose an action: </strong> |
|
61 |
<input type="radio" name="action" value="insert" checked> Insert |
|
62 |
<input type="radio" name="action" value="update"> Update |
|
63 |
<input type="radio" name="action" value="delete"> Delete |
|
64 |
<input type="submit" value="Process Action"> |
|
65 |
<br /> |
|
66 |
<strong>2. Provide a Document ID </strong> |
|
67 |
<input type="text" name="docid"> (optional for Insert) |
|
68 |
<input type="checkbox" name="public" value="yes" checked><strong>Public Document</strong> |
|
69 |
<br /> |
|
70 |
<strong>3. Provide XML text </strong> (not needed for Delete) |
|
71 |
<textarea name="doctext" cols="65" rows="15"></textarea> |
|
72 |
<strong>4. Provide DTD text for upload </strong> (optional; not needed for Delete) |
|
73 |
<textarea name="dtdtext" cols="65" rows="15"></textarea> |
|
74 |
</form> |
|
75 |
</body> |
|
76 |
</html> |
|
77 |
</pre> |
|
78 |
|
|
79 |
<p>Once inserted into the database, the document looks like the following:</p> |
|
80 |
|
|
81 |
<PRE><b>SQL> select * from xml_nodes where docid='NCEAS:1'</b> <br> |
|
82 |
NODEID NODEINDEX NODETYPE NODENAME NODEDATA PARENTNODEID ROOTNODEID DOCID |
|
83 |
------ --------- ---------- --------------- ---------------------- ------------ ---------- ------- |
|
84 |
1 DOCUMENT eml-dataset 1 NCEAS:1 |
|
85 |
2 1 ELEMENT eml-dataset 1 1 NCEAS:1 |
|
86 |
3 1 TEXT 2 1 NCEAS:1 |
|
87 |
|
|
88 |
|
|
89 |
4 2 ELEMENT meta_file_id 2 1 NCEAS:1 |
|
90 |
5 1 TEXT NCEAS:1 4 1 NCEAS:1 |
|
91 |
6 3 TEXT 2 1 NCEAS:1 |
|
92 |
|
|
93 |
|
|
94 |
7 4 ELEMENT dataset_id 2 1 NCEAS:1 |
|
95 |
8 1 TEXT Dist.ssd01 7 1 NCEAS:1 |
|
96 |
9 5 TEXT 2 1 NCEAS:1 |
|
97 |
|
|
98 |
|
|
99 |
10 6 ELEMENT title 2 1 NCEAS:1 |
|
100 |
11 1 TEXT Insights on community 10 1 NCEAS:1 |
|
101 |
dynamics |
|
102 |
|
|
103 |
12 7 TEXT 2 1 NCEAS:1 |
|
104 |
|
|
105 |
|
|
106 |
13 8 ELEMENT originator 2 1 NCEAS:1 |
|
107 |
14 1 ATTRIBUTE description Names and addresses of 13 1 NCEAS:1 |
|
108 |
principal investigator |
|
109 |
</PRE> |
|
110 |
|
|
111 |
<p>If you follow the parentnodeid pointers you can recontruct this document. |
|
112 |
The <a href="./metacatdb.html">Metacat Database</a> section provides more details |
|
113 |
on the storage of XML documents.</p> |
|
114 |
|
|
115 |
<br> |
|
116 |
<a href="./clientapi.html">Back</a> | <a href="./metacattour.html">Home</a> | |
|
117 |
<a href="./metacatquery.html">Next</a> |
|
118 |
|
|
119 |
</BODY> |
|
120 |
</HTML> |
|
121 |
|
|
122 | 0 |
docs/user/metacatquery.html | ||
---|---|---|
1 |
<!-- |
|
2 |
* metacatquery.html |
|
3 |
* |
|
4 |
* Authors: Jivka Bojilova |
|
5 |
* Copyright: 2000 Regents of the University of California and the |
|
6 |
* National Center for Ecological Analysis and Synthesis |
|
7 |
* For Details: http://www.nceas.ucsb.edu/ |
|
8 |
* Created: 2000 April 5 |
|
9 |
* Version: 0.01 |
|
10 |
* File Info: '$Id$' |
|
11 |
* |
|
12 |
* October Meeting SDSC, 2000 |
|
13 |
--> |
|
14 |
<HTML> |
|
15 |
<HEAD> |
|
16 |
<TITLE>Metacat</TITLE> |
|
17 |
<link rel="stylesheet" type="text/css" href="./default.css"> |
|
18 |
</HEAD> |
|
19 |
<BODY> |
|
20 |
<table width="100%"> |
|
21 |
<tr> |
|
22 |
<td class="tablehead" colspan="2"><p class="label">Queries and Results</p></td> |
|
23 |
<td class="tablehead" colspan="2" align="right"> |
|
24 |
<a href="./metacatload.html">Back</a> | <a href="./metacattour.html">Home</a> | |
|
25 |
<a href="./metacatread.html">Next</a> |
|
26 |
</td> |
|
27 |
</tr> |
|
28 |
</table> |
|
29 |
<P>The Metacat Server provides |
|
30 |
an interface for searching of metadata stored in the Metacat database. |
|
31 |
<P> <img alt="architecture diagram of a Metacat query" src="metadataquery.gif"> |
|
32 |
<br><br><b>Steps to perform a query in Metacat</b> |
|
33 |
<ol> |
|
34 |
<li>A pathquery document is created from the search criteria provided through |
|
35 |
the servlet parameters.</li> |
|
36 |
<li>This pathquery document is sent to DBQuery where it |
|
37 |
is processed and translated into SQL statements.</li> |
|
38 |
<li>The SQL statements are executed against the database and the resultsets |
|
39 |
are translated into an xml document of doctype "resultset".</li> |
|
40 |
<li>The resultset document is either returned directly to the client as XML |
|
41 |
or is transformed through XSLT and returned as HTML.</li> |
|
42 |
</ol> |
|
43 |
|
|
44 |
<b>The Pathquery Document</b> |
|
45 |
<pre> |
|
46 |
<pathquery version="1.0"> |
|
47 |
<meta_file_id>unspecified</meta_file_id> |
|
48 |
<querytitle>unspecified</querytitle> |
|
49 |
<returnfield>dataset/title</returnfield> |
|
50 |
<returnfield>keyword</returnfield> |
|
51 |
<returnfield>originator/individualName/surName</returnfield> |
|
52 |
<returndoctype>eml://ecoinformatics.org/eml-2.0.1</returndoctype> |
|
53 |
<returndoctype>eml://ecoinformatics.org/eml-2.0.0</returndoctype> |
|
54 |
<querygroup operator="UNION"> |
|
55 |
<queryterm casesensitive="false" searchmode="contains"> |
|
56 |
<value>Plant</value> |
|
57 |
<pathexpr>dataset/title</pathexpr> |
|
58 |
</queryterm> |
|
59 |
<queryterm casesensitive="false" searchmode="contains"> |
|
60 |
<value>plant</value> |
|
61 |
<pathexpr>keyword</pathexpr> |
|
62 |
</queryterm> |
|
63 |
</querygroup> |
|
64 |
</pathquery> |
|
65 |
</pre> |
|
66 |
|
|
67 |
<p>The pathquery document was designed to be flexible enough to query specific |
|
68 |
fields of any XML document. It also allows the client to specify which fields |
|
69 |
from a returned document are returned in the initial resultset. Each |
|
70 |
<returnfield> parameter specifies a field which the DB will return |
|
71 |
for any query hit. The returndoctype fields allows the client to limit the |
|
72 |
type of documents to be returned. If no returndoctype element , all document types are returned. |
|
73 |
A <querygroup> creates an AND or an OR statement of the <queryterm>s |
|
74 |
in the group. The operator can be UNION or INTERSECT. A <queryterm> |
|
75 |
defines the actual field against which the query is being performed. The value |
|
76 |
of the queryterm that we are quering for is encased in <value> tags. |
|
77 |
The <pathexpr> tag specifies an exact path to which you want to restrict |
|
78 |
the search. A <pathexpr> tag which contains the keyword returndoc is |
|
79 |
a special case which is discussed in <a href="./packages.html">Packages and |
|
80 |
Relations</a>.</p><br> |
|
81 |
|
|
82 |
<b>The Resultset Document</b><br> |
|
83 |
|
|
84 |
<p>When the pathquery document is submitted and processed, Metacat returns |
|
85 |
another XML document called a resultset document.<p> |
|
86 |
|
|
87 |
<pre> |
|
88 |
<resultset> |
|
89 |
<query> |
|
90 |
<pathquery version="1.0"> |
|
91 |
<meta_file_id>unspecified</meta_file_id> |
|
92 |
<querytitle>unspecified</querytitle> |
|
93 |
<returnfield>dataset/title</returnfield> |
|
94 |
<returnfield>keyword</returnfield> |
|
95 |
<returnfield>originator/individualName/surName</returnfield> |
|
96 |
<returndoctype>eml://ecoinformatics.org/eml-2.0.1</returndoctype> |
|
97 |
<returndoctype>eml://ecoinformatics.org/eml-2.0.0</returndoctype> |
|
98 |
<querygroup operator="UNION"> |
|
99 |
<queryterm casesensitive="false" searchmode="contains"> |
|
100 |
<value>Datos</value> |
|
101 |
<pathexpr>dataset/title</pathexpr> |
|
102 |
</queryterm> |
|
103 |
<queryterm casesensitive="false" searchmode="contains"> |
|
104 |
<value>plant</value> |
|
105 |
<pathexpr>keyword</pathexpr> |
|
106 |
</queryterm> |
|
107 |
</querygroup> |
|
108 |
</pathquery> |
|
109 |
</query> |
|
110 |
|
|
111 |
<document> |
|
112 |
<docid>nceas.44.1</docid> |
|
113 |
<docname>resource</docname> |
|
114 |
<doctype>eml://ecoinformatics.org/eml-2.0.1</doctype> |
|
115 |
<createdate>2001-01-12 16:12:06.0</createdate> |
|
116 |
<updatedate>2001-01-12 16:12:06.0</updatedate> |
|
117 |
<param name="dataset/title">Datos Meteorologicos</param> |
|
118 |
<param name="keyword">intertidal</param> |
|
119 |
<param name="originator/individualName/surName">Smith</param> |
|
120 |
</document> |
|
121 |
|
|
122 |
<document> |
|
123 |
<docid>nceas.42.1</docid> |
|
124 |
<docname>resource</docname> |
|
125 |
<doctype>eml://ecoinformatics.org/eml-2.0.1</doctype> |
|
126 |
<createdate>2001-01-12 16:11:31.0</createdate> |
|
127 |
<updatedate>2001-01-12 16:11:31.0</updatedate> |
|
128 |
<param name="dataset/title">Ocean Surface Temperature</param> |
|
129 |
<param name="keyword">Plant</param> |
|
130 |
<param name="originator/individualName/surName">Henry</param> |
|
131 |
</document> |
|
132 |
..... |
|
133 |
</resultset> |
|
134 |
|
|
135 |
</pre> |
|
136 |
<p>The first element in the resultset is <query>. Its content is just |
|
137 |
the pathquery document. The resultset always returns |
|
138 |
the pathquery document that created it in the <query> tag. The next |
|
139 |
major tag is <document>. Each XML document returned by the query |
|
140 |
is represented by a <document> tag. The default document information returned |
|
141 |
is docid, docname, doctype, doctitle, createdate and |
|
142 |
updatedate. The param tags are present if the document found contained |
|
143 |
the returnfield chosen in the pathquery document. The name attribute of the |
|
144 |
param tag is the full path to the node specified by the returnfield. <p> |
|
145 |
|
|
146 |
<br> |
|
147 |
<a href="./metacatload.html">Back</a> | <a href="./metacattour.html">Home</a> | |
|
148 |
<a href="./metacatread.html">Next</a> |
|
149 |
|
|
150 |
</BODY> |
|
151 |
</HTML> |
|
152 |
|
|
153 | 0 |
docs/user/packages.html | ||
---|---|---|
1 |
<!-- |
|
2 |
* packages.html |
|
3 |
* |
|
4 |
* Authors: Chad Berkley |
|
5 |
* Copyright: 2000 Regents of the University of California and the |
|
6 |
* National Center for Ecological Analysis and Synthesis |
|
7 |
* For Details: http://www.nceas.ucsb.edu/ |
|
8 |
* Created: 2001 January 23 |
|
9 |
* Version: |
|
10 |
* File Info: '$ ' |
|
11 |
* |
|
12 |
* |
|
13 |
--> |
|
14 |
<HTML> |
|
15 |
<HEAD> |
|
16 |
<TITLE>Metacat</TITLE> |
|
17 |
<link rel="stylesheet" type="text/css" href="./default.css"> |
|
18 |
</HEAD> |
|
19 |
<BODY> |
|
20 |
<table width="100%"> |
|
21 |
<tr> |
|
22 |
<td class="tablehead" colspan="2"><p class="label">Packages and Relationships</p></td> |
|
23 |
<td class="tablehead" colspan="2" align="right"> |
|
24 |
<a href="./metacatapi.html">Back</a> | <a href="./metacattour.html">Home</a> | |
|
25 |
<a href="./replication.html">Next</a> |
|
26 |
</td> |
|
27 |
</tr> |
|
28 |
</table> |
|
29 |
<p>Metacat allows a user to create a virtual link between XML documents within |
|
30 |
the system. These links are called <i>Relationships</i> and are defined by triples |
|
31 |
in <i>eml-dataset</i>, <i>eml-literature</i> or <i>eml-software</i> files. A relationship can be defined between two |
|
32 |
XML or <a href="./datafiles.html">non-XML</a> files. |
|
33 |
The following is an example of an eml-dataset-2.0 file holding triples at the end:</p> |
|
34 |
|
|
35 |
<pre> |
|
36 |
<?xml version="1.0"?> |
|
37 |
<!DOCTYPE dataset PUBLIC "-//NCEAS//eml-dataset-2.0//EN" "eml-dataset-2.0.dtd"> |
|
38 |
<dataset> |
|
39 |
<identifier system="null">berkley.5.3</identifier> |
|
40 |
<shortName>allsp</shortName> |
|
41 |
<title>MARINE sampling data collected between spring 1992 and fall 1996</title> |
|
42 |
<originator> |
|
43 |
<individualName> |
|
44 |
<salutation>Dr.</salutation> |
|
45 |
<givenName>Peter</givenName> |
|
46 |
<surName>Raimondi</surName> |
|
47 |
</individualName> |
|
48 |
<organizationName>UCSC</organizationName> |
|
49 |
<positionName> </positionName> |
|
50 |
<address> |
|
51 |
<deliveryPoint>Biology Dept.</deliveryPoint> |
|
52 |
<deliveryPoint>A309 Earth and Marine Science Building</deliveryPoint> |
|
53 |
<city>Santa Cruz</city> |
|
54 |
<administrativeArea>CA</administrativeArea> |
|
55 |
<postalCode>95060</postalCode> |
|
56 |
<country>USA</country> |
|
57 |
</address> |
|
58 |
<phone phonetype="voice">831-459-1234 x5674</phone> |
|
59 |
<electronicMailAddress>raimondi@biology.ucsc.edu</electronicMailAddress> |
|
60 |
<onlineLink> </onlineLink> |
|
61 |
<role>Originator</role> |
|
62 |
</originator> |
|
63 |
<pubdate> </pubdate> |
|
64 |
<pubplace> </pubplace> |
|
65 |
<series> </series> |
|
66 |
<abstract> |
|
67 |
<paragraph> </paragraph> |
|
68 |
</abstract> |
|
69 |
<keywordSet> |
|
70 |
<keyword keywordType="null">intertidal</keyword> |
|
71 |
<keyword keywordType="null">santa barbara</keyword> |
|
72 |
<keyword keywordType="null">photoplot</keyword> |
|
73 |
<keyword keywordType="null">quadrat</keyword> |
|
74 |
<keywordThesaurus> </keywordThesaurus> |
|
75 |
</keywordSet> |
|
76 |
<additionalInfo> |
|
77 |
<paragraph> </paragraph> |
|
78 |
</additionalInfo> <font color="red"> |
|
79 |
<triple> |
|
80 |
<subject>berkley.6.1</subject> |
|
81 |
<relationship>isRelatedTo</relationship> |
|
82 |
<object>berkley.5.3</object> |
|
83 |
</triple> |
|
84 |
<triple> |
|
85 |
<subject>berkley.7.1</subject> |
|
86 |
<relationship>isRelatedTo</relationship> |
|
87 |
<object>berkley.6.1</object> |
|
88 |
</triple> |
|
89 |
<triple> |
|
90 |
<subject>berkley.8.1</subject> |
|
91 |
<relationship>isRelatedTo</relationship> |
|
92 |
<object>berkley.5.3</object> |
|
93 |
</triple> |
|
94 |
<triple> |
|
95 |
<subject>berkley.8.1</subject> |
|
96 |
<relationship>isRelatedTo</relationship> |
|
97 |
<object>berkley.6.1</object> |
|
98 |
</triple> |
|
99 |
<triple> |
|
100 |
<subject>berkley.8.1</subject> |
|
101 |
<relationship>isRelatedTo</relationship> |
|
102 |
<object>berkley.7.1</object> |
|
103 |
</triple> |
|
104 |
<triple> |
|
105 |
<subject>berkley.14.1</subject> |
|
106 |
<relationship>isRelatedTo</relationship> |
|
107 |
<object>berkley.6.1</object> |
|
108 |
</triple> </font> |
|
109 |
<temporalCoverage> 1992 to 1996</temporalCoverage> |
|
110 |
<geographicCoverage> </geographicCoverage> |
|
111 |
<taxonomicCoverage> </taxonomicCoverage> |
|
112 |
</dataset> |
|
113 |
</pre> |
|
114 |
|
|
115 |
<b>Description of the Package File</b> |
|
116 |
<p>Note that the doctype of this document is an unregistered NCEAS specific |
|
117 |
DTD (-//NCEAS//eml-dataset-2.0//EN). The package doctype is an application |
|
118 |
property of Metacat. Setting this property (and others) is described in |
|
119 |
<a href="./properties.html">Setting Metacat Properties</a>. The package file |
|
120 |
contains <i>n</i> triples. Each triple has a subject, relationship, |
|
121 |
and an object. This grouping can be read as follows: <subject> has |
|
122 |
<relationship> to <object>. Each triple is a logical link |
|
123 |
between the subject and object with the relationship being a description of that |
|
124 |
link.</p> |
|
125 |
<b>The Utility of Relations</b> |
|
126 |
<p>Relations become useful because many XML data schemas are broken up into |
|
127 |
multiple DTDs. Thus, there may be many different XML files that are all |
|
128 |
related to each other yet are stored seperately within the system. Also, |
|
129 |
since we, here at NCEAS, are developing Metacat for use as a metadata |
|
130 |
repository for ecological data, we need some way of linking our metadata |
|
131 |
to the datafiles that they describe. Packages are the way we do this.</p> |
|
132 |
<b>Post Processed Relations</b> |
|
133 |
<p>The package file is inserted into Metacat as any other file is. Its doctype |
|
134 |
is checked against the packagedoctype property in the <a href="properties.html"> |
|
135 |
Metacat.properties file</a>. If it is of that type, the file is sent |
|
136 |
to a postprocessor to be analyzed and inserted into the xml_relation table. |
|
137 |
The table looks like the following:</p> |
|
138 |
|
|
139 |
<table border="1"> |
|
140 |
<tr> |
|
141 |
<td>relationid</td><td>docid</td><td>packagetype</td> |
|
142 |
<td>subject</td><td>subjectdoctype</td> |
|
143 |
<td>relationship</td><td>object</td><td>objectdoctype</td> |
|
144 |
</tr> |
|
145 |
<tr> |
|
146 |
<td>1</td> |
|
147 |
<td>berkley.5</td> |
|
148 |
<td>-//NCEAS//eml-dataset-2.0//EN</td> |
|
149 |
<td>berkley.6.1</td> |
|
150 |
<td>null</td> |
|
151 |
<td>isRelatedTo</td> |
|
152 |
<td>berkley.5.3</td> |
|
153 |
<td>null</td> |
|
154 |
</tr> |
|
155 |
<tr> |
|
156 |
<td>2</td> |
|
157 |
<td>berkley.5</td> |
|
158 |
<td>-//NCEAS//eml-dataset-2.0//EN</td> |
|
159 |
<td>berkley.7.1</td> |
|
160 |
<td>null</td> |
|
161 |
<td>isRelatedTo</td> |
|
162 |
<td>berkley.6.1</td> |
|
163 |
<td>null</td> |
|
164 |
</tr> |
|
165 |
<tr> |
|
166 |
<td>3</td> |
|
167 |
<td>berkley.5</td> |
|
168 |
<td>-//NCEAS//eml-dataset-2.0//EN</td> |
|
169 |
<td>berkley.8.1</td> |
|
170 |
<td>null</td> |
|
171 |
<td>isRelatedTo</td> |
|
172 |
<td>berkley.5.3</td> |
|
173 |
<td>null</td> |
|
174 |
</tr> |
|
175 |
<tr> |
|
176 |
<td>4</td> |
|
177 |
<td>berkley.5</td> |
|
178 |
<td>-//NCEAS//eml-dataset-2.0//EN</td> |
|
179 |
<td>berkley.8.1</td> |
|
180 |
<td>null</td> |
|
181 |
<td>isRelatedTo</td> |
|
182 |
<td>berkley.6.1</td> |
|
183 |
<td>null</td> |
|
184 |
</tr> |
|
185 |
<tr> |
|
186 |
<td>5</td> |
|
187 |
<td>berkley.5</td> |
|
188 |
<td>-//NCEAS//eml-dataset-2.0//EN</td> |
|
189 |
<td>berkley.8.1</td> |
|
190 |
<td>null</td> |
|
191 |
<td>isRelatedTo</td> |
|
192 |
<td>berkley.7.1</td> |
|
193 |
<td>null</td> |
|
194 |
</tr> |
|
195 |
<tr> |
|
196 |
<td>6</td> |
|
197 |
<td>berkley.5</td> |
|
198 |
<td>-//NCEAS//eml-dataset-2.0//EN</td> |
|
199 |
<td>berkley.14.1</td> |
|
200 |
<td>null</td> |
|
201 |
<td>isRelatedTo</td> |
|
202 |
<td>berkley.6.1</td> |
|
203 |
<td>null</td> |
|
204 |
</tr> |
|
205 |
</table> |
|
206 |
|
|
207 |
<p>Once, the system has processed the package file and inserted the relations |
|
208 |
into the xml_relation table, the files relations are always returned to with it |
|
209 |
in the <a href="./metacatquery.html">resultset</a> of a query.</p> |
|
210 |
|
|
211 |
<b>Package Views (formerly known as 'backtracking')</b> |
|
212 |
<p>Package View is a feature that was intentionally left out of the |
|
213 |
<a href="./Metacatquery.html">Queries and Results</a> section. Package views |
|
214 |
involves sending a doctype (called a returndoctype) along with a query request. |
|
215 |
When there is a hit from that query, the system will check the doctype of the |
|
216 |
hit document against the returndoctype. If the doctypes do not match, |
|
217 |
the system checks the xml_relation table to see if that document has been packed |
|
218 |
by document of that doctype. If such package document exists, it |
|
219 |
is returned instead of the one which was originally hit. If no such |
|
220 |
package document exists, then the document which was originally hit is returned. |
|
221 |
This allows a display system (such as a web browser) to try to display a |
|
222 |
certain type of document.</p> |
|
223 |
<p>For example: Take our package file from above. Say we do a query for |
|
224 |
"intertidal" which returns the document berkley.6 of type -//NCEAS//eml-entity-2.0//EN. |
|
225 |
However, we have set returndoctype equal to "-//NCEAS//eml-dataset-2.0//EN". |
|
226 |
When berkley.6 is hit, the system will check its package documents to see if |
|
227 |
it is of type -//NCEAS//eml-dataset-2.0//EN. Since it is, |
|
228 |
(relationid 1, 2 and 4) document berkley.5 is returned instead of berkley.6. |
|
229 |
<p>From a client the returndoctype is a servlet parameter. |
|
230 |
A URL with a returndoctype would look something like: </p> |
|
231 |
<pre>http://server.domain.com/Metacat?action=query&anyfield=%&qformat=html&returndoctype=-//NCEAS//eml-dataset-2.0//EN</pre> |
|
232 |
<p>The system then inserts the returndoctype parameter value into a pathquery |
|
233 |
document as illustrated in <a href="./metacatquery.html">Queries and Results</a>. |
|
234 |
</p> |
|
235 |
|
|
236 |
|
|
237 |
<br> |
|
238 |
<a href="./metacatapi.html">Back</a> | <a href="./metacattour.html">Home</a> | |
|
239 |
<a href="./replication.html">Next</a> |
|
240 |
|
|
241 |
|
|
242 |
</BODY> |
|
243 |
</HTML> |
|
244 | 0 |
docs/user/metacat-apache-config.html | ||
---|---|---|
1 |
<!-- |
|
2 |
* '$RCSfile$' |
|
3 |
* Purpose: web page describing the installation of Metacat |
|
4 |
* Copyright: 2008 Regents of the University of California and the |
|
5 |
* National Center for Ecological Analysis and Synthesis |
|
6 |
* Authors: Chad Berkley |
|
7 |
* |
|
8 |
* '$Author: daigle $' |
|
9 |
* '$Date: 2008-11-24 11:57:40 -0800 (Mon, 24 Nov 2008) $' |
|
10 |
* '$Revision: 4621 $' |
|
11 |
* |
|
12 |
* |
|
13 |
--> |
|
14 |
|
|
15 |
<!DOCTYPE html PUBLIC "-//W3C//DTD html 4.0//EN"> |
|
16 |
<html> |
|
17 |
|
|
18 |
<head> |
|
19 |
<title>Metacat Apache Configuration</title> |
|
20 |
<link rel="stylesheet" type="text/css" href="./common.css"> |
|
21 |
<link rel="stylesheet" type="text/css" href="./default.css"> |
|
22 |
</head> |
|
23 |
|
|
24 |
<body> |
|
25 |
|
|
26 |
<table class="tabledefault" width="100%"> |
|
27 |
<tr><td rowspan="2"><img src="./images/KNBLogo.gif"></td> |
|
28 |
<td colspan="7"> |
|
29 |
<div class="title">Metacat Apache Configuration</div> |
|
30 |
</td> |
|
31 |
</tr> |
|
32 |
<tr> |
|
33 |
<td><a href="/" class="toollink"> KNB Home </a></td> |
|
34 |
<td><a href="/data.html" class="toollink"> Data </a></td> |
|
35 |
<td><a href="/people.html" class="toollink"> People </a></td> |
|
36 |
<td><a href="/informatics" class="toollink"> Informatics </a></td> |
|
37 |
<td><a href="/biodiversity" class="toollink"> Biocomplexity </a></td> |
|
38 |
<td><a href="/education" class="toollink"> Education </a></td> |
|
39 |
<td><a href="/software" class="toollink"> Software </a></td> |
|
40 |
</tr> |
|
41 |
</table> |
|
42 |
<hr> |
|
43 |
|
|
44 |
<div class="header1">Table of Contents</div> |
|
45 |
<div class="toc"> |
|
46 |
<div class="toc1"><a href="#Intro">Introduction</a></div> |
|
47 |
<div class="toc1"><a href="#UbuntuConfig">Unbuntu/Debian Configuration</a></div> |
|
48 |
<div class="toc2"><a href="#ModJK">Set Up Mod JK</a></div> |
|
49 |
<div class="toc2"><a href="#SetUpKnb">Set Up Metacat Site</a></div> |
|
50 |
<div class="toc2"><a href="#LsidConfig">LSID Service Configuration</a></div> |
|
51 |
<div class="toc2"><a href="#UbuntuReloadApache">Reload Apache</a></div> |
|
52 |
<div class="toc1"><a href="#OtherConfig">Other O/S Configuration</a></div> |
|
53 |
</div> |
|
54 |
|
|
55 |
<a name="Intro"></a><div class="header1">Introduction</div> |
|
56 |
<p>If you are going to run Tomcat behind the Apache web server, you have some additional |
|
57 |
setup to perform. One of the reasons for recommending the Ubuntu Linux O/S is its |
|
58 |
ease of setup. This becomes abundantly clear when configuring Apache. We will |
|
59 |
address Ubuntu/Debian configurations separately from all other configurations.</p> |
|
60 |
|
|
61 |
<a name="UbuntuConfig"></a><div class="header1">Unbuntu/Debian Configuration</div> |
|
62 |
<p>If you are installing on an Ubuntu/Debian system, and you installed Apache using |
|
63 |
apt-get, the Metacat code will have helper files that can be dropped into directories |
|
64 |
to configure Apache. Depending on whether you are installing from binary distribution |
|
65 |
or source, these helper files will be in one of two locations: |
|
66 |
|
|
67 |
<ul> |
|
68 |
<li>Installing From Binary Distribution - the helper files will be located in the |
|
69 |
directory where you extracted the distribution.</li> |
|
70 |
<li>Installing From Source - regardless if it's a source distribution or source that |
|
71 |
you checked out from the SVN repository, the helper files will be located in: |
|
72 |
<div class="code"><metacat_code_dir>/src/scripts</div></li> |
|
73 |
</ul> |
|
74 |
<p>We will refer to the directory with the helper scripts as <metacat_helper_dir></p> |
|
75 |
<p>We will refer to the directory where Apache is installed as <apache_install_dir></p> |
|
76 |
|
|
77 |
<a name="ModJK"></a><div class="header2">Set Up Mod JK</div> |
|
78 |
<p>Apache uses a module called Mod JK to talk to Tomcat applications. If you haven't done so |
|
79 |
already, you can install it by typing:</p> |
|
80 |
<div class="code">sudo apt-get install libapache2-mod-jk</div> |
|
81 |
<p>The helper files that configure the interface between Apache and Tomcat are jk.conf and workers.properties. |
|
82 |
To install these files:</p> |
|
83 |
<div class="code">sudo cp <metacat_helper_dir>/jk.conf <apache_install_dir>/mods-available/</div> |
|
84 |
<div class="code">sudo cp <metacat_helper_dir>/workers.properties <apache_install_dir></div> |
|
85 |
<p>Disabling and re-enabling the Apache Mod JK module will pick up the new changes:</p> |
|
86 |
<div class="code">sudo a2dismod jk</div> |
|
87 |
<div class="code">sudo a2enmod jk</div> |
|
88 |
|
|
89 |
<a name="SetUpKnb"></a><div class="header2">Set Up Metacat Site</div> |
|
90 |
<p>Next, Apache needs to know about the Metacat site. The helper file named "knb" has rules that |
|
91 |
tell Apache which traffic to route to Metacat. Set up the knb (Metacat) site by dropping the |
|
92 |
knb file into the sites-available directory and running the a2ensite to enable the site:</p> |
|
93 |
<div class="code">sudo cp <metacat_helper_dir>/knb <apache_install_dir>/sites-available</div> |
|
94 |
<div class="code">sudo a2ensite knb</div> |
|
95 |
|
|
96 |
<a name="LsidConfig"></a><div class="header2">LSID Service Configuration</div> |
|
97 |
<p>If you want to run an optional LSID server along with the Metacat server, set up and enable the authority service site |
|
98 |
configurations by typing:</p> |
|
99 |
<div class="code">sudo cp <metacat_helper_dir>/authority <apache_install_dir>/sites-available</div> |
|
100 |
<div class="code">sudo a2ensite authority</div> |
|
101 |
|
|
102 |
<a name="UbuntuReloadApache"></a><div class="header2">Reload Apache</div> |
|
103 |
<p>Reload apache to bring in changes by typing:</p> |
|
104 |
<div class="code">sudo /etc/init.d/apache2 force-reload</div> |
|
105 |
|
|
106 |
<a name="OtherConfig"></a><div class="header1">Other O/S Configuration</div> |
|
107 |
<p>If you are running on an O/S other than Ubuntu/Debian or you installed the |
|
108 |
Apache source or binary, you will need to manually edit the Apache configuration |
|
109 |
file.</p> |
|
110 |
|
|
111 |
<p>We will refer to the directory where Apache is installed as <apache_install_dir></p> |
|
112 |
|
|
113 |
<p>Edit:</p> |
|
114 |
<div class="code"><apache_install_dir>/conf/httpd.conf</div> |
|
115 |
|
|
116 |
<a name="ModJkLog"></a><div class="header2">Mod JK Log Configuration</div> |
|
117 |
<p> You should configure the log location and level for Mod JK. If you do not |
|
118 |
already have a section like this, you should add it.</p> |
|
119 |
|
|
120 |
<div class="code"> |
|
121 |
<IfModule mod_jk.c><br> |
|
122 |
JkLogFile "/var/log/tomcat/mod_jk.log"<br> |
|
123 |
JkLogLevel info<br> |
|
124 |
</IfModule> |
|
125 |
</div> |
|
126 |
|
|
127 |
<p>You can set the log location to any place you like</p> |
|
128 |
|
|
129 |
<a name="VirtualHost"></a><div class="header2">Virtual Host Configuration</div> |
|
130 |
<p>The following section configures apache to talk to route traffic to the Metacat |
|
131 |
application.</p> |
|
132 |
<div class="code"> |
|
133 |
<VirtualHost XXX.XXX.XXX.XXX:80><br> |
|
134 |
DocumentRoot /var/www<br> |
|
135 |
ServerName dev.nceas.ucsb.edu<br> |
|
136 |
ErrorLog /var/log/httpd/error_log<br> |
|
137 |
CustomLog /var/log/httpd/access_log common<br> |
|
138 |
<br> |
|
139 |
ScriptAlias /cgi-bin/ "/var/www/cgi-knb/"<br> |
|
140 |
<Directory /var/www/cgi-knb/><br> |
|
141 |
AllowOverride None<br> |
|
142 |
Options ExecCGI<br> |
|
143 |
Order allow,deny<br> |
|
144 |
Allow from all<br> |
|
145 |
</Directory><br> |
|
146 |
<br> |
|
147 |
ScriptAlias /knb/cgi-bin/ "/var/www/webapps/knb/cgi-bin/"<br> |
|
148 |
<Directory "/var/www/webapps/knb/cgi-bin/"><br> |
|
149 |
AllowOverride None<br> |
|
150 |
Options ExecCGI<br> |
|
151 |
Order allow,deny<br> |
|
152 |
Allow from all<br> |
|
153 |
</Directory><br> |
|
154 |
<br> |
|
155 |
JkMount /knb ajp13<br> |
|
156 |
JkMount /knb/* ajp13<br> |
|
157 |
JkMount /knb/metacat ajp13<br> |
|
158 |
JkUnMount /knb/cgi-bin/* ajp13<br> |
|
159 |
JkMount /*.jsp ajp13<br> |
|
160 |
JkMount /metacat ajp13<br> |
|
161 |
JkMount /metacat/* ajp13<br> |
|
162 |
</VirtualHost><br> |
|
163 |
</div> |
|
164 |
|
|
165 |
<p>Some notes:</p> |
|
166 |
<ul> |
|
167 |
<li>ServerName - should be set to the dns name where you will serve Metacat.</li> |
|
168 |
<li> ScriptAlias /knb/cgi-bin/ - this directive and the following Directory section |
|
169 |
should both point to the cgi-bin directory inside your Metacat installation.</li> |
|
170 |
</ul> |
|
171 |
|
|
172 |
|
|
173 |
<a name="WorkersProperties"></a><div class="header2">workers.properties file</div> |
|
174 |
<p>You will need to drop a file named "workers.proerpties" file into your Apache |
|
175 |
configuration directory, and edit the file to make sure all properties are correct. |
|
176 |
Metacat provides a base workers.properties file for you to use. Depending on |
|
177 |
whether you are installing from binary distribution or source, the workers.properties |
|
178 |
files will be in one of two locations: |
|
179 |
|
|
180 |
<ul> |
|
181 |
<li>Installing From Binary Distribution - the file will be located in the |
|
182 |
directory where you extracted the distribution.</li> |
|
183 |
<li>Installing From Source - regardless if it's a source distribution or source that |
|
184 |
you checked out from the SVN repository, the file will be located in: |
|
185 |
<div class="code"><metacat_code_dir>/src/scripts/workers.properties</div></li> |
|
186 |
</ul> |
|
187 |
|
|
188 |
<p>Copy the workers.properties file into:</p> |
|
189 |
<apache_install_dir>/conf/ |
|
190 |
|
|
191 |
<p>Edit the workers.properties file and make sure the following properties are |
|
192 |
set correctly:</p> |
|
193 |
<ul> |
|
194 |
<li>workers.tomcat_home - should be set to the Tomcat install directory on your system.</li> |
|
195 |
<li>workers.java_home - should be set to the Java install directory on your system.</li> |
|
196 |
</ul> |
|
197 |
|
|
198 |
<a name="LsidConfig"></a><div class="header2">LSID Service Configuration</div> |
|
199 |
<p>If you want to run an optional LSID server along with the Metacat server, add the following lines to the |
|
200 |
VirtualHost section you configured above:</p> |
|
201 |
<div class="code"> |
|
202 |
JkMount /authority ajp13<br> |
|
203 |
JkMount /authority/* ajp13<br> |
|
204 |
</div> |
|
205 |
|
|
206 |
<a name="UbuntuReloadApache"></a><div class="header2">Reload Apache</div> |
|
207 |
<p>Restart apache to bring in changes by typing:</p> |
|
208 |
<div class="code">sudo /etc/init.d/apache2 restart</div> |
|
209 |
|
|
210 |
<br> |
|
211 |
</body> |
|
212 |
</html> |
|
213 | 0 |
Also available in: Unified diff
Move all user images into the dev image directory. Remove all but the MetacatAdministratorsGuide from the user dir.