Deprecated. This material represents early efforts and may be of interest to historians. It doe not describe current VIVO efforts.
...
This document tells you how to install VIVO on your computer.
...
For information about this release, consult
...
the VIVO 1.6 Release Announcement. Links to this and other documentation can be found on the support page at VIVOweb.org.
Note |
---|
These instructions assume that you are performing a clean install |
...
. If you are upgrading an existing |
...
service, |
...
please consult the |
...
Upgrade Instructions for VIVO release 1.6. VIVO may not work as expected if you install over an an earlier version |
...
. |
The latest release of VIVO can be found at the download page of VIVOweb.org. VIVO is distributed as source code, which you will use to build the application. This is because almost all site want to add their own customizations to VIVO.
These instructions will lead you through the process of building and installing VIVO.
VIVO is also available as a "virtual appliance", which you not need to build. We rely on the VIVO community to create new versions of the virtual appliance, so you may not find one that contains the latest release of VIVO. The latest virtual appliance can be found at the download page of VIVOweb.org.
VIVO is a research networking application that is built around a general-purpose RDF editor and browser named Vitro. VIVO packages Vitro with a display theme, an ontology, and many customizations. You will see references to Vitro occasionally in the installation instructions. For example, setting a property named vitro.home
where you might expect to see vivo.home
instead.
Remember that VIVO is a customization of Vitro.
The section entitled A simple installation describes a standard, simple installation for those who want to get VIVO up and running. The second called Installation options section describes several choices; some are intended for a full-scale production installation of VIVO, and some are intended for a person who is developing VIVO on their own machine.
This section describes the process of getting VIVO up and running on your computer, for testing or experimentation, or just to gain familiarity with the process.
If you want to install VIVO on a production server, or if you want to develop VIVO code, you should also read the section on Installation options.
...
Before beginning the installation, let's look at you should be aware of the four locations on your computer that will hold VIVO.
...
This is created when you unpack the VIVO distribution file (see Download the VIVO source code, below). This is where you will create your build.properties file (see Specify build properties, below), and where you will make any modifications to the VIVO theme or code. You can create this wherever you choose.
...
When you run the build script to compile and deploy VIVO (see Compile and deploy, below), the files will be deployed to a directory inside Tomcat. This is the actual executing code for VIVO, but you won’t need to look at it or change it. If you need to change VIVO, make the changes in the distribution directory, and run the build script again. Tell the build script where to find Tomcat by setting tomcat.home
in the build.properties file (see Specify build properties, below).
This directory contains the runtime configuration properties for VIVO. VIVO will also use this area to store some of its data. Uploaded image files are stored here, and the Solr search index is stored here also. This is also a place for the files or of RDF data that will initialize the VIVO knowledge base. You can create this wherever you choose. Tell VIVO where to find the home directory by setting vitro.home
in the build.properties file (see Specify build properties, below). You must create this directory before starting VIVO. You must create the runtime.properties
file in this directory (see Specify runtime properties, below), and you must ensure that Tomcat has permission to read and write to this directory when it runs.
By default, nearly Nearly all of the data that you enter into VIVO will be stored in a MySQL database. The actual location of this data depends on what system you have, and on how you install MySQL (see Install required software, below). but you won’t need to know the location. You will access the data through VIVO, or occasionally through the MySQL client application.
Note |
---|
Depending on your Installation options, these directories four locations may have be in different locationsplaces, or may be specified in different ways. They may even exist on different computers. Regardless of the options, these four locations are important for any installation of VIVO. |
Before installing VIVO, make sure that the following software is installed on the desired machine:
Be sure to set up the environment variables for JAVA_HOME
and ANT_HOME
and add the executables to your path, as required. This requirement depends on the operating system you are using. Consult the installation directions from the software support websites.
The following browsers are supported for this release
You can test the software installation by typing these commands:
Code Block |
---|
java -version
mysql --version
ant -version |
Each of these command should print a response that tells you what version is installed. If any of these commands prints an error message, or reports an unexpected version number, you should review your installation.
Decide on a database name, username, and password.You will need these values for this step, and again when you Specify runtime properties.
Log into your MySQL server and create a new database in MySQL that uses UTF-8 encoding
. At the MySQL command line you can create the database and user with these commands substituting your values for dbname
, username
, and password
. Most of the time, the hostname will be localhost
.
Code Block |
---|
CREATE DATABASE dbname CHARACTER SET utf8;
GRANT ALL ON dbname.* TO 'username'@'hostname' IDENTIFIED BY 'password'; |
Download the VIVO application source as either rel-1.6.zip
or rel-1.6.gz
file and unpack it on your web server:
http://vivoweb.org/download
At the top level of the VIVO distribution directory, copy the file example.build.properties
to a file named simply build.properties
. Edit the file to suit your installation, as described in the following table.
These properties are used in compiling VIVO and deploying it to Tomcat. They will be incorporated into VIVO when it is compiled. If you want to change these properties at a later date, you will need to stop Tomcat, repeat the Compile and deploy step, and restart Tomcat.
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. |
Property name |
|
---|---|
Description | The 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 value | NONE |
Example value | ./vitro-core |
Property name |
|
---|---|
Description | The directory where tomcat is installed. |
Default value | NONE |
Example value | /usr/local/tomcat |
Property name |
|
---|---|
Description | The 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 value | NONE |
Example value | vivo |
Property name |
|
---|---|
Description | The 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 value | NONE |
Example value | /usr/local/vivo/home |
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:
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.
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.
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 |
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. |
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.
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. |
Property name |
|
---|---|
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 value | NONE |
Example value | http://vivo.mydomain.edu/individual/ |
Property name |
|
---|---|
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 value | NONE |
Example value | vivoAdmin@my.domain.edu |
Property name |
| ||
---|---|---|---|
Description | URL of Solr context used in local VIVO search. Should consist of:
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 value | NONE | ||
Example value | http://localhost:8080/vivosolr |
Property name |
|
---|---|
Description | 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. |
Default value | NONE |
Example value | smtp.servername.edu |
Property name |
|
---|---|
Description | 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. |
Default value | NONE |
Example value | vivoAdmin@my.domain.edu |
Property name |
|
---|---|
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 value | NONE |
Example value | jdbc:mysql://localhost/vivo |
Property name |
|
---|---|
Description | Change the username to match the authorized user you created in MySQL. |
Default value | NONE |
Example value | username |
Property name |
|
---|---|
Description | Change the password to match the password you created in MySQL. |
Default value | NONE |
Example value | password |
Property name |
|
---|---|
Description | |
Default value | NONE |
Example value | xxx |
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.maxActive | 40 |
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.maxIdle | 10 |
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.dbtype | MySQL |
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.driver | com.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.validationQuery | SELECT 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 | |
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.idMatchingProperty | http://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.netIdHeaderName | remote_userID |
The temporal graph visualization can require extensive machine resources. This can have a particularly noticable impact on memory usage if
| |
visualization.temporal | enabled |
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.topLevelOrg | http://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.eligibleTypeList | http://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.createCacheHeaders | true |
Show only the most appropriate data values based on the Accept-Language header supplied by the browser. Default is false if not set. | |
RDFService.languageFilter | false |
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.forceLocale | en_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.selectableLocales | en, 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 = enabled | enabled |
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=disabled | disabled |
Warning |
---|
TBD |
Warning |
---|
TBD |
Warning |
---|
TBD |
Warning |
---|
TBD |
Warning |
---|
TBD |
Warning |
---|
TBD |
Warning |
---|
TBD |
Warning |
---|
TBD |
Warning |
---|
TBD |
Warning |
---|
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. |
Warning |
---|
TBD |
Warning |
---|
TBD |
Warning |
---|
TBD |
Warning |
---|
Optional external triple storeVIVO can configured to use a different triple store for the bulk of its semantic data, so long as this triple store supports Web-based use of the SPARQL language to query and modify its data. If you elect to use a separate triple store, note that VIVO's MySQL database is still required for basic configuration and user account data. In order to connect VIVO to an external triple store, you will need to know two URIs: the store's endpoint URI for issuing SPARQL queries that read data, and its URI for issuing SPARQL UPDATE commands. These URIs are typically kept separate in order to make it easier to secure the triple store against unauthorized edits. With Sesame, for example, the update URI is usually the query endpoint URI with "/statements" appended. You will need to know these two URIs later when you specify runtime properties. |
Warning |
---|
TBD |
Warning |
---|
TBD |
Warning | ||||
---|---|---|---|---|
|
Warning |
---|
TBD |
Warning | ||||
---|---|---|---|---|
|
Warning |
---|
TBD |
When you have VIVO up and running, please read the Site Administrator's Guide.
Children Display | ||||||||
---|---|---|---|---|---|---|---|---|
|
0