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. | Default:
tomcat5
Example: 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.
Valid values are oracle , postgresql , or
sqlserver . Note that sqlserver support is minimal and
probably will not work without substantial changes on your part,
possibly including code changes. We have not recently tested on
sqlserver.
|
Default:
postgresql
Other possible values: oracle
sqlserver
|
jdbc-connect | The JDBC connection string used to connect to the database. | Default:
jdbc-connect=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: ecoinformatics.org Examples: esa.org or sulphur.ecoinformatics.org |
Note that 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 (either 'oracle', 'postgresql', or 'sqlserver').
If you want to enable EarthGrid web services (including query, put, authentication and identifier interface), you should modify the following two properties:
install.ecogrid=true metacat.dir=your-current-metacat-direcotryOther 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}
|
inst.cgi.dir | Installation directory for registry CGI scripts | Default:
/var/www/cgi-knb
|
cgi-prefix | 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
|
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.