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>
|