
Split deploy.properties into build.properties and runtime.properties, with runtime.properties going into the Vitro home directory. Modify ConfigurationProperties to locate the Vitro home directory, either by System property or JNDI Environment variable, or from build.properties, and to read from both build.properties and runtime.properties. Revise the install and upgrade documents for VIVO and Vitro. Change comments and error messages that referred to deploy.properties by name.
1211 lines
58 KiB
HTML
1211 lines
58 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||
<meta charset="utf-8">
|
||
<title>VIVO Release V1.5 Installation Guide</title>
|
||
<link rel="stylesheet" href="./css/doc.css" media="screen">
|
||
</head>
|
||
<body>
|
||
<div id="branding" role="banner">
|
||
<h1 class="vivo-logo"><a href="http://vivoweb.org"><span class="displace">VIVO</span></a></h1>
|
||
</div>
|
||
<!-- Start of content -->
|
||
<div id="wrapper-content" role="main">
|
||
<h1>VIVO Release V1.5 Installation Guide</h1>
|
||
<div>
|
||
June 30, 2012
|
||
</div>
|
||
|
||
<p>
|
||
This document is a summary of the VIVO installation
|
||
process. For information about this release, consult
|
||
the <a href="release.html">VIVO v1.5 Release
|
||
Announcement</a>. This and other documentation can be found on
|
||
the <a href="http://vivoweb.org/support">support
|
||
page</a> at <a href="http://vivoweb.org">VIVOweb.org</a>.
|
||
</p>
|
||
<p>
|
||
These instructions assume that you are performing a clean
|
||
install, including emptying an existing database, emptying the VIVO
|
||
home directory, and removing a previous installation from the Tomcat
|
||
webapps directory. Product functionality may not be as expected if you
|
||
install over an existing installation of an earlier version.
|
||
</p><p>
|
||
If you are going to upgrade an existing service, please consult
|
||
the <a href="upgrades.html">latest upgrade file</a> in this directory.
|
||
</p><p>
|
||
Other servlet containers: If you want to use a servlet container
|
||
other than Tomcat, please consult <a href="other_servlet_containers.html">
|
||
instructions for other servlet containers</a> in this directory.
|
||
</p><p>
|
||
VIVO Developers: If you are working on the VIVO source code from
|
||
Subversion, the instructions are slightly different. Please consult
|
||
<a href="developers.txt">developers.txt</a> in this directory.
|
||
<p>
|
||
|
||
<h3>Where does VIVO live on your computer?</h3>
|
||
<p>
|
||
Before beginning the installation, let's look at the four locations
|
||
on your computer that will hold VIVO.
|
||
</p>
|
||
<h4>The VIVO distribution directory</h4>
|
||
<p>
|
||
This is created when you unpack the VIVO distribution file
|
||
(see <a href="#download_code">Step 3</a>, below). This is where you will
|
||
create your build.properties file (see <a href="#build_properties">Step
|
||
4</a>, below), and where you will make any modifications to the VIVO
|
||
theme or code. You can create this wherever you choose.
|
||
</p>
|
||
<h4>VIVO inside Tomcat</h4>
|
||
<p>
|
||
When you run the build script to compile and deploy VIVO
|
||
(see <a href="#deploy">Step 6</a>, 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 <code>tomcat.home</code>
|
||
in the build.properties file (see <a href="#build_properties">Step 4</a>,
|
||
below).
|
||
</p>
|
||
<h4>The VIVO home directory</h4>
|
||
<p>
|
||
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 home directory is stored here also.
|
||
You can create this wherever you choose. Tell VIVO where to find the
|
||
home directory by setting <code>vitro.home</code>
|
||
in the build.properties file (see <a href="#build_properties">Step 4</a>,
|
||
below). You must create this directory before starting VIVO,
|
||
you must create the <code>runtime.properties</code> file in this directory
|
||
(see <a href="#runtime_properties">Step 5</a>, below), and you
|
||
must ensure that Tomcat has permission to read and write to this
|
||
directory when it runs.
|
||
</p>
|
||
<h4>The MySQL database</h4>
|
||
<p>
|
||
Essentially all of the data that you store in VIVO will be given to
|
||
MySQL for storage. The actual location of this data depends on what
|
||
system you have, and on how you install MySQL (see <a href="#required_software">Step 1</a>, below). but you won’t need to
|
||
know the location. You will access the data through VIVO, or
|
||
occasionally through the MySQL client application.
|
||
</p>
|
||
<toc>
|
||
<h3>Steps to Installation</h3>
|
||
<ol>
|
||
<li>
|
||
<a href="#required_software">Install required software</a>
|
||
</li>
|
||
<li>
|
||
<a href="#create_database">Create an empty MySQL database</a>
|
||
</li>
|
||
<li>
|
||
<a href="#download_code">Download the VIVO Application Source</a>
|
||
</li>
|
||
<li>
|
||
<a href="#build_properties">Specify build properties</a>
|
||
</li>
|
||
<li>
|
||
<a href="#runtime_properties">Specify runtime properties</a>
|
||
</li>
|
||
<li>
|
||
<a href="#deploy">Compile and deploy</a>
|
||
</li>
|
||
<li>
|
||
<a href="#tomcat_settings">Configure Tomcat</a>
|
||
</li>
|
||
<li>
|
||
<a href="#start_tomcat">Start Tomcat</a>
|
||
</li>
|
||
<li>
|
||
<a href="#add_rdf">Log in and add RDF data</a>
|
||
</li>
|
||
<li>
|
||
<a href="#contact_email">Set the Contact Email Address (if
|
||
using "Contact Us" form)</a>
|
||
</li>
|
||
<li>
|
||
<a href="#tomcat_connector">Setup Apache Tomcat Connector</a>
|
||
</li>
|
||
<li>
|
||
<a href="#external_auth">Using an External Authentication
|
||
System with VIVO</a>
|
||
</li>
|
||
<li>
|
||
<a href="#opensocial">Using VIVO as an OpenSocial platform</a>
|
||
</li>
|
||
<li>
|
||
<a href="#installation_check">Was the installation successful?</a>
|
||
</li>
|
||
<li>
|
||
<a href="#termsofuse">Review the VIVO Terms of Use</a>
|
||
</li>
|
||
</ol>
|
||
</toc>
|
||
<h3 id="required_software">1. Install required software </h3>
|
||
<p>
|
||
Before installing VIVO, make sure that the following software is
|
||
installed on the desired machine:
|
||
</p>
|
||
<ul>
|
||
<li>
|
||
Java (SE) 1.6.x <a href="http://java.sun.com">http://java.sun.com</a>
|
||
<ul>
|
||
<li>VIVO does not work with OpenJDK</li>
|
||
<li>VIVO does not work with Java 1.7</li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
Apache Tomcat 6.x or 7.x <a href="http://tomcat.apache.org">http://tomcat.apache.org</a>
|
||
</li>
|
||
<li>
|
||
Apache Ant 1.8 or higher, <a href="http://ant.apache.org">http://ant.apache.org</a>
|
||
</li>
|
||
<li>
|
||
MySQL 5.1 or higher, <a href="http://www.mysql.com">http://www.mysql.com</a>
|
||
</li>
|
||
</ul>
|
||
<p>
|
||
Be sure to set up the environment variables for <code java_home="">JAVA_HOME</code>
|
||
and <code>ANT_HOME</code>
|
||
and add the executables to your path per
|
||
your operating system and installation directions from the software
|
||
support websites.
|
||
</p>
|
||
<p>
|
||
The following browsers are supported for this release
|
||
</p>
|
||
<ul>
|
||
<li>
|
||
Mac:
|
||
<ul>
|
||
<li>Chrome 8.0.552.237</li>
|
||
<li>FireFox 3.6.13</li>
|
||
<li>Opera 10.6.2</li>
|
||
<li>Safari 5.0.3</li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
PC:
|
||
<ul>
|
||
<li>Chrome 8.0.552.273</li>
|
||
<li>FireFox 10.0.2</li>
|
||
<li>Internet Explorer 7, 8, 9</li>
|
||
<li>Opera 10.6.2</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
|
||
<h3 id="create_database">2. Create an empty MySQL database </h3>
|
||
<p>
|
||
Decide on a database name, username, and password. Log into your
|
||
MySQL server and create a new database in MySQL that uses <code>UTF-8
|
||
encoding</code>. You will need these values for Step IV when you
|
||
configure the deployment properties. At the MySQL command line you can
|
||
create the database and user with these commands substituting your
|
||
values for <code>dbname</code>, <code>username</code>, and <code>password</code>.
|
||
Most
|
||
of
|
||
the
|
||
time, the hostname will equal <code>localhost</code>.
|
||
</p>
|
||
<pre> CREATE DATABASE dbname CHARACTER SET utf8;<br></pre>
|
||
<p>
|
||
Grant access to a database user. For example:
|
||
</p>
|
||
<pre> GRANT ALL ON dbname.* TO 'username'@'hostname' IDENTIFIED BY 'password';<br></pre>
|
||
<p>
|
||
Keep track of the database name, username, and password for Step
|
||
IV.
|
||
</p>
|
||
<h3 id="download_code">3. Download the VIVO Application Source
|
||
<br>
|
||
</h3>
|
||
<p>
|
||
Download the VIVO application source as either <code>rel-1.5.zip</code>
|
||
or <code>rel-1.5.gz</code>
|
||
file and unpack it on your web server:
|
||
<br>
|
||
<a href="http://vivoweb.org/download">http://vivoweb.org/download</a>
|
||
</p>
|
||
<h3 id="build_properties">4. Specify build properties </h3>
|
||
<p>
|
||
At the top level of the VIVO distribution directory,
|
||
copy the file <code>example.build.properties</code>
|
||
to a file named simply <code>build.properties</code>.
|
||
Edit the file to suit your installation, as described in the following table.
|
||
</p>
|
||
<p>
|
||
These properties are used in compilation and deployment.
|
||
They will be incorporated into VIVO when it is compiled in
|
||
<a href="#deploy">Step 6</a>. If you want to change these properties at
|
||
a later date, you will need to stop Tomcat, repeat <a href="#deploy">Step 6</a>,
|
||
and restart Tomcat.
|
||
</p>
|
||
<p>
|
||
<em>Windows:</em>
|
||
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. <code>c:/tomcat</code>.
|
||
</p>
|
||
|
||
<table border='1' bordercolor="#CCCCCC" cellspacing="5">
|
||
<tbody>
|
||
<tr>
|
||
<th>
|
||
Property Name
|
||
</th>
|
||
<th>
|
||
Example Value
|
||
</th>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2">
|
||
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).
|
||
</td>
|
||
</tr>
|
||
<tr class="odd_row">
|
||
<td>
|
||
vitro.core.dir
|
||
</td>
|
||
<td>
|
||
./vitro-core
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2">
|
||
Directory where tomcat is installed.
|
||
</td>
|
||
</tr>
|
||
<tr class="odd_row">
|
||
<td>
|
||
tomcat.home
|
||
</td>
|
||
<td>
|
||
/usr/local/tomcat
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2">
|
||
Name of your VIVO application.
|
||
</td>
|
||
</tr>
|
||
<tr class="odd_row">
|
||
<td>
|
||
webapp.name
|
||
</td>
|
||
<td>
|
||
vivo
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2">
|
||
Directory where the VIVO application 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 user who the Tomcat service is running as.
|
||
</td>
|
||
</tr>
|
||
<tr class="odd_row">
|
||
<td>
|
||
vitro.home
|
||
</td>
|
||
<td>
|
||
/usr/local/vivo/home
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
<h3 id="runtime_properties">5. Specify runtime properties </h3>
|
||
<p>
|
||
In <a href="#build_properties">Step 4</a>, you defined the location of the Vitro home directory,
|
||
by specifying <code>vitro.home</code> in the <code>build.properties</code> file.
|
||
Create that directory now.
|
||
</p>
|
||
<p>
|
||
At the top level of the VIVO distribution directory, you will find a file called
|
||
<code>example.runtime.properties</code>. Copy this to the Vitro home directory you have created,
|
||
renaming the copy to <code>runtime.properties</code>.
|
||
Edit the file to suit your installation, as described in the following table.
|
||
</p>
|
||
<p>
|
||
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 <a href="#deploy">Step 6</a>.
|
||
</p>
|
||
<p>
|
||
<em>Windows:</em>
|
||
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. <code>c:/tomcat</code>.
|
||
</p>
|
||
<p>
|
||
<em>External authentication:</em>
|
||
If you want to use an external
|
||
authentication system like Shibboleth or CUWebAuth, you will need to
|
||
set additional properties in this file. See the step below
|
||
entitled <a href="#external_auth">Using an External Authentication
|
||
System with VIVO</a>.
|
||
</p>
|
||
<table border='1' bordercolor="#CCCCCC" cellspacing="5">
|
||
<tbody>
|
||
<tr>
|
||
<th>
|
||
Property Name
|
||
</th>
|
||
<th>
|
||
Example Value
|
||
</th>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2">
|
||
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/"<h5>* The namespace must end with "individual/" (including the
|
||
trailing slash).</h5>
|
||
</td>
|
||
</tr>
|
||
<tr class="odd_row">
|
||
<td>
|
||
Vitro.defaultNamespace
|
||
</td>
|
||
<td>
|
||
http://vivo.mydomain.edu/individual/
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2">
|
||
URL of Solr context used in local VIVO search.
|
||
Should consist of:<pre> scheme + servername + port + vivo_webapp_name + "solr"</pre>
|
||
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"
|
||
</td>
|
||
</tr>
|
||
<tr class="odd_row">
|
||
<td>
|
||
vitro.local.solr.url
|
||
</td>
|
||
<td>
|
||
http://localhost:8080/vivosolr
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2">
|
||
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.
|
||
</td>
|
||
</tr>
|
||
<tr class="odd_row">
|
||
<td>
|
||
email.smtpHost
|
||
</td>
|
||
<td>
|
||
smtp.servername.edu
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2">
|
||
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.
|
||
</td>
|
||
</tr>
|
||
<tr class="odd_row">
|
||
<td>
|
||
email.replyTo
|
||
</td>
|
||
<td>
|
||
vivoAdmin@my.domain.edu
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2">
|
||
Specify the JDBC URL of your database. Change
|
||
the end of the URL to reflect your database name (if it is not "vivo").
|
||
</td>
|
||
</tr>
|
||
<tr class="odd_row">
|
||
<td>
|
||
VitroConnection.DataSource.url
|
||
</td>
|
||
<td>
|
||
jdbc:mysql://localhost/vivo
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2">
|
||
Change the username to match the authorized user
|
||
you created in MySQL.
|
||
</td>
|
||
</tr>
|
||
<tr class="odd_row">
|
||
<td>
|
||
VitroConnection.DataSource.username
|
||
</td>
|
||
<td>
|
||
username
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2">
|
||
Change the password to match the password you
|
||
created in MySQL.
|
||
</td>
|
||
</tr>
|
||
<tr class="odd_row">
|
||
<td>
|
||
VitroConnection.DataSource.password
|
||
</td>
|
||
<td>
|
||
password
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2">
|
||
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.
|
||
</td>
|
||
</tr>
|
||
<tr class="odd_row">
|
||
<td>
|
||
VitroConnection.DataSource.pool.maxActive
|
||
</td>
|
||
<td>
|
||
40
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2">
|
||
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.
|
||
</td>
|
||
</tr>
|
||
<tr class="odd_row">
|
||
<td>
|
||
VitroConnection.DataSource.pool.maxIdle
|
||
</td>
|
||
<td>
|
||
10
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2">
|
||
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.
|
||
</td>
|
||
</tr>
|
||
<tr class="odd_row">
|
||
<td>
|
||
VitroConnection.DataSource.dbtype
|
||
</td>
|
||
<td>
|
||
MySQL
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2">
|
||
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.
|
||
</td>
|
||
</tr>
|
||
<tr class="odd_row">
|
||
<td>
|
||
VitroConnection.DataSource.driver
|
||
</td>
|
||
<td>
|
||
com.mysql.jdbc.Driver
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2">
|
||
Change the validation query used to test
|
||
database connections only if necessary to use a database other than
|
||
MySQL. Otherwise, leave this value unchanged.
|
||
</td>
|
||
</tr>
|
||
<tr class="odd_row">
|
||
<td>
|
||
VitroConnection.DataSource.validationQuery
|
||
</td>
|
||
<td>
|
||
SELECT 1
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2">
|
||
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.
|
||
<p>
|
||
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.
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
<tr class="odd_row">
|
||
<td>
|
||
rootUser.emailAddress
|
||
</td>
|
||
<td>
|
||
vivoAdmin@my.domain.edu
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2">
|
||
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).
|
||
</td>
|
||
</tr>
|
||
<tr class="odd_row">
|
||
<td>
|
||
selfEditing.idMatchingProperty
|
||
</td>
|
||
<td>
|
||
http://vivo.mydomain.edu/ns#networkId
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2">
|
||
If an external authentication system like Shibboleth or CUWebAuth is to be
|
||
used, these properties say how the login button should be labeled, and which
|
||
HTTP header will contain the user ID from the authentication system. If such
|
||
a system is not to be used, leave these commented out. Consult the installation
|
||
instructions for more details.
|
||
</td>
|
||
</tr>
|
||
<tr class="odd_row">
|
||
<td>
|
||
externalAuth.buttonText
|
||
<br/>
|
||
externalAuth.netIdHeaderName
|
||
</td>
|
||
<td>
|
||
Log in using BearCat Shibboleth
|
||
<br/>
|
||
remote_userID
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2">
|
||
The temporal graph visualization can require
|
||
extensive machine resources. This can have a particularly noticable
|
||
impact on memory usage if
|
||
<ul>
|
||
<li>
|
||
The organization tree is deep,
|
||
</li>
|
||
<li>
|
||
The number of grants and publications is large.
|
||
</li>
|
||
</ul>
|
||
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.
|
||
</td>
|
||
</tr>
|
||
<tr class="odd_row">
|
||
<td>
|
||
visualization.temporal
|
||
</td>
|
||
<td>
|
||
enabled
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2">
|
||
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:
|
||
<br>
|
||
<code>visualization.topLevelOrg =
|
||
http://vivo.psm.edu/individual/n2862</code>
|
||
<br>
|
||
</td>
|
||
</tr>
|
||
<tr class="odd_row">
|
||
<td>
|
||
visualization.topLevelOrg
|
||
</td>
|
||
<td>
|
||
http://vivo-trunk.indiana.edu/individual/topLevelOrgURI
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2">
|
||
An absolute file path, pointing to the root directory of the Harvester utility.
|
||
You must include the final slash.
|
||
</td>
|
||
</tr>
|
||
<tr class="odd_row">
|
||
<td>
|
||
harvester.location
|
||
</td>
|
||
<td>
|
||
/usr/local/vivo/harvester/
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td colspan="2">
|
||
Types of individual for which we can create proxy editors.
|
||
If this is omitted, defaults to http://www.w3.org/2002/07/owl#Thing
|
||
</td>
|
||
</tr>
|
||
<tr class="odd_row">
|
||
<td>
|
||
proxy.eligibleTypeList
|
||
</td>
|
||
<td>
|
||
http://xmlns.com/foaf/0.1/Person, http://xmlns.com/foaf/0.1/Organization
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td colspan="2">
|
||
Show only the most appropriate data values based on the Accept-Language
|
||
header supplied by the browser. Default is true if not set.
|
||
</td>
|
||
</tr>
|
||
<tr class="odd_row">
|
||
<td>
|
||
RDFService.languageFilter
|
||
</td>
|
||
<td>
|
||
true
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td colspan="2">
|
||
These values are used when deploying VIVO as an OpenSocial container
|
||
and integrating with OpenSocial gadgets
|
||
(see <a href="#opensocial">Step 13</a>, below). If you are creating
|
||
a VIVO installation that does not use OpenSocial gadgets, these values are omitted.
|
||
</td>
|
||
</tr>
|
||
|
||
<tr class="odd_row">
|
||
<td>
|
||
OpenSocial.shindigURL<br>
|
||
OpenSocial.tokenService<br>
|
||
OpenSocial.tokenKeyFile<br>
|
||
OpenSocial.sandbox
|
||
</td>
|
||
<td>
|
||
|
||
</td>
|
||
</tr>
|
||
|
||
</tbody>
|
||
</table>
|
||
<h3 id="deploy">6. Compile and deploy</h3>
|
||
<p>
|
||
At the command line, from the top level of the VIVO distribution
|
||
directory, type:
|
||
</p>
|
||
<pre> ant all<br> </pre>
|
||
<p>
|
||
to build VIVO and deploy to Tomcat's webapps directory.
|
||
</p>
|
||
<h3 id="tomcat_settings">7. Configure Tomcat</h3>
|
||
<h4>Set JVM parameters</h4>
|
||
<p>
|
||
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).
|
||
</p>
|
||
<p>
|
||
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. <em>If this file does not exist in Tomcat's
|
||
bin directory, you can create it.</em>
|
||
<br>
|
||
For example:
|
||
</p>
|
||
<pre> export CATALINA_OPTS="-Xms512m -Xmx512m -XX:MaxPermSize=128m"<br> </pre>
|
||
<p>
|
||
This sets 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 suffice, especially for small test installations.
|
||
</p>
|
||
<p>
|
||
If an OutOfMemoryError is encountered during VIVO execution, it can
|
||
be remedied by increasing the heap parameters and restarting Tomcat.
|
||
</p>
|
||
<h4>Set security limits</h4>
|
||
<p>
|
||
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 <code>/etc/security/limits.conf</code>:
|
||
</p>
|
||
<pre> apache hard nproc 400<br> tomcat6 hard nproc 1500 <br> </pre>
|
||
<h4>Set URI encoding</h4>
|
||
<p>
|
||
In order for VIVO on Tomcat to correctly handle for international characters,
|
||
you must configure Tomcat to conform to the URI standard by
|
||
accepting percent-encoded UTF-8.
|
||
</p>
|
||
<p>
|
||
Edit Tomcat's <code>conf/server.xml</code> and add the following attribute to each of the
|
||
Connector elements: URIEncoding="UTF-8".
|
||
</p>
|
||
<pre>
|
||
<Server ...>
|
||
<Service ...>
|
||
<Connector ... URIEncoding="UTF-8"/>
|
||
...
|
||
</Connector>
|
||
</Service>
|
||
</Server>
|
||
</pre>
|
||
<p>
|
||
Note: some versions of Tomcat already include this attribute as the default.
|
||
</p>
|
||
<h4>Take care when creating Context elements</h4>
|
||
<p>
|
||
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.
|
||
</p>
|
||
<p>
|
||
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.
|
||
</p>
|
||
<p>
|
||
See <a href="#tomcat_connector">Step 11</a> below,
|
||
for an example of overriding the VIVO context fragment.
|
||
</p>
|
||
|
||
<h3 id="start_tomcat">8. Start Tomcat </h3>
|
||
<p>
|
||
Most Tomcat installations can be started by running <code>startup.sh</code>
|
||
or <code>startup.bat</code> in Tomcat's bin directory. Point your
|
||
browser to <a href="http://localhost:8080/vivo/">http://localhost:8080/vivo</a>
|
||
to test the application.
|
||
</p>
|
||
<p>
|
||
On start up VIVO will run some diagnostic tests. If a
|
||
problem is detected the normal VIVO pages will redirect
|
||
to a startup status page describing the problem. You
|
||
can stop tomcat, attempt to fix the problem and
|
||
proceeded from <a href="#deploy">Step 6</a>. The
|
||
startup status page may offer a continue link which
|
||
will allow you to use VIVO in spite of the problems.
|
||
|
||
<p>
|
||
If Tomcat does not start up, or the VIVO application
|
||
is not visible, check the files in Tomcat's logs
|
||
directory. Error messages are commonly found
|
||
in <code>tomcat/logs/catalina.out</code>
|
||
or <code>tomcat/logs/vivo.all.log</code>
|
||
or <code>tomcat/logs/localhost.log</code>
|
||
</p>
|
||
<h3 id="add_rdf">9. Log in and add RDF data </h3>
|
||
<p>
|
||
If the startup was successful, you will see a welcome
|
||
message informing you that you have successfully
|
||
installed VIVO. Click the "Log in" link near the upper
|
||
right corner. Log in with
|
||
the <code>rootUser.emailAddress</code> you set up in
|
||
Step IV. The initial password for the root account is
|
||
"rootPassword" (without the quotes). On first login,
|
||
you will be prompted to select a new password and
|
||
verify it a second time. When login is complete, the
|
||
search index is checked and, if it is empty, øa full
|
||
index build will be triggered in the background, in
|
||
order to ensure complete functionality throughout the
|
||
site.
|
||
</p>
|
||
<p>
|
||
After logging in, you will be presented with a menu of
|
||
editing options. Here you can create OWL classes,
|
||
object properties, data properties, and configure the
|
||
display of data. Currently, any classes you wish to
|
||
make visible on your website must be part of a class
|
||
group and any individual must have an rdfs:label.
|
||
There are a number of visibility and display options
|
||
available for classes and properites. VIVO comes with a
|
||
core VIVO ontology, but you may also upload other
|
||
ontologies from an RDF file.
|
||
</p>
|
||
<p>
|
||
Under the "Advanced Data Tools" click "Add/Remove RDF
|
||
Data." Note that Vitro currently works best with
|
||
OWL-DL ontologies and has only limited support for
|
||
pure RDF data. You can enter a URL pointing to the
|
||
RDF data you wish to load or upload from a file on
|
||
your local machine. Ensure that the "add RDF" radio
|
||
button is selected. You will also likely want to check
|
||
"create classgroups automatically."
|
||
</p>
|
||
<p>
|
||
Clicking the "Index" tab in the navigation bar at the top right of
|
||
the page will show a simple index of the knowledge base.
|
||
</p>
|
||
<p>
|
||
See more documentation for configuring VIVO, ingesting data, and
|
||
manually adding data at <a href="http://vivoweb.org/support">http://vivoweb.org/support</a>.
|
||
</p>
|
||
<h3 id="contact_email">10. Set the Contact Email Address (if using
|
||
"Contact Us" form)</h3>
|
||
<p>
|
||
If you have configured your application to use the "Contact Us"
|
||
feature in Step IV (<code>email.smtpHost</code>), you will also need to
|
||
add an email address to the VIVO application. This is the email
|
||
to which the contact form will submit. It can be a list server or an
|
||
individual's email address.
|
||
</p>
|
||
<p>
|
||
Log in as a system administrator. Navigate to the "Site Admin"
|
||
table of contents (link in the right side of the header). Go to "Site
|
||
Information" (under "Site Configuration"). In the "Site Information
|
||
Editing Form," enter a functional email address in the field "Contact
|
||
Email Address" and submit the change.
|
||
</p>
|
||
<p>
|
||
If you set the <code>email.smtpHost</code>
|
||
in Step IV and do NOT
|
||
provide an email address in this step, your users will receive a java
|
||
error in the interface.
|
||
</p>
|
||
<h3 id="tomcat_connector">11. Set up Apache Tomcat Connector </h3>
|
||
<p>
|
||
It is recommended that a Tomcat Connector such as mod_jk be used to
|
||
ensure that the site address does not include the port number (e.g.
|
||
8080) and an additional reference to the Tomcat context name (e.g.
|
||
/vivo).
|
||
</p>
|
||
<p>
|
||
This will make VIVO available at "http://example.com" instead of
|
||
"http://example.com:8080/vivo"
|
||
</p>
|
||
<p>
|
||
Using the mod_jk connector allows for communication between Tomcat
|
||
and the primary web server. The <a href="http://tomcat.apache.org/connectors-doc/generic_howto/quick.html">Quick
|
||
Start
|
||
HowTo</a>
|
||
on the Apache site describes the minimum server
|
||
configurations for several popular web servers.
|
||
</p>
|
||
<p>
|
||
After setting up the mod_jk connector above, you will need to
|
||
modify the Tomcat's server.xml (located in <code>[tomcat root]/conf/</code>)
|
||
to
|
||
respond
|
||
to
|
||
requests from Apache via the connector. Look for the
|
||
<connector> directive and add the following properties:
|
||
</p>
|
||
<pre> connectionTimeout="20000" maxThreads="320" keepAliveTimeout="20000" <br> </pre>
|
||
<p>
|
||
Note: the value for maxThreads (320) is equal to the value for
|
||
MaxClients in the apache's <code>httpd.conf</code>
|
||
file.
|
||
</p>
|
||
<p>
|
||
Locate the <code><Host name="localhost"...></code>
|
||
directive
|
||
and update as follows:
|
||
</p>
|
||
<pre> <Host name="localhost" appBase="webapps"
|
||
DeployOnStartup="false"
|
||
unpackWARs="true" autoDeploy="false"
|
||
xmlValidation="false" xmlNamespaceAware="false">
|
||
|
||
<Alias>example.com</Alias>
|
||
|
||
<Context path=""
|
||
docBase="/usr/local/tomcat/webapps/vivo"
|
||
reloadable="true"
|
||
cookies="true" >
|
||
|
||
<Manager pathname="" />
|
||
</Context>
|
||
|
||
...
|
||
</pre>
|
||
|
||
<h3 id="external_auth">12. Using an External Authentication System
|
||
with VIVO </h3>
|
||
<p>
|
||
</p>
|
||
<p>
|
||
VIVO can be configured to work with an external authentication
|
||
system like Shibboleth or CUWebAuth.
|
||
</p>
|
||
<p>
|
||
VIVO must be accessible only through an Apache HTTP server. The
|
||
Apache server will be configured to invoke the external authentication
|
||
system. When the user completes the authentication, the Apache server
|
||
will pass a network ID to VIVO, to identify the user.
|
||
</p>
|
||
<p>
|
||
If VIVO has an account for that user, the user will be logged in
|
||
with the privileges of that account. In the absence of an account, VIVO
|
||
will try to find a page associated with the user. If such a page is
|
||
found, the user can log in to edit his own profile information.
|
||
</p>
|
||
<h4>Configuring the Apache server</h4>
|
||
<p>
|
||
Your institution will provide you with instructions for setting up
|
||
the external authentication system. The Apache server must be
|
||
configured to secure a page in VIVO. When a user reaches this secured
|
||
page, the Apache server will invoke the external authentication system.
|
||
</p>
|
||
<p>
|
||
For VIVO, this secured page is named: <code>/loginExternalAuthReturn</code>
|
||
</p>
|
||
<p>
|
||
When your instructions call for the location of the secured page,
|
||
this is the value you should use.
|
||
</p>
|
||
<h4>Configuring VIVO</h4>
|
||
<p>
|
||
To enable external authentication, VIVO requires three values in
|
||
the <code>runtime.properties</code>
|
||
file.
|
||
</p>
|
||
<ul>
|
||
<li>
|
||
<h5>The name of the HTTP header that will hold the external user's
|
||
network ID.</h5>
|
||
<p>
|
||
When a user completes the authentication process, the Apache
|
||
server will put the user's network ID into one of the headers of the
|
||
HTTP request. The instructions from your institution should tell you
|
||
which header is used for this purpose.
|
||
</p>
|
||
<p>
|
||
You need to tell VIVO the name of that HTTP header. Insert a
|
||
line like this in the runtime.properties file:
|
||
</p>
|
||
<pre>externalAuth.netIdHeaderName = [the header name]</pre>
|
||
<p>
|
||
For example:
|
||
</p>
|
||
<pre>externalAuth.netIdHeaderName = remote_userID</pre>
|
||
</li>
|
||
<li>
|
||
<h5>The text for the Login button.</h5>
|
||
To start the authentication process, the user will click on a button in
|
||
the VIVO login form. You need to tell VIVO what text should appear in
|
||
that button.
|
||
<p>
|
||
Put a line like this in the runtime.properties file:
|
||
externalAuth.buttonText = [the text for your login button] For example:
|
||
</p>
|
||
<pre>externalAuth.buttonText = Log in using BearCat Shibboleth</pre>
|
||
<p>
|
||
The VIVO login form will display a button labelled "Log in
|
||
using BearCat Shibboleth".
|
||
</p>
|
||
</li>
|
||
<li>
|
||
<h5>Associating a User with a profile page.</h5>
|
||
<p>
|
||
VIVO will try to associate the user with a profile
|
||
page, so the user may edit his own profile data. VIVO will search the
|
||
data model for a person with a property that matches the User’s network
|
||
ID (the value of the property must be either a String literal or an
|
||
untyped literal). You need to tell VIVO what property should be used
|
||
for matching. Insert a line like this in the runtime.properties file:
|
||
</p>
|
||
<pre>selfEditing.idMatchingProperty = [the URI of the property]</pre>
|
||
<p>
|
||
For example:
|
||
</p>
|
||
<pre>selfEditing.idMatchingProperty = http://vivo.mydomain.edu/ns#networkId</pre>
|
||
</li>
|
||
</ul>
|
||
|
||
<h3 id="opensocial">13. Using VIVO as an OpenSocial platform </h3>
|
||
<p>
|
||
VIVO now supports an extension of the OpenSocial API,
|
||
known as Open Research Networking Gadgets, or ORNG (pronounced "ORNG")
|
||
(see http://www.opengadgets.org/index.html).
|
||
</p>
|
||
<p>
|
||
Configuring VIVO to support ORNG requires several steps, including
|
||
additions to the VIVO properties, modifications to Tomcat, creating a
|
||
security key for safe network operations, and running a build script.
|
||
</p>
|
||
<p>
|
||
For instructions, consult the file
|
||
<a href="setting_up_orng.html">setting_up_orng.html</a> in this directory.
|
||
</p>
|
||
|
||
<h3 id="installation_check">14. Was the installation successful? </h3>
|
||
<p>
|
||
If you have completed the previous steps, you have good indications
|
||
that the installation was successful.
|
||
</p>
|
||
<ul>
|
||
<li>
|
||
Step 8 showed that Tomcat recognized the webapp, and that the
|
||
webapp was able to present the initial page.
|
||
</li>
|
||
<li>
|
||
Step 9 verified that you can log in to the administrator
|
||
account.
|
||
</li>
|
||
</ul>
|
||
<p>
|
||
The startup status will indicate if the basic
|
||
configuration of the system was successful. It can be
|
||
accessed from <strong>siteAdmin -> Startup status</strong>.
|
||
</p>
|
||
<p>
|
||
Here is a simple test to see whether the ontology files were
|
||
loaded:
|
||
</p>
|
||
<ul>
|
||
<li>
|
||
Click on the "Index" link on the upper right, below the logo.
|
||
You should see a "locations" section, with links for "Country" and
|
||
"Geographic Location." The index is built in a background thread, so on
|
||
your first login, you may see an empty index instead. Refresh the page
|
||
periodically to see whether the index will be populated. This may take
|
||
some time: with VIVO installed on a modest laptop computer, loading the
|
||
ontology files and building the index took more than 5 minutes from the
|
||
time that Tomcat was started.
|
||
</li>
|
||
<li>
|
||
Click on the "Country" link. You should see an alphabetical list
|
||
of the countries of the world.
|
||
</li>
|
||
</ul>
|
||
<p>
|
||
Here is a test to see whether your system is configured to serve
|
||
linked data:
|
||
</p>
|
||
<ul>
|
||
<li>
|
||
Point your browser to the home page of your website, and click
|
||
the "Log in" link near the upper right corner. Log in with the <code>rootUser.emailAddress</code>
|
||
you set up in Step IV. If this is your first time logging in, you will
|
||
be prompted to change the password.
|
||
</li>
|
||
<li>
|
||
After you have successfully logged in, click "site admin" in the
|
||
upper right corner. In the drop down under "Data Input" select "Faculty
|
||
Member(core)" and click the "Add individual of this class" button.
|
||
</li>
|
||
<li>
|
||
Enter the name "test individual" under the field "Individual
|
||
Name," scroll to the bottom, and click "Create New Record." You will be
|
||
taken to the "Individual Control Panel." Make note of the value of the
|
||
field "URI" - it will be used in the next step.
|
||
</li>
|
||
<li>
|
||
Open a new web browser or browser tab to the
|
||
page <a href="http://marbles.sourceforge.net/">http://marbles.sourceforge.net/</a>.
|
||
In the pink box on that page enter the URI of the
|
||
individual you created in the previous step and
|
||
click "open."
|
||
</li>
|
||
<li>
|
||
In the resulting page search for the URI of the "test
|
||
individual." You should find it towards the bottom of the page next to
|
||
a red dot followed by "redirect (303)." This indicates that you are
|
||
successfully serving linked RDF data. If the URI of the "test
|
||
individual" is followed by "failed (400)" you are not successfully
|
||
serving linked data.
|
||
</li>
|
||
</ul>
|
||
<p>
|
||
Finally, test the search index.
|
||
</p>
|
||
<ul>
|
||
<li>
|
||
Type the word "Australia" into the search box, and
|
||
click on the Search button.You should see a page
|
||
of results, with links to countries that border
|
||
Australia, individuals that include Australia, and
|
||
to Australia itself. To trigger the search index,
|
||
you can log in as a site administrator and go
|
||
to <strong> Site Admin -> Rebuild search
|
||
index</strong>.
|
||
</li>
|
||
</ul>
|
||
<h3 id="termsofuse">15. Review the VIVO Terms of Use</h3>
|
||
<p>
|
||
VIVO comes with a "Terms of Use" statement linked from the footer.
|
||
The "Site Name" you assign in the "Site Information" form under the <strong>Site Admin</strong>
|
||
area will be inserted into the "Terms of Use"
|
||
statement. If you want to edit the text content more than just the
|
||
"Site Name", the file can be found here:<pre>[vivo_source_dir]/vitro-core/webapp/web/templates/freemarker/body/termsOfUse.ftl</pre>
|
||
Be sure to make the changes in your source files and deploy them to your
|
||
tomcat so you don't lose your changes next time you deploy for another reason.
|
||
</p>
|
||
<h3>Next Step ...</h3>
|
||
<p>
|
||
Now that you have VIVO up and running, please go read the <a href="http://sourceforge.net/apps/mediawiki/vivo/index.php?title=Site_Administrator_Guide">Site Administrator's Guide</a>.
|
||
</p>
|
||
</div>
|
||
<!-- #wrapper-content -->
|
||
<div id="footer" role="contentinfo">
|
||
<p class="copyright">
|
||
<small>
|
||
All Rights Reserved <a href="license.txt">see license</a>
|
||
</small>
|
||
</p>
|
||
<div id="nav" role="navigation">
|
||
<ul id="footer-nav" role="list">
|
||
<li role="listitem">
|
||
<a href="http://vivoweb.org/about">About</a>
|
||
</li>
|
||
<li role="listitem">
|
||
<a href="http://vivoweb.org/contact">Contact Us</a>
|
||
</li>
|
||
<li role="listitem">
|
||
<a href="http://www.vivoweb.org/support" target="blank">Support</a>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</body>
|
||
</html>
|