Versions Compared

Key

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

...

Note

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

Property nameDefault valueExample value

vitro.core.dir

NONE./vitro-core
DescriptionThe directory where Vitro code is located. In most deployments, this is set to ./vitro-core (It is not uncommon for this setting to point elsewhere in development environments).
Default valueNONE
Example value./vitro-core
Property nameProperty nameDefault valueExample value

tomcat.home

NONE/usr/local/tomcat
DescriptionThe directory where tomcat is installed.
Default valueNONE
Example value/usr/local/tomcat
NONE The
Property nameProperty nameDefault valueExample value

webapp.name

DescriptionvivoThe name of your VIVO application. This is not a name that will be displayed to the user. This name appears in the URL used to access VIVO, and in the path to the VIVO directory within Tomcat.
Default valueNONE
Example valuevivo
 The
Property nameProperty nameDefault valueExample value

vitro.home

NONE/usr/local/vivo/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.

 

 

 

Property name

vitro.core.dir

DescriptionThe directory where Vitro code is located. In most deployments, this is set to ./vitro-core (It is not uncommon for this setting to point elsewhere in development environments).
Default valueNONE
Example value./vitro-core
Property name

tomcat.home

DescriptionThe directory where tomcat is installed.
Default valueNONE
Example value/usr/local/tomcat
Property name

webapp.name

DescriptionThe name of your VIVO application. This is not a name that will be displayed to the user. This name appears in the URL used to access VIVO, and in the path to the VIVO directory within Tomcat.
Default valueNONE
Example valuevivo
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.

At the command line, from the top level of the VIVO distribution directory, type:

Code Block
ant all

to build VIVO and deploy to Tomcat's webapps directory.

The build script may run for as much as five minutes, and creates more than 100 lines of output. The process comprises several steps:

  • collecting the source files from the distribution directory,
  • compiling the Java source code,
  • compiling and running unit tests,
  • preparing the Solr search engine,
  • deploying VIVO and Solr to Tomcat.

Did it work?

The output of the build may include a variety of warning messages. The Java compiler may warn of code that is outdated. Unit tests may produce warning messages, and some tests may be ignored if they do not produce consistent results.

BUILD SUCCESSFUL
Total time: 1 minute 49 seconds

If the output ends with a success message, the build was successful. Proceed to the next step.

BUILD FAILED
Total time: 35 seconds

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

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 the Compile and deploy step created a file called example.runtime.properties in your VIVO home directory (specified by vitro.home in the build.properties file). Rename this file to runtime.properties and edit the file to suit your installation, as described below.

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 the Compile and deploy step.

Note

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.

Basic properties

These properties define some fundamental aspects of your VIVO installation. Most sites will need to modify each of these values.

...

The default RDF namespace for this installation.

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

...

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

At the command line, from the top level of the VIVO distribution directory, type:

Code Block
ant all

to build VIVO and deploy to Tomcat's webapps directory.

The build script may run for as much as five minutes, and creates more than 100 lines of output. The process comprises several steps:

  • collecting the source files from the distribution directory,
  • compiling the Java source code,
  • compiling and running unit tests,
  • preparing the Solr search engine,
  • deploying VIVO and Solr to Tomcat.

Did it work?

The output of the build may include a variety of warning messages. The Java compiler may warn of code that is outdated. Unit tests may produce warning messages, and some tests may be ignored if they do not produce consistent results.

BUILD SUCCESSFUL
Total time: 1 minute 49 seconds

If the output ends with a success message, the build was successful. Proceed to the next step.

BUILD FAILED
Total time: 35 seconds

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

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 the Compile and deploy step created a file called example.runtime.properties in your VIVO home directory (specified by vitro.home in the build.properties file). Rename this file to runtime.properties and edit the file to suit your installation, as described below.

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 the Compile and deploy step.

Note

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.

Basic properties

These properties define some fundamental aspects of your VIVO installation. Most sites will need to modify all of these values.

Property name

Vitro.defaultNamespace

Description

The default RDF namespace for this installation.

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).
Default valueNONE
Example valuehttp://vivo.mydomain.edu/individual/
Property name

rootUser.emailAddress

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

Default valueNONE
Example valuevivoAdmin@my.domain.edu
Property name

VitroConnection.DataSource.url

Description Specify the JDBC URL of your database. Change the end of the URL to reflect your database name (if it is not "vivo").
Default valueNONE
Example valuejdbc:mysql://localhost/vivo
Property name

VitroConnection.DataSource.username

Description Change the username to match the authorized user you created in MySQL.
Default valueNONE
Example valueusername
Property name

VitroConnection.DataSource.password

Description Change the password to match the password you created in MySQL.
Default valueNONE
Example valuepassword
Property name

email.smtpHost

DescriptionSpecify 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.
Default valueNONE
Example valuesmtp.servername.edu
Property name

email.replyTo

DescriptionSpecify 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.
Default valueNONE
Example valuevivoAdmin@my.domain.edu

...

These are properties that many sites will not need to modify.

Property name

vitro.local.solr.url

Description

URL of Solr context used in local VIVO search. Should consist of:

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

Default valueNONE
Example valuehttp://localhost:8080/vivosolr

...

The runtime.properties file can accept many additional properties, but most of them don't apply to the standard installation. If you choose any of the Installation options, you may need to set some of these properties.

 

 

Property name

XXX

Description 
Default valueNONE
Example valuexxx

...