Project

General

Profile

1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3

    
4
<html xmlns="http://www.w3.org/1999/xhtml">
5
<head>
6
  <meta http-equiv="Content-Type" content=
7
  "text/html; charset=us-ascii" />
8
  <meta name="generator" content="pandoc" />
9
  <style type="text/css">
10
/*<![CDATA[*/
11
  ol.decimal { list-style-type: decimal; }
12
	li { padding-bottom: 5px; }
13
	blockquote { 
14
		background-color: #f5f5f5;
15
		margin: 10px 15px 5px 20px;
16
		padding: 1px 0px 1px 10px;
17
	}
18

    
19
	.keyword {
20
		color: #00008b;
21
	}
22

    
23
	.type {
24
		color: #2b91af;
25
	}
26

    
27
	.string {
28
		color: #810541;
29
	}
30

    
31
  /*]]>*/
32
  </style>
33

    
34
  <title>Metacat Install - Registry</title>
35
  <link rel="stylesheet" type="text/css" href="default.css" />
36
</head>
37

    
38
<body>
39
  <table class="tabledefault" width="100%">
40
    <tr>
41
      <td rowspan="2"><img src="images/KNBLogo.gif" /></td>
42

    
43
      <td colspan="7">
44
        <div class="title">
45
          Metacat Installation - Registry
46
        </div>
47
      </td>
48
    </tr>
49

    
50
    <tr>
51
      <td><a href="/" class="toollink">KNB Home</a></td>
52

    
53
      <td><a href="/data.html" class="toollink">Data</a></td>
54

    
55
      <td><a href="/people.html" class="toollink">People</a></td>
56

    
57
      <td><a href="/informatics" class=
58
      "toollink">Informatics</a></td>
59

    
60
      <td><a href="/biodiversity" class=
61
      "toollink">Biocomplexity</a></td>
62

    
63
      <td><a href="/education" class="toollink">Education</a></td>
64

    
65
      <td><a href="/software" class="toollink">Software</a></td>
66
    </tr>
67
  </table>
68
  <hr />
69

    
70
  <table class="tabledefault" width="100%">
71
    <tr>
72
      <td class="tablehead" colspan="2">
73
        <p class="emphasis">Installing the Metacat Registry</p>
74
      </td>
75
    </tr>
76

    
77
    <tr>
78
      <td>Author: Shaun Walbridge<br />
79
      Date: 06/06/2008<br /></td>
80
    </tr>
81
  </table>
82

    
83
  <h1 id="registry-installation">Registry Installation</h1>
84

    
85
  <h2 id="whats-it-for">What's it for?</h2>
86

    
87
  <p>The Metacat Registry provides an easy mechanism to create and
88
  edit simple EML metadata documents, and accounts for your Metacat
89
  users. It is an optional component of Metacat, but is useful when
90
  you need very low barriers to creating simple EML, or have users
91
  unable to use Morpho. The LDAP account management interface is
92
  useful if you are authenticating users against LDAP, and need to
93
  provide a basic mechanism for managing user accounts.</p>
94

    
95
  <h2 id="installation-instructions">Installation Instructions</h2>
96

    
97
  <p>The Registry can be installed on any machine Metacat runs on,
98
  but does require additional legwork to get it installed. It
99
  requires that Metacat is set deployed behind Apache, as our
100
  recommended installation platform, and the instructions assume
101
  Apache is already installed and working correctly.</p>
102

    
103
  <h2 id="steps">Steps</h2>
104

    
105
  <ol class="decimal">
106
    <li>
107
      <p>Download and extract the Metacat release:</p>
108
      <blockquote>
109
<pre><span class="type">mkdir</span> metacat &amp;&amp; cd metacat 
110
<span class="type">wget</span> http://knb.ecoinformatics.org/software/dist/metacat-src-1.8.0.zip
111
<span class="type">unzip</span> metacat-src-1.8.0.zip
112
<span class="type">cd</span> metacat-1.8.0
113
<span class="type">export</span> METACAT=`pwd`
114
</pre>
115
</blockquote>
116
    </li>
117

    
118
    <li>
119
      <p>Build the Metacat Perl client library:</p>
120
      <blockquote>
121
<pre><span class="type">cd</span> $METACAT/src/perl/Metacat
122
<span class="type">perl</span> Makefile.PL
123
<span class="type">sudo make</span>
124
<span class="type">sudo make install</span>
125
</pre>
126
</blockquote>
127
    </li>
128

    
129
    <li>
130
      <p>Install the system libraries needed. On Redhat:
131
      <blockquote>
132
<pre><span class="type">sudo yum install</span> gcc libxml2-devel libxslt-devel ant openssl -y
133
</pre>
134
</blockquote>
135

    
136
      On Debian:
137
      <blockquote>
138
			<pre>
139
<span class="type">sudo apt-get install</span> ant libappconfig-perl libxml-libxml-perl libxml-libxslt-perl \
140
libtemplate-perl libcgi-session-perl libdigest-sha1-perl libnet-ldap-perl \ 
141
libterm-readkey-perl libxml-dom-perl libsoap-lite-perl libio-socket-ssl-perl -y
142
</pre>
143
</blockquote>
144
	  You will need to install one package using cpan
145
      <blockquote><pre><span class="type">sudo cpan</span> -i Config::Properties</pre></blockquote>
146
      <blockquote><pre><span class="type">sudo cpan</span> -i scalar::util</pre></blockquote>
147

    
148
      Debian users should skip ahead to step 6.
149
</p>
150
    </li>
151

    
152
    <li>
153
      <p>Install CPAN, which allows us to install the Perl
154
      dependencies for the registry and account management parts of
155
      Metacat. If asked to manually configure cpan, type 'no' and
156
      CPAN will be setup with its default values.</p>
157
      <blockquote>
158
<pre><span class="type">sudo yum install</span> perl-CPAN
159
<span class="type">sudo cpan</span>
160
</pre>
161
</blockquote>
162

    
163
      <p>You should now see a prompt which looks like:</p>
164
      <blockquote>
165
<pre><span class="string">cpan&gt;</span>
166
</pre>
167
</blockquote>
168

    
169
      <p>The rest of the commands will assume you're inside of
170
      CPAN. Let's get the most recent version of the CPAN software.
171
      Just press return after any prompts you recieve during this
172
      process.</p>
173
      <blockquote>
174
<pre>install Bundle::CPAN
175
reload cpan
176
</pre>
177
</blockquote>
178
    </li>
179

    
180
    <li>
181
      <p>Install the required modules. Here we're installing an old
182
      LibXSLT, as the current one requires a newer libxslt than is
183
      available on Redhat 4 &amp; 5. Again, just answer 'yes' to
184
      any questions.</p>
185
      <blockquote>
186
<pre>install AutoLoader
187
install CGI
188
install CGI::Session
189
install LWP::UserAgent
190
install IO::Socket:SSL
191
install Net::LDAP
192
install Template 
193
install URI
194
install MSERGEANT/XML-LibXSLT-1.58.tar.gz
195
install Digest::SHA1
196
install Crypt::SSLeay
197
</pre>
198
</blockquote>
199
    </li>
200

    
201
		<li>
202
			<p>Double check that Metacat's temporary folder, <code><span class="string">application.tempDir</span></code>, is writable by the apache user, usually <code><span class="string">www-data</span></code> or <code><span class="string">apache</span></code>.
203
    <li>
204
      <p>Now visit the resulting URL:</p>
205
      <blockquote>
206
<pre>http://localhost/knb/cgi-bin/register-dataset.cgi?cfg=nceas
207
</pre>
208
</blockquote>
209

    
210
      <p>If everything worked correctly, you should see a page like
211
      this: <img src="images/registry-login.jpg" alt=
212
      "Registry Login Page" /></p>
213
    </li>
214
  </ol>
215

    
216
  <h2 id="installing-the-nceas-registry">Installing the NCEAS
217
  Registry</h2>
218

    
219
  <p>These are special instructions required for the NCEAS skin to
220
  get a current projects list from the AdminDB, and can safely be
221
  ignored in all other uses.</p>
222

    
223
  <ol class="decimal">
224
    <li>
225
      <p>Download and install the Oracle Instant Client RPMs. These
226
      can be obtained from the <a href=
227
      "http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html">
228
      oracle website</a>.</p>
229
      <blockquote>
230
<pre><span class="type">rpm -i</span> oracle-instantclient-basic-10.2.0.3-1.i386.rpm
231
<span class="type">rpm -i</span> oracle-instantclient-devel-10.2.0.3-1.i386.rpm
232
<span class="type">rpm -i</span> oracle-instantclient-sqlplus-10.2.0.3-1.i386.rpm
233
</pre>
234
</blockquote>
235
    </li>
236

    
237
    <li>
238
      <p>Next, we'll need an <pre>tnsnames.ora</pre> file for
239
      Oracle to locate the server we're connecting to. In this
240
      example, we'll copy it from a remote location:</p>
241
      <blockquote>
242
<pre><span class="type">mkdir -p</span> /usr/lib/oracle/10.2.0.3/network/admin/ &amp;&amp; <span class="type">cd !$</span>
243
<span class="type">scp</span> walbridge@knb.ecoinformatics.org:/usr/lib/oracle/10.1.0.4/network/admin/tnsnames.ora .
244
</pre>
245
</blockquote>
246
    </li>
247

    
248
    <li>
249
      <p>The AdminDB is accessed via Perl, so install the needed
250
      Oracle driver using CPAN:</p>
251
      <blockquote>
252
<pre>cpan
253
install DBI
254
install DBD::Oracle
255
</pre>
256
</blockquote>
257
    </li>
258

    
259
    <li>
260
      <p>Now we can install the AdminDB module itself:</p>
261
      <blockquote>
262
<pre>mkdir -p ~/projects/admindb &amp;&amp; cd !$
263
export CVSROOT=:ext:walbridge@cvs.nceas.ucsb.edu:/cvsnceas
264
cvs co admindb
265
cd admindb/perl/NCEAS/AdminDB
266
perl Makefile.PL
267
make
268
sudo make install
269
</pre>
270
</blockquote>
271
    </li>
272

    
273
    <li>
274
      <p>Finally, set the correct properties in the
275
      <pre>nceas.cfg</pre> file:</p>
276
      <blockquote>
277
<pre>nceas_db = //hyperion.nceas.ucsb.edu:1521/nceasp.nceas.ucsb.edu
278
nceas_db_user = admowner
279
nceas_db_password = NCEAS_DB_READ_PASSWORD_HERE
280
</pre>
281
</blockquote>
282
    </li>
283

    
284
    <li>
285
      <p>A quick check of <pre>register-dataset.cgi</pre> should
286
      now show a complete list of projects: <img src=
287
      "images/registry-nceas-projects.png" alt=
288
      "NCEAS Project list" /></p>
289
    </li>
290
  </ol>
291

    
292
  <h2 id="notes">Notes</h2>
293

    
294
  <p>Redhat based, tested on Centos 5</p>
295

    
296
  <p>Debian based, tested on Ubuntu 8.04</p>
297
</body>
298
</html>
(50-50/65)