Project

General

Profile

1 6147 jones
Configuring Metacat
2
===================
3
4 6839 jones
.. contents::
5
6
When Metacat (Tomcat) is started, the Metacat servlet checks to see if it is
7
configured. If not, Metacat will automatically send you to the configuration
8
pages.
9 6147 jones
10 6839 jones
If the installation is new, or the previous version is before 1.9.0, pay close
11
attention to the configuration values. If you have upgraded Metacat, and the
12
previous version is 1.9.0 or later, Metacat will pull existing configuration
13
settings from a backup location. You should still verify that the values are
14
correct.
15 6147 jones
16 6839 jones
To access your Metacat, open a Web browser and type::
17 6147 jones
18 6839 jones
  http://<your_context_url>
19
20
Where <your_context_url> is the URL of the server hosting the Metacat followed
21
by the name of the WAR file (i.e., the application context) that you installed.
22
For instance, the context URL for the KNB Metacat is: http://knb.ecoinformatics.org/knb
23
24
You can always open the configuration screen from within Metacat by typing::
25
26
  http://<your_context_url>/admin
27
28
Initial Configuration
29
---------------------
30
Before you can log in to the Metacat and configure it, you are required to
31
confirm Metacat's back-up location and authentication configuration (if not
32
already configured). Metacat will automatically attempt to locate an existing
33
back-up directory, but you may need to correct the value or specify a directory
34
(if the installation is new, or if Metacat was unable to determine the location
35
of an existing back-up directory). The authentication configuration is required
36
for logging in to the Metacat and for defining administrative accounts.
37 7243 leinfelder
Instructions for `Changing Authentication Configuration without Authentication`_
38
are included at the end of this section.
39 6839 jones
40
Back-up Configuration
41
~~~~~~~~~~~~~~~~~~~~~
42 7673 leinfelder
To preserve its configuration settings, Metacat backs up crucial configuration details to
43 6839 jones
a directory outside the application directories. Because a new installation/upgrade
44
does not know where this external directory is, Metacat uses a discovery
45
algorithm to locate it. If Metacat cannot identify a backup directory, you will
46
see the Backup Directory Configuration screen.
47
48 8573 leinfelder
.. Note::
49
50
  If the metacat.properties file has many custom settings, it should be manually
51
  backed up before any Metacat upgrade as deploying a new Metacat war file will overwrite
52
  the existing file.
53 7673 leinfelder
54 6839 jones
.. figure:: images/screenshots/image011.png
55
   :align: center
56
57
   Configuring the Backup Directory.
58
59
Authentication Configuration
60
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
61
Whether you are installing or upgrading the Metacat servlet, you will
62
automatically be sent to the Authentication Configuration page. You can also
63
reach the Authentication Configuration page from a running Metacat by typing::
64
65
  http://<your_context_url>/admin
66
67 8573 leinfelder
Metacat uses either an internal password file or LDAP as its authentication mechanism.
68 8568 tao
You can choose the authentication mechanism by selecting either AuthFile or AuthLdap class.
69 8573 leinfelder
We will only allow trusted partners to access the NCEAS LDAP server to ensure the security of our user base.
70 8568 tao
If you are not in the trusted partner list, you may choose the internal password file authentication
71
or set up your own LDAP server. You also can define your own authentication mechanism by creating a Java
72
class that implements ``AuthInterface``.
73
74
Required configuration values for the password file authentication are:
75
76 8573 leinfelder
  ::
77
78
    Authentication Class
79
    Metacat Administrators
80
    Users Management URL
81
    Password File Path.
82 8568 tao
83 8573 leinfelder
Required configuration values for LDAP authentication are:
84
85
  ::
86
87
    Authentication Class
88
    Metacat Administrators
89
    Users Management URL
90
    Authentication URL
91
    Authentication Secure URL.
92
93
94 6839 jones
Make sure that your user account information is entered into the Metacat
95
Administrators field (e.g., uid=daigle,o=nceas,dc=ecoinformatics,dc=org). You
96 8573 leinfelder
will not be allowed to continue with configuration if this is missing. Multiple
97
accounts can be entered, separated by the colon (:) character.
98 6839 jones
99 8573 leinfelder
.. Note::
100
101
  To create an account on the password file, please see the section called :doc:`authinterface`.
102
  To create an LDAP account on the KNB LDAP server (specified as the default LDAP server),
103
  go to https://identity.nceas.ucsb.edu and select the "create a new user account" link.
104 6839 jones
105
If you make changes to the authentication settings, you must restart Tomcat to
106
put them into effect.
107
108 8568 tao
.. figure:: images/screenshots/image071.png
109
   :align: center
110
111
   Configuring Password File Authentication Values.
112
113 6870 jones
.. figure:: images/screenshots/image009.png
114 6839 jones
   :align: center
115
116 8568 tao
   Configuring LDAP Authentication Values.
117 6839 jones
118
Changing Authentication Configuration without Authentication
119
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
120
If you need to change or add authentication information and cannot authenticate
121
using the existing authentication settings (e.g., the existing Metacat
122
administrator is no longer available or you forgot the administrator password),
123
you must edit the Metacat configuration file by hand. This ensures that only a
124
person who has access to the Metacat server and the configuration files on that
125
server will be able to change the administrator accounts.
126
127
To edit the authentication configuration file:
128
129
1. Stop Tomcat and edit the Metacat properties (``metacat.properties``) file in the
130
   Metacat context directory inside the Tomcat application directory. The
131 8265 leinfelder
   Metacat context directory is the name of the application (usually metacat):
132 6839 jones
133
  ::
134
135
    <tomcat_app_dir>/<context_dir>/WEB-INF/metacat.properties
136
137
2. Change the following properties appropriately:
138
139
  ::
140
141
    auth.administrators - a colon separated list of administrators
142
    auth.url - the authentication server URL
143
    auth.surl - the authentication secure server URL
144 8568 tao
    auth.file.path  - the authentication password file path
145 6839 jones
146
3. Save the ``metacat.properties`` file and start Tomcat.
147
148
149
Logging in to Metacat
150
---------------------
151
In order to configure Metacat, you must log in with an administrative account
152
that has been configured in the Authentication Configuration settings. If you
153
did not set up the correct administrative user there, you must change the
154
authentication configuration by hand before you can log in.
155
156
In the log-in screen enter your user name and password and click
157
the "Login" button.
158
159 6870 jones
.. figure:: images/screenshots/image015.png
160 6839 jones
   :align: center
161
162
   Logging into Metacat.
163
164
Required Configuration
165
----------------------
166
All required Metacat settings can be accessed from the Metacat Configuration
167
utility, which becomes available after the initial configurations
168
have been specified and an authorized administrator logs in.
169
170
.. figure:: images/screenshots/image017.png
171
   :align: center
172
173
   Metacat configuration menu, showing each configuration section.  Once all
174
   sections are marked as green ``configured``, metacat can be accessed.
175
176
The configuration settings are grouped into five sections (Metacat Global
177 6943 leinfelder
Properties, Authentication Configuration, Skins Specific Properties, Database
178
Installation/Upgrade, Geoserver, DataONE, and Replication Configuration),
179
each of which is listed with its current status (see table).
180 6839 jones
181
==============  =============================================================
182
Status          Description
183
==============  =============================================================
184 8245 walker
unconfigured    The section has yet to be configured
185
configured      The section has been configured.
186
bypassed        The administrator
187 6943 leinfelder
                can choose not to configure or skip the section.
188 6839 jones
==============  =============================================================
189
190
To the right of each configuration section is one of the following options:
191
Configure Now, Reconfigure Now, Configure Global Properties First, or
192
Version:X.X.X. If the option is linked (e.g., Configure Now or Reconfigure Now),
193 6943 leinfelder
you can select the link to open the associated configuration settings and edit them.
194
If the option is not linked (e.g., Configure Global
195 6839 jones
Properties First), the settings cannot be specified until the global properties
196
are set. Once the global properties are configured, the option to configure this
197
section becomes available. The Version:X.X.X option is used only for the
198
Database Installation/Upgrade section. If the database schema version detected
199
by Metacat matches the application version (eg, 1.9.0), then no further database
200
configuration is required.
201
202
All settings must be in a configured or bypassed state in order to run Metacat.
203
For new installations or upgrades, click the "go to metacat" link that appears
204
after configuration is complete to go directly to Metacat. Note that Metacat
205
indexes at start-up time, so the initial start-up may take some time depending
206 6943 leinfelder
on the amount of data in your database and wheter or not you have opted to regenerate the spatial cache.
207
If you are reconfiguring a running
208 6839 jones
version of Metacat, you must restart the Tomcat server for the changes to
209
take effect.
210 6870 jones
211 6839 jones
.. figure:: images/screenshots/image019.png
212
   :align: center
213
214
   The Metacat settings as they appear after having been configured.
215
216
Global Properties (server, ports, etc)
217
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
218
The Metacat configurations included under Global Properties represent the bulk
219
of the settings required to run Metacat. Click a blue question-mark
220
icon beside any setting for detailed instructions. More information about each
221
property is also included in the :doc:`metacat-properties`.
222
223
.. figure:: images/screenshots/image021.png
224
   :align: center
225
226
   The Metacat Global Properties editing screen.
227
228
When you save global properties, Metacat also saves a back-up file that is
229
located in ``/var/metacat/.metacat`` (on Linux) or
230
``C:\Program Files\metacat\.metacat`` (on Windows). When you update Metacat,
231
the system automatically locates the back-up file so you do not have to re-enter
232
the configuration settings.
233
234
The first time you install Metacat, the system attempts to automatically detect
235
the values for a number of settings (see table). It is important to ensure that
236
these values are correct.
237
238
================  ============================================================
239
Property          Description
240
================  ============================================================
241
Metacat Context   The name of the deployed Metacat WAR file (minus the .war
242 8265 leinfelder
                  extension). E.g., "metacat"
243 6839 jones
Server Name       The DNS name of the server hosting Metacat, not including
244 6943 leinfelder
                  port numbers or the protocol ("http://").
245 6839 jones
HTTP Port         The non-secure port where Metacat will be available.
246
HTTP SSL Port     The secure port where Metacat will be available.
247
Deploy Location   The directory where the application is deployed.
248
================  ============================================================
249
250
Authentication Configuration
251
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
252
Because you must specify the Authentication settings before you can access the
253
main configuration page, the settings will always be configured when you view
254
them in the admin interface. If you wish to change the authentication settings,
255
you must restart Metacat to put the changes into effect. For more information
256
about the Authentication configurations, please see Initial Configurations.
257
258 8245 walker
Skins Configuration
259
~~~~~~~~~~~~~~~~~~~
260 8263 walker
Customizing the look and feel of Metacat's web interface is done via skins or
261
MetacatUI themes, however as of Version 2.2.0, skins have been deprecated.
262
Use MetacatUI themes instead. Themes can be deployed separately from the
263
Metacat server allowing easier independent user interface customization.
264
265
MetacatUI Themes
266
................
267
Themes are applied in the Skins Configuration section. If you have installed
268
the optional Registry, which provides a web interface for creating, editing,
269
and submitting content to Metacat, you can also choose which form fields
270 6839 jones
appear in that interface and which are required. Note that if you do not have
271 8263 walker
a custom theme AND you are not using the Registry, you can simply save the
272
``metacatui`` default configuration.
273 6839 jones
274 8263 walker
To use the new MetacatUI theming system, select ``metacatui`` and click the
275
``Make metacatui default`` radio button. Metacat will open a list of options
276
that apply to the Registry interface. For more information about creating
277 8339 leinfelder
custom themes, see the section called :doc:`themes`.
278 8263 walker
279
.. figure:: images/screenshots/image070.png
280
   :align: center
281
282
   Configuring Metacat themes.
283
284
Skins
285
................
286
.. deprecated:2.2.0
287
   Use themes instead
288
289 6839 jones
If your Metacat has a customized skin, it will appear as a choice in the
290 8263 walker
Skins Configuration settings (see below screenshot). Select the checkbox next
291
to your customized skin or and click the ``Make <skin_name> default`` radio button.
292
If you do not have a custom skin, select the ``default`` skin.
293 6839 jones
294 8263 walker
Once you have selected a skin, Metacat will open a list of options that apply to the Registry
295
interface. For more information about creating skins, see the Creating a Custom Skin
296 8339 leinfelder
section in :doc:`themes`.
297 8263 walker
298 6839 jones
.. figure:: images/screenshots/image023.png
299
   :align: center
300
301
   Configuring Metacat skins.
302
303 8263 walker
Select the checkbox next to your customized skin or and click the
304 6839 jones
``Make <skin_name> default`` radio button. If you do not have a custom skin,
305
select the ``default`` skin. Once you have selected a skin, Metacat will open
306
a list of options that apply to the Registry interface.
307
308
.. figure:: images/screenshots/image025.png
309
   :align: center
310
311
   Configuring Metacat skins.
312
313
Select the lists and modules that you would like to appear in the Registry
314
form-interface by checking the box beside each. When you save the configuration,
315
the customized interface will appear to site visitors.
316
317
Database Configuration
318
~~~~~~~~~~~~~~~~~~~~~~
319
Because the Database Configuration is dependent on values specified in the
320 7243 leinfelder
Global Properties section, the link to these settings does not become active
321 6839 jones
until after the global settings have been saved. Once the global settings have
322
been saved, Metacat automatically detects the database schema version and
323
upgrades it if necessary (and with your permission).
324
325
* New Installation
326
* Upgrade
327
328
New Installation
329
................
330
If Metacat determines that your database is new, the Database Install/Upgrade
331
utility lists the SQL scripts that will run in order to create a database
332
schema for the new version of Metacat.
333
334
.. figure:: images/screenshots/image027.png
335
   :align: center
336
337
   Database installation creates tables needed for Metacat.
338
339
If the database is not new, or if you have any questions about whether it is
340
new or not, choose Cancel and contact support at knb-help@nceas.ucsb.edu.
341
342
When you choose Continue, Metacat runs the listed scripts and creates the
343
database schema.
344
345
Upgrade
346
.......
347
If Metacat identifies a previous database schema, the Database Install/Upgrade
348
utility notes the existing version and lists the SQL scripts that will run in
349
order to update the schema for the new version of Metacat.
350
351
If the detected schema version is incorrect, or if you have any questions about
352
whether it is correct or not, click the Cancel button and contact support at
353
knb-help@nceas.ucsb.edu.When you choose to continue, Metacat runs the listed
354
scripts and updates the database schema.
355
356
.. figure:: images/screenshots/image029.png
357
   :align: center
358
359
   Upgrading an existing database.
360 6943 leinfelder
361
Additional upgrade tasks may also run after the database upgrade is complete.
362
For systems hosting large amounts of data, these upgrade routines can take time to complete.
363
It is important to let the process complete before using Metacat otherwise your deployment may become unstable.
364
365 6839 jones
366 6870 jones
Geoserver Configuration (Highly Recommended)
367
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
368 6839 jones
.. sidebar:: Manual Geoserver Update
369
370
  Alternatively, you can change the Geoserver username and password manually by
371
  directly logging in to the Geoserver. To configure the credentials manually:
372
373 6870 jones
  1. Go to the Geoserver admin page: http://<your_context_url>/geoserver/
374 6839 jones
  2. Log in using the default username and password ( admin / geoserver )
375
  3. Navigate to the Password Change Page.  Enter a new user and password and click Submit.
376
  4. Click Apply then Save to save your new password.
377
378
Metacat comes bundled with a Web Mapping Service called Geoserver, which
379
converts spatial data into Web-deliverable map images. Geoserver installs with
380 6870 jones
a default administrative username and password. *We highly recommend that you
381
change the default credentials so that only local administrators can make
382
changes to your Geoserver.* For more information about Geoserver,
383 6839 jones
see :doc:`geoserver`.
384
385
When you choose the Geoserver Configuration link from the main configuration
386 6870 jones
screen, Metacat will prompt you for a few important details about your Geoserver
387
installation. The data directory and context settings allow Geoserver and
388
Metacat to share the same spatial data store and render maps within Metacat skins.
389
The security configuration prompts for a new admin password. After you enter
390
the new settings, Metacat writes the information to the Geoserver deployment.
391 6839 jones
392 6870 jones
The default settings are typically appropriate for most Metacat deployments,
393
but if you wish to skip the Geoserver configuration, click the Bypass button.
394
Geoserver (if deployed) will remain with a default configuration and the main
395
Metacat configuration screen will display the "bypassed" status beside the
396
Geoserver settings. You will be able to run Metacat, but maps will not be
397
rendered.
398 6839 jones
399
.. figure:: images/screenshots/image031.png
400
   :align: center
401
402 6870 jones
   Configuring Geoserver.
403 6839 jones
404 6885 jones
DataONE Configuration
405
~~~~~~~~~~~~~~~~~~~~~
406
Metacat can be configured to operate as a Member Node within the DataONE
407
federation of data repositories.  See :doc:`dataone` for background and details
408
on DataONE and details about configuring Metacat to act as a DataONE Member Node.
409
410
Replication Configuration
411
~~~~~~~~~~~~~~~~~~~~~~~~~
412
Metacat can be configured to replicate its metadata and/or data content to another
413
Metacat instance for backup and redundancy purposes, as well as to share data across
414
sites.  This feature has been used to create the Knowledge Network for Biocomplexity
415
(KNB), as well as other networks.  See :doc:`replication` for details on
416
the replication system and how to configure Metacat to replicate with another node.
417
418
.. Note::
419
420
  Note that much of the functionality provided by the replication subsystem in Metacat
421
  has now been generalized and standardized by DataONE, so consider utilizing the
422
  DataONE services for replication as it is a more general and standardized approach
423
  than this Metacat-specific replication system.  The Metacat replication system
424
  will be supported for a while longer, but will likely be deprecated in a future
425
  release in favor of using the DataONE replication approach.
426
427 6839 jones
Additional Configuration
428
------------------------
429
The most dynamic Metacat properties are managed and modified with the
430
form-based Metacat Configuration utility. These configuration properties can
431
also be accessed directly (along with additional static properties) via
432
Metacat's property files: ``metacat.properties`` (which contains global
433
properties, e.g., authorization and database values) and
434
``<SKIN_NAME>.properties`` (which contains skin-specific properties). Each of
435
these property files is discussed in more depth in this section.
436
437
The ``metacat.properties`` file
438
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
439
Metacat's ``metacat.properties`` file contains all of Metacat's global
440
properties, both the dynamic properties, which are managed with the
441
Configuration utility, as well as the more static properties, which can only
442
be modified manually in this file. The ``metacat.properties`` file also contains
443
optional properties that are only relevant when optional Metacat features
444
(such as the harvester or replication) are enabled. The `
445
`metacat.properties file`` is found here::
446
447
  <CONTEXT_DIR>/WEB_INF/metacat.properties
448
449
Where ``<CONTEXT_DIR>`` is the directory in which the Metacat application code
450 9386 leinfelder
lives (e.g., ``/var/lib/tomcat7/webapps/metacat``). The path is a combination
451
of the Web application directory (e.g., ``/var/lib/tomcat7/webapps/``) and
452 8265 leinfelder
the Metacat context directory (e.g., ``metacat``). Both values depend upon how your
453 6839 jones
system was set up during installation.
454
455
For information about each property and default or example settings, please
456
see the :doc:`metacat-properties`. Properties that can only be edited manually
457
in the metacat.properties file are highlighted in the appendix.
458
459
<SKIN_NAME>.properties
460
~~~~~~~~~~~~~~~~~~~~~~
461
The ``<SKIN_NAME>.properties`` file contains skin-specific properties
462
(e.g., template information). For each skin, the skin-specific properties are
463
found here::
464
465
  <CONTEXT_DIR>/style/skins/<SKIN_NAME>/<SKIN_NAME>.properties
466
467
Where ``<CONTEXT_DIR>`` is the directory in which the Metacat application code
468
lives (described above) and ``<SKIN_NAME>`` is the name of the skin
469
(e.g., ``default`` or ``nceas``).
470 8997 leinfelder
471
Additional configuration for Tomcat 7
472
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
473
When running Metacat on Tomcat 7, you may get the following
474
error logging in via the Morpho application: "Fatal error sending data to Metacat: Bad Set_Cookie header:JSESSIONID=...".
475
In order to fix the issue, modify <Catalina_HOME>/conf/context.xml
476
(e.g., /var/lib/tomcat7/conf/context.xml) by adding a new attribute - "useHttpOnly" - and set it to false for the "Context" element::
477
478
  <Context useHttpOnly="false">
479
480
Then restart Tomcat 7.