Metacat UNIX Installation Instructions
|
|||||||
KNB Home | Data | People | Informatics | Biocomplexity | Education | Software |
***Disclaimer*** |
These installation instructions are meant for a systems administrator/DBA or someone who is an advanced computer user. They are NOT meant for the average computer user. Please realize that by executing these instructions, you may have to trouble shoot many advanced issues yourself. |
Operating System Specific Instructions |
These documents are meant to outline the metacat installation process on specific platforms. They are not a substitute for the below instructions and only meant as a supplemental guideline. |
Pre-Installation |
Minimum Requirements Installing Metacat requires a server running an SQL92 compliant database (Oracle 8i or Postgresql recommended) with at least 128MB RAM, and a Pentium III class processor or higher. The amount of disk space required depends on the size of your RDBMS tablespace (which should be at least 10 MB, however Metacat itself requires only about 1 MB of free space after installation). These instructions assume a Linux environment but may work on other UNIX type environments, however this has not been tested. Additional Required Software The server on which you wish to install Metacat must have the following software installed and running correctly before attempting to install Metacat.
|
Aditional Software Setup |
Java You'll need a recent Java SDK; J2SE 1.4.2 or later is required. The latest metacat release has been tested most extensively with J2SE 5.0 and this is the recommended version. Make sure that JAVA_HOME environment variable is properly set and that both java and javac are on your PATH. Oracle 8i or Postgres Oracle: lsnrctl startYour instance should have a table space of at least 5 MB (10 MB or higher recommended). You should also have a username specific to Metacat created and enabled. This user must have most normal permissions including CREATE SESSION, CREATE TABLE, CREATE INDEX, CREATE TRIGGER, EXECUTE PROCEDURE, EXECUTE TYPE, etc. If an action is unexplainably rejected by Metacat it is probably because the user permissions are not correctly set. Postgres:
Ant Ant is a Java based build application similar to Make on UNIX systems. It takes in installation parameters from a file in the root installation directory named "build.xml". The Metacat CVS module contains a default build.xml file that may require some modification upon installation. Ant should be installed on the system and the "ant" executable shell script should be available in the users path. The latest metacat release was tested with Ant 1.6.5. Tomcat Install Tomcat into the directory of your choice. The directory in which you install Tomcat itself will be referred to as the "$CATALINA_HOME". We recommend that you install Tomcat version 5.5. More details about Tomcat installation are available here. |
Once all of the prerequisite software is installed as described above, the installation of Metacat can begin. First you must have a current version of the source distribution of Metacat. You can get it two ways. Authorized users can check it out of the NCEAS CVS system. You'll need both the "metacat" module and the "utilities" module to be checked out in sibling directories. The command is as follows: mkdir knb-software cd knb-software cvs checkout -P metacat cvs checkout -P utilitiesOr you can download a gzipped tar file from this site. Edit
|
Property | Description | Default value and examples of other values |
tomcat | The tomcat property is the location in which tomcat is installed. | Default:
/usr/local/devtools/jakarta-tomcat
Example: C:/Tomcat-5.5 |
deploy.dir | The deploy.dir property is the location in which your tomcat servlet contexts are deployed. This is typically "${tomcat}/webapps", where ${tomcat} is the same value that you entered for the 'tomcat' property above. | Default:
/var/www/org.ecoinformatics.knb
Example: C:/Tomcat-5.5/webapps
|
tomcatversion | The tomcatversion property is the version of Tomcat in which you
want Metacat to run. This will determine the location of some
jar files coming with Tomcat.
Note: Tomcat 3 and 4 are no longer tested or supported by Metacat. Users are highly encouraged to upgrade to Tomcat 5.5. Also note: a property value of 'tomcat5' can be set when using either Tomcat 5.0 or Tomcat 5.5. |
Default:
tomcat5
Other possible values (deprecated): tomcat3 tomcat4
|
metacat.context | The metacat.context property is the name of the servlet context in which you want Metacat to be installed. This will determine the installation directory for the servlet and many of the URLs that are used to access the installed Metacat server. | Default:
knb
Example: mycontext
|
config.hostname | The config.hostname property is the hostname of the server on which Metacat is running (note that you should not include the 'http://' in the config.hostname property). | Default:
knb.ecoinformatics.org
Example: somehost.university.edu
|
config.port | The config.port property is the HTTP plain port number that is used to connect to Metacat. If Tomcat is running stand-alone, the value will typically be 8080. | Default:
80
Example: 8080
|
config.port.https | The config.port.https property is the HTTP secure port number that is used to connect to Metacat, generally when replicating documents to and from other Metacat servers. If Tomcat is running stand-alone, the value will typically be 8443. | Default:
443
Example: 8443
|
ldapUrl | URL to the LDAP server. The LDAP server is used in the default authentication module to authenticate and identify users of the system. To participate in the KNB network, you should leave this at the default. But it can be changed if you want to use a different directory of users. | Default:
ldap://ldap.ecoinformatics.org/dc=ecoinformatics,dc=org
|
database | Select the database to use for metadata storage.
The build file is preconfigured to install Metacat either using Oracle, PostgreSQL, or Microsoft SQL Server as a backend database. To change the database system, simply change the value of the 'database' property to be the name of the database target that you wish to use.
Valid values are |
Default:
postgresql
Other possible values: oracle
sqlserver
|
jdbc-connect | The JDBC connection string used to connect to the database. | Default:
jdbc:postgresql://localhost/metacat
Example: jdbc:oracle:thin:@somehost.university.edu:1521:metacat
|
jdbc-base | The base directory for locating JDBC jar files. When using the postgresql database, the default setting of './lib' can be used, while oracle and sqlserver databases will require a different setting since these jar files are not included in the Metacat distribution. | Default:
./lib
Example: /usr/oracle/jdbc/lib |
user | The database user name that you set up to use Metacat. | Default:
metacat
Example: metacatuser
|
password | The database password that you set up to use Metacat. | Default:
yourPasswordHere
Example: metacat123
|
datafilepath | The datafilepath is the directory to store data files. | Default:
/var/metacat/data
Example: C:/Tomcat-5.5/data/metacat/data
|
inlinedatafilepath | The inlinedatafilepath is the directory to store inline data that has been extracted from EML documents. | Default:
/var/metacat/inline-data
Example: C:/Tomcat-5.5/data/metacat/inlinedata
|
default-style | The default-style parameter defines the "style-set" that is to be used by default when the qformat parameter is missing or set to "html" during a query. It is set to "default", which is one of the styles that ships with the default metacat distribution. Other possible settings are shown in the examples to the right. | Default:
default
Examples: esa kepler knb knb2 knp lter ltss nceas nrs obfs pisco specnet
|
administrators | The administrators parameter lists the accounts that are allowed to perform administrative actions such as rebuilding indices for documents. The list can contain more than one account separated by colons. | Default:
uid=jones,o=NCEAS,dc=ecoinformatics,dc=org
Examples: uid=localadmin,o=ucnrs.org
|
authority.context | This is the context for the (Life Sciences Identifier) LSID authority. LSID support is an optional feature which can be configured to provide metacat access to LSID clients. For more information on LSID's see TDWG site. | Default: authority |
config.lsidauthority | This is the name of the LSID authority that this metacat should use. This authority needs to be defined as SRV record in a DNS. | Default: Examples: |
install.ecogrid | Enables EarthGrid web services. EarthGrid web services are disabled by default.
To enable EarthGrid web services (including query, put, authentication and
identifier interface), set this value to true , and also set the value
of the metacat.dir property as detailed below. |
Default: false
|
metacat.dir | If the install.ecogrid property (see above) is set to true , this
property should be set to the absolute path of the top-level metacat directory.
If install.ecogrid is set to false (the default setting),
the value of metacat.dir is ignored.
|
Default: /home/tao/project/metacat |
Other properties in build.properties
that you can (but generally need not) change:
Property | Description | Default value and examples of other values |
server | The server property is the hostname and port number of the server that Metacat uses
for replicating documents to and from other Metacat servers, which should be with the secure (HTTPS) port.
Since this property is usually composed of the config.hostname and config.port.https properties (described above),
the default setting can be used in most cases.
|
Default: ${config.hostname}:${config.port.https} |
httpserver | httpserver is the plain HTTP address and port number that Metacat uses for purposes
other than replication. Since this property is usually composed of the config.hosthame and config.port
properties (described above), the default setting can be used in most cases. |
Default: ${config.hostname}:${config.port}
|
http.protocol | http.protocol is the string used in the leading part of a URL to indicate use of the HTTP protocol. | Default: http
|
config.metacatserver | The URL to the metacat server, composed in part from three other properties (http.protocol, httpserver, and metacat.context). | Default: ${http.protocol}://${httpserver}/${metacat.context}/metacat
|
inst.cgi.dir | Installation directory for registry CGI scripts | Default:
/var/www/cgi-knb
|
cgi-prefix | The URL used for executing CGI scripts | Default:
http://${httpserver}/cgi-bin
|
cvsroot | CVS access to retrieve latest EML. Only used by developers in building the release. | Default:
Example:
|
knb-site-url | This is the URL to the web context root for the knb site. It is used for the qformat=knb skin only. | Default:
http://knb.ecoinformatics.org
|
timedreplication | Determines whether timed replication to other metacat servers is being used. | Default:
false
Other possible values: true
|
firsttimedreplication | The time for starting first timed replication if timedreplication is true. (See comments in build.properties file for additional details.) | Default:
10:00 PM
|
timedreplicationinterval | The interval to next timed replication if timedreplication is true. The value is in milliseconds and default value is 48 hours. | Default:
172800000
|
forcereplicationwaitingtime | The waiting time before replication is forced to begin after uploading a package. The default value should usually suffice. | Default:
30000
|
log.dir | The directory where replication log files are to be written by Metacat. | Default: ${tomcat}/logs |
moderators | Moderator accounts, in a colon-separated list. Specifies a list of special users who can review a general user's submission. Moderators can approve, revise and reject the submission after reviewing. This property is only used in the ESA skin. | Default: cn=knb-prod,o=NCEAS,dc=ecoinformatics,dc=org |
allowedSubmitters | Specifies the list of users who should be allowed to submit documents. If no value is specified (the default setting), all users will be allowed to submit documents. | Default: (no value) |
deniedSubmitters | Specify the list of users who should not be allowed to submit documents. If no value is specified (the default setting), all users will be allowed to submit documents. | Default: (no value) |
config.metadataLabelLsid | Default: ${config.lsidauthority} |
|
build.dir | The name of the subdirectory that is created when metacat is built by the 'ant' tool. | Default: build |
lsid.build.dir | The name of the subdirectory for building the LSID component of metacat. | Default: ${build.dir}/lsid |
lib.dir | The name of the subdirectory where library (.jar) files and a number of other important files are located. | Default: lib |
lsid.lib.dir | The name of the subdirectory where LSID library (.jar) files are located. | Default: ${lib.dir}/lsid_lib |
lsid.classes.dir | The relative path to the location of Java classes that support LSID. | Default: edu/ucsb/nceas/metacat/lsid |
conf.dir | The name of the directory where LSID configuration files are located. | Default: lib/lsid_conf |
services.dir | The name of the directory where LSID services configuration files are located. | Default: ${conf.dir}/services |
webinf.dir | The name of the directory where additional LSID web services files are located. | Default: ${conf.dir}/WEB-INF |
compile.debug | Indicates whether Java source should be compiled with debug information. | Default: true |
compile.deprecation | Indicates whether Java source should be compiled with deprecation information. | Default: false |
compile.optimize | Indicates whether Java source should be compiled with optimization. | Default: true |
indexPaths | The indexPaths property specifies a comma-separated (potentially long) list
of indexed paths that can be utilized to improve the
performance of metacat queries. Each component of the indexPaths property
should specify an absolute or relative path (using an XPath-like syntax) to an XML element or
attribute present in the XML documents being queried. Metacat stores XML
element and attribute values for indexed paths in a special database table
that optimizes search performance.
Metacat queries allow you to specify (using the <pathexpr> tag in search query) an exact path to which you want to restrict the search. When the <pathexpr> path that is specified in the query is a member of the indexPaths list, search results are returned faster because metacat can conduct its search using the optimized database table. The default value for the indexPaths property contains numerous paths to EML elements and attributes that are commonly queried by metacat search tools. For example, keyword is a member of this list because it is common for search tools to query the keyword field in EML documents. For most purposes, the default value will optimize various types of searches on EML documents and need not be changed. For more information about metacat queries, see Queries and Results. |
Default: organizationName,originator/individualName/surName,... |
Metacat has a number of additional settable properties in file
lib/metacat.properties
. Under most circumstances,
you will not need to modify this file because the properties of interest
to you can be controlled by editing build.properties
as
described above. To learn more about Metacat's additional properties,
see Metacat Properties File.
Note: When setting properties, DO NOT add a trailing slash [/] to the end of any paths that are specified. Metacat will not function correctly if you do so.