VIVO Documentation
Table of Contents | ||
---|---|---|
|
Be sure to review System Requirements before installing VIVO.
Anchor | ||||
---|---|---|---|---|
|
Download the distribution from the VIVO repository on GitHub. The standard distribution consists of the projects required to create a home directory for VIVO, and to copy the web application and search index. All the compiled code and dependencies are resolved from the Maven central repository at the time you run Maven.
The standard distribution is laid out as follows:
Code Block | ||
---|---|---|
| ||
vivo-1.10.0/ pom.xml example-settings.xml home/ pom.xml src webapp/ pom.xml src |
In order to fully install VIVO, you need to create a settings file that provides some essential information:
app-name
vivo-dir
tomcat-dir
This file needs to be created following the Maven Settings Reference. A template file already exists within the VIVO standard distribution, called "example-settings.xml". You may copy this file (it can be called anything you like), and edit the contents to fit your requirements / system configuration.
Make sure:
Once you have an appropriate settings file (these instructions will assume that you are using example-settings.xml - replace this with your actual file), you simply need to run Maven, specifying the install goal and your settings file.
Code Block | ||
---|---|---|
| ||
$ cd VIVO VIVO$ mvn install -s example-settings.xml [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [INFO] Reactor Build Order: [INFO] [INFO] Vitro [INFO] Vitro Dependencies [INFO] Vitro API [INFO] VIVO [INFO] VIVO API [INFO] Vitro Web App [INFO] VIVO Web App [INFO] Vitro Home [INFO] VIVO Home [INFO] VIVO Installer [INFO] VIVO Prepare Home [INFO] VIVO Prepare Web App [INFO] .... |
The VIVO home directory will now be created and the VIVO application installed to Tomcat.
In order to run VIVO, please read the section below "Completing the Installation".
Anchor | ||||
---|---|---|---|---|
|
In order to install the development code from GitHub, you need to clone both the Vitro and VIVO repositories from the vivo-project organization. These clones should be in sibling directories called "Vitro" and "VIVO" respectively:
Code Block | ||
---|---|---|
| ||
$ git clone https://github.com/vivo-project/Vitro.git Vitro -b rel-1.10-maint $ git clone https://github.com/vivo-project/VIVO.git VIVO -b rel-1.10-maint $ ls -l drwxr-xr-x user group 1 Dec 12:00 Vitro drwxr-xr-x user group 1 Dec 12:00 VIVO |
Note |
---|
If you do not place the Vitro code in a sibling directory called "Vitro", then you will have to supply the "vitro-core" property to Maven - e.g. mvn package -Dvitro-core=~/Vitro It is expected that the Maven project numbers are kept in sync between the Vitro / VIVO projects, however, depending on when you update / sync your repositories, you may need to adjust the project version numbers for the build to work. |
In order to fully install VIVO, you need to create a settings file that provides some essential information:
app-name
vivo-dir
tomcat-dir
This file needs to be created following the Maven Settings Reference. A template file already exists in the "installer" directory within the VIVO project, called "example-settings.xml". You may copy this file (it can be called anything you like), and edit the contents to fit your requirements / system configuration.
Make sure:
Once you have an appropriate settings file (these instructions will assume that you are using installer/example-settings.xml - replace this with your actual file), you simply need to run Maven, specifying the install goal and your settings file.
Code Block | ||
---|---|---|
| ||
$ cd VIVO VIVO$ mvn install -s installer/example-settings.xml [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [INFO] Reactor Build Order: [INFO] [INFO] Vitro [INFO] Vitro Dependencies [INFO] Vitro API [INFO] VIVO [INFO] VIVO API [INFO] Vitro Web App [INFO] VIVO Web App [INFO] Vitro Home [INFO] VIVO Home [INFO] VIVO Installer [INFO] VIVO Prepare Home [INFO] VIVO Prepare Web App [INFO] .... |
The VIVO home directory will now be created and the VIVO application installed to Tomcat. To run VIVO, please read the section below "Completing the Installation".
If you want to use the source code / GitHub clone with your own customizations, you can exclude the supplied installer project, and use your own customized installer project instead. To do so, you need to supply the location of your custom installer project as the "vivo-installer-dir" property. This can be done on the command line or in the settings.xml. If you are supplying a relative path, it should be relative to the location of the VIVO/pom.xml.
Code Block | ||
---|---|---|
| ||
$ cd VIVO VIVO$ mvn install -s installer/example-settings.xml -Dvivo-installer-dir=../myedu-vivo [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [INFO] Reactor Build Order: [INFO] [INFO] Vitro [INFO] Vitro Dependencies [INFO] Vitro API [INFO] VIVO [INFO] VIVO API [INFO] Vitro Web App [INFO] VIVO Web App [INFO] Vitro Home [INFO] VIVO Home [INFO] Custom VIVO Installer [INFO] Custom VIVO Prepare Home [INFO] Custom VIVO Prepare Web App [INFO] .... |
The VIVO home directory will now be created and the VIVO application installed to Tomcat, including any customizations that are defined in your local installer project. To run VIVO, please read the section below "Completing the Installation".
Anchor | ||||
---|---|---|---|---|
|
The default configuration of VIVO is to use MySQL as a backing store for Jena SDB. Whilst VIVO / Jena will create the necessary tables for the triple store, a database (schema) and authentication details need to have been created first. To do so, log in to MySQL as a superuser (e.g. root)
Code Block | ||
---|---|---|
| ||
$ mysql -u root -p Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.9 MySQL Community Server (GPL) Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> CREATE DATABASE vitrodb CHARACTER SET utf8; mysql> GRANT ALL ON vitrodb.* TO 'vitrodbUsername'@'localhost' IDENTIFIED BY 'vitrodbPassword'; |
For MySQL 8+, the second command must be split into two commands like so:
Code Block | ||
---|---|---|
| ||
mysql> CREATE USER 'vitrodbUsername'@'localhost' IDENTIFIED BY 'vitrodbPassword'; mysql> GRANT ALL PRIVILEGES ON vitrodb.* TO 'vitrodbUsername'@'localhost'; |
There are two configuration files that are required to be in the home directory. By default, the installer does not create them so that they are not overwritten when you redeploy the application. Instead, example files are created in the home directory, which can be copied and used as the basis for your installation.
Code Block | ||
---|---|---|
| ||
$ cd /usr/local/vivo/home/config /usr/local/vivo/home/config$ cp example.runtime.properties runtime.properties /usr/local/vivo/home/config$ cp example.applicationSetup.n3 applicationSetup.n3 |
Note | |||||
---|---|---|---|---|---|
| |||||
In order for your installation to work, you will need to edit
|
As of the 1.11.0 release of VIVO, Solr must be independently deployed and configured with the schema expected by VIVO. Then VIVO must be configured to connect to the external Solr.
The end result should be a directory structure such as:
No Format |
---|
${SOLR_HOME}/server/solr/vivocore/core.properties └── conf/ ├── currency.xml ├── elevate.xml └── ... |
Start Solr
No Format |
---|
${SOLR_HOME}/bin/solr start |
When solr was started it created the managed-schema automatically from the schema.xml and is no longer needed
Update VIVO runtime.properties as below to point to the URL of your Solr
No Format |
---|
vitro.local.solr.url = http://localhost:8983/solr/vivocore |
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 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:
export CATALINA_OPTS="-Xms512m -Xmx512m -XX:MaxPermSize=128m" |
This tells Tomcat to allocate an initial heap of 512 megabytes, a maximum heap of 512 megabytes, and a PermGen space of 128 megs. Larger values may be required, especially for production installations in large enterprises. In general, VIVO runs more quickly if given more memory.
If an OutOfMemoryError occurs during VIVO execution, increase the heap parameters and restart Tomcat.
VIVO is a multithreaded web application that may require more threads than are permitted under the default configuration of your operating system. Ensure that your installation can support the required number of threads for your application. For a Linux production environment you may wish to make the following edits to /etc/security/limits.conf, replacing apache and tomcat with the appropriate user or group name for your setup :
apache hard nproc 400 tomcat 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".
<Server ...> <Service ...> <Connector ... URIEncoding="UTF-8"/> ... </Connector> </Service> </Server> |
Some versions of Tomcat already include this attribute as the default. |
The webapp (VIVO) in the VIVO distribution 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.
If everything has been completed successfully, then you should simply be able to start Tomcat at this point, and VIVO will be available. If you are using a Tomcat supplied by your operating system / package manager, then use your normal means for starting the application server.
Otherwise, start Tomcat by running the startup script - e.g.
Code Block |
---|
$ /usr/local/tomcat/bin/startup.sh |
Anchor | ||||
---|---|---|---|---|
|
If you have completed the previous steps, you have good indications that the installation was successful.
Here is a simple test to see whether the ontology files were loaded:
Here is a test to see whether your system is configured to serve linked data:
Finally, test the search index.