Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
maxLevel3
outlinetrue
stylenone

Note
This document applies to VIVO release 1.6. For documents that apply to other releases, please consult the Documentation Archive page.

...

Property name

vitro.home

DescriptionThe directory where VIVO will store the data that it creates. This includes uploaded files (usually images) and the Solr search index. Be sure this directory exists and is writable by the Tomcat service.
Default valueNONE
Example value/usr/local/vivo/home

Compile and deploy

...

In the previous step, you defined the location of the VIVO home directory, by specifying vitro.home in the build.properties file. If that directory does not exist, create it now.

...

If the output ends with a failure message, the build has failed. Find the cause of the failure, fix the problem, and run the script again.

Running VIVO

...

Configure Tomcat

Warning
TBD

Specify runtime properties

...

Set JVM parameters

VIVO copies small sections of your RDF database into memory in order to serve Web requests quickly (the in-memory copy and the underlying database are kept in synch as edits are performed).

VIVO may require more memory than that allocated to Tomcat by default. With most installations of Tomcat, the setenv.sh or setenv.bat file in Tomcat's bin directory is a convenient place to set the memory parameters. If this file does not exist in Tomcat's bin directory, you can create it.
For example:

Code Block
export CATALINA_OPTS="-Xms512m -Xmx512m -XX:MaxPermSize=128m"

This configures Tomcat to allocate an initial heap of 512 megabytes, a maximum heap of 512 megabytes, and a PermGen space of 128 megs. Lower values may be sufficient, especially for small test installations.

If an OutOfMemoryError is encountered during VIVO execution, it can be remedied by increasing the heap parameters and restarting Tomcat.

Set security limits

VIVO is a multithreaded web application that may require more threads than are permitted under your Linux installation's default configuration. Ensure that your installation can support the required number of threads by making the following edits to /etc/security/limits.conf:

Code Block
apache	hard	nproc	400
tomcat6	hard	nproc	1500

Set URI encoding

In order for VIVO to correctly handle international characters, you must configure Tomcat to conform to the URI standard by accepting percent-encoded UTF-8.

Edit Tomcat's conf/server.xml and add the following attribute to each of the Connector elements: URIEncoding="UTF-8".

Code Block
<Server ...>
  <Service ...>
    <Connector ... URIEncoding="UTF-8"/>
      ...
    </Connector>
  </Service>
</Server>
Note

Some versions of Tomcat already include this attribute as the default.

Take care when creating Context elements

Each of the webapps in the VIVO distribution (VIVO and Solr) includes a "context fragment" file, containing some of the deployment information for that webapp.

Tomcat allows you to override these context fragments by adding Context elements to server.xml. If you decide to do this, be sure that your new Context element includes the necessary deployment parameters from the overridden context fragment.

See the section entitled Running VIVO behind an Apache server for an example of overriding the VIVO context fragment.

Specify runtime properties

Warning
TBD

The build process in Step 5 created a file called example.runtime.properties in your VIVO home directory (vitro.home in the build.properties file). Rename this file to runtime.properties, and edit the file to suit your installation, as described in the following table.

These properties are loaded when VIVO starts up. If you want to change these properties at a later date, you will need to restart Tomcat for them to take effect. You will not need to repeat Step 5.

Windows: For those installing on Windows operating system, include the windows drive and use the forward slash "/" and not the back slash "\" in the directory locations, e.g. c:/tomcat.

External authentication: If you want to use an external authentication system like Shibboleth or CUWebAuth, you will need to set an additional property in this file. See the step below entitled Using an External Authentication System with VIVO.

Property NameExample Value
Default namespace: VIVO installations make their RDF resources available for harvest using linked data. Requests for RDF resource URIs redirect to HTML or RDF representations as specified by the client. To make this possible, VIVO's default namespace must have a certain structure and begin with the public web address of the VIVO installation. For example, if the web address of a VIVO installation is "http://vivo.example.edu/" the default namespace must be set to "http://vivo.example.edu/individual/" in order to support linked data. Similarly, if VIVO is installed at "http://www.example.edu/vivo" the default namespace must be set to "http://www.example.edu/vivo/individual/"
* The namespace must end with "individual/" (including the trailing slash).
Vitro.defaultNamespacehttp://vivo.mydomain.edu/individual/
URL of Solr context used in local VIVO search. Should consist of:
    scheme + servername + port + vivo_webapp_name + "solr"
In the standard installation, the Solr context will be on the same server as VIVO, and in the same Tomcat instance. The path will be the VIVO webapp.name (specified above) + "solr"
vitro.local.solr.urlhttp://localhost:8080/vivosolr
Specify an SMTP host that the application will use for sending e-mail (Optional). If this is left blank, the contact form will be hidden and disabled, and users will not be notified of changes to their accounts.
email.smtpHostsmtp.servername.edu
Specify an email address which will appear as the sender in e-mail notifications to users (Optional). If a user replies to the notification, this address will receive the reply. If a user's e-mail address is invalid, this address will receive the error notice. If this is left blank, users will not be notified of changes to their accounts.
email.replyTovivoAdmin@my.domain.edu
Specify the JDBC URL of your database. Change the end of the URL to reflect your database name (if it is not "vivo").
VitroConnection.DataSource.urljdbc:mysql://localhost/vivo
Change the username to match the authorized user you created in MySQL.
VitroConnection.DataSource.usernameusername
Change the password to match the password you created in MySQL.
VitroConnection.DataSource.passwordpassword
Specify the maximum number of active connections in the database connection pool to support the anticipated number of concurrent page requests. It is not necessary to adjust this value when using the RDB configuration.
VitroConnection.DataSource.pool.maxActive40
Specify the maximum number of database connections that will be allowed to remain idle in the connection pool. Default is 25% of the maximum number of active connections.
VitroConnection.DataSource.pool.maxIdle10
Change the dbtype setting to use a database other than MySQL. Otherwise, leave this value unchanged. Possible values are DB2, derby, HSQLDB, H2, MySQL, Oracle, PostgreSQL, and SQLServer. Refer to http://openjena.org/wiki/SDB/Databases_Supported for additional information.
VitroConnection.DataSource.dbtypeMySQL
Specify a driver class name to use a database other than MySQL. Otherwise, leave this value unchanged. This JAR file for this driver must be added to the the webapp/lib directory within the vitro.core.dir specified above.
VitroConnection.DataSource.drivercom.mysql.jdbc.Driver
Change the validation query used to test database connections only if necessary to use a database other than MySQL. Otherwise, leave this value unchanged.
VitroConnection.DataSource.validationQuerySELECT 1
Set the endpointURI only if you wish to store semantic data in an external triple store instead of MySQL. Enter the URI of the triple store's SPARQL endpoint for querying data.
VitroConnection.DataSource.endpointURI
Set the updateEndpointURI only if you wish to store semantic data in an external triple store instead of MySQL. Enter the URI at which the triple store responds to SPARQL UPDATE requests. This setting is only necessary if the triple store does not support updates via its main URI. If the endpointURI above is not set, this setting has no effect.
VitroConnection.DataSource.updateEndpointURI
Specify the email address of the root user account for the VIVO application. This user will have an initial temporary password of 'rootPassword'. You will be prompted to create a new password on first login.

NOTE: The root user account has access to all data and all operations in VIVO. Data views may be surprising when logged in as the root user. It is best to create a Site Admin account to use for every day administrative tasks.

rootUser.emailAddressvivoAdmin@my.domain.edu
The URI of a property that can be used to associate an Individual with a user account. When a user logs in with a name that matches the value of this property, the user will be authorized to edit that Individual (the value of the property must be either a String literal or an untyped literal).
selfEditing.idMatchingPropertyhttp://vivo.mydomain.edu/ns#networkId
If an external authentication system like Shibboleth or CUWebAuth is to be used, this property says which HTTP header will contain the user ID from the authentication system. If such a system is not to be used, leave this commented out.
externalAuth.netIdHeaderNameremote_userID
The temporal graph visualization can require extensive machine resources. This can have a particularly noticable impact on memory usage if
  • The organization tree is deep,
  • The number of grants and publications is large.
VIVO V1.4 (and later) mitigates this problem by the way of a caching mechanism and hence we can safely set this to be enabled by default.
visualization.temporalenabled
The temporal graph visualization is used to compare different organizations/people within an organization on parameters like number of publications or grants. By default, the app will attempt to make its best guess at the top level organization in your instance. If you're unhappy with this selection, uncomment out the property below and set it to the URI of the organization individual you want to identify as the top level organization. It will be used as the default whenever the temporal graph visualization is rendered without being passed an explicit org. For example, to use "Ponce School of Medicine" as the top organization:
visualization.topLevelOrg = http://vivo.psm.edu/individual/n2862
visualization.topLevelOrghttp://vivo-trunk.indiana.edu/individual/topLevelOrgURI
An absolute file path, pointing to the root directory of the Harvester utility. You must include the final slash.
harvester.location/usr/local/vivo/harvester/
Types of individual for which we can create proxy editors. If this is omitted, defaults to http://www.w3.org/2002/07/owl#Thing
proxy.eligibleTypeListhttp://xmlns.com/foaf/0.1/Person, http://xmlns.com/foaf/0.1/Organization
Tell VIVO to generate HTTP headers on its responses to facilitate caching the profile pages that it creates. This can improve performance, but it can also result in serving stale data. Default is false if not set. For more information, see the VIVO wiki page: Use HTTP caching to improve performance
http.createCacheHeaderstrue
Show only the most appropriate data values based on the Accept-Language header supplied by the browser. Default is false if not set.
RDFService.languageFilterfalse
Force VIVO to use a specific language or Locale instead of those specified by the browser. This affects RDF data retrieved from the model, if RDFService.languageFilter is true. This also affects the text of pages that have been modified to support multiple languages.
languages.forceLocaleen_US
A list of supported languages or Locales that the user may choose to use instead of the one specified by the browser. Selection images must be available in the i18n/images directory of the theme. This affects RDF data retrieved from the model, if RDFService.languageFilter is true. This also affects the text of pages that have been modified to support multiple languages.
languages.selectableLocalesen, es, fr_FR
On the VIVO home page, display a global map highlighting the geographical focus of foaf:person individuals. The default is enabled.
homePage.geoFocusMaps = enabledenabled
MultiViews for foaf:person profile pages. VIVO supports the simultaneous use of a full foaf:Person profile page view and a "quick" page view that emphasizes the individual's own webpage presence. Implementing this feature requires an installation to develop a web service that captures images of web pages or to use an existing service outside of VIVO, usually for a small fee. The default is disabled.
MultiViews.profilePageTypes=disableddisabled

Start Tomcat

Warning
TBD

Was the installation successful?

...