VIVO Release V1.

4 Installation Guide

file:///Users/jeb228/Documents/Eclipse stuff/vivoWorkspace/vivo-...

VIVO VIVO Release V1.4 Installation Guide
December 10, 2011 This document is a summary of the VIVO installation process. For information about this release, consult the VIVO v1.4 Release Announcement. This and other documentation can be found on the support page at 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. If you are going to upgrade an existing deployment, please consult the Release 1 V1.4 Upgrade Guide in this directory. VIVO Developers: If you are working on the VIVO source code from Subversion, the instructions are slightly different. Please consult developers.txt in this directory.

Where does VIVO live on your computer?
Before beginning the installation, let's look at the four locations on your computer that will hold VIVO. The VIVO distribution directory This directory is created when you unpack the VIVO distribution file (see Step III, below). This directory is where you will create your file (see Step V, below), and where you will make any modifications to the VIVO theme or code. You can create this directory wherever you choose. VIVO inside Tomcat When you run the build script to compile and deploy VIVO (see Step VI, 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 file (see Step V, below). The VIVO home directory VIVO will use this area to store some of the data it uses. 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 in the file (see Step V, below). You must create this directory before starting VIVO, and you must ensure that Tomcat has
1 of 12 12/20/11 10:45 AM

or occasionally through the MySQL client application. CREATE DATABASE dbname CHARACTER SET utf8. Most of the time.. Installation Instructions 1.7 or higher.sun.6. 8.VIVO Release V1. username. 12. Log into your MySQL server and create a new database in MySQL that uses UTF-8 encoding. Install required software Before installing VIVO. permission to read and write to this directory when it runs. http://ant. At the MySQL command line you can create the database and user with these commands substituting your values for dbname.x or 7. make sure that the following software is installed on the desired machine: Java (SE) 1. Install required software Create an empty MySQL database Download the VIVO Application Source Specify deployment properties Compile and deploy Configure Tomcat Start Tomcat Log in and add RDF data Set the Contact Email Address (if using "Contact Us" form) Set up Apache Tomcat Connector Using an External Authentication System with VIVO Was the installation successful? Review the VIVO Terms of Use I. username. 10. 6. The MySQL database The data that you add into VIVO will be stored in a MySQL database. Be sure to use MySQL 5. 7. (Not OpenJDK) Apache Tomcat 6. ** Note that from version V1. 13.1 or higher**. 2 of 12 12/20/11 10:45 AM . and on how you install MySQL (see Step I. and Apache Ant 1.1. II.1. Using unsupported versions may result in strange error messages related to table formatting or other unexpected problems.x* http://java. The actual location of this data depends on what system you have. the hostname will equal localhost.4 Installation Guide file:///Users/jeb228/Documents/Eclipse stuff/vivoWorkspace/vivo-. Create an empty MySQL database Decide on a database name.1 or higher. You will typically access the data through VIVO. Be sure to set up the environment variables for JAVA_HOME and ANT_HOME and add the executables to your path per your operating system and installation directions from the software support MySQL 5..x http://tomcat.apache. 9. 5. 4. and password. 2. 11.mysql.apache.2 onward VIVO does not support older versions of MySQL that may have worked with 1. You will need these values for Step IV when you configure the deployment properties. below).

if VIVO is installed at "http://www. Keep track of the database tomcat./vitro-core 3 of 12 12/20/11 10:45 AM . this is set to . /usr/local/tomcat .dir Directory where tomcat is installed. the default namespace must be set to "http://vivo. In most deployments./vitro-core (It is not uncommon for this setting to point elsewhere in development environments). username. you will need to set two additional properties in this". Similarly.4. Vitro. External authentication: If you want to use an external authentication system like Shibboleth or CUWebAuth.4. Download the VIVO Application Source Download the VIVO application source as either rel-1. For example: GRANT ALL ON dbname. c:/".properties to a file named simply deploy.. Property Name Example Value Default namespace: VIVO installations make their RDF resources available for harvest using linked data. Windows: For those installing on Windows operating system. This file sets several properties used in compilation and deployment. III.mydomain. e.g.example.example. vitro. Requests for RDF resource URIs redirect to HTML or RDF representations as specified by the client. For example.deploy.example. * The namespace must end with "individual/" (including the trailing slash).4 Installation Guide file:///Users/jeb228/Documents/Eclipse stuff/vivoWorkspace/vivo-. copy the file or rel-1. Specify deployment properties At the top level of the VIVO distribution /vivo/individual/". Grant access to a database" in order to support linked data.* TO 'username'@'hostname' IDENTIFIED BY 'password'.example.VIVO Release V1.home Name of your VIVO application. VIVO's default namespace must have a certain structure and begin with the public web address of the VIVO installation. the default namespace must be set to " IV.core. if the web address of a VIVO installation is "http://vivo.gz file and unpack it on your web server: http://vivoweb. See the step below entitled Using an External Authentication System with VIVO. include the windows drive and use the forward slash "/" and not the back slash "###BOT_TEXT###quot; in the directory locations. To make this Directory where Vitro code is located.defaultNamespace http://vivo. and password for Step IV.

0\.directory /usr/local/vivo/data Specify an SMTP host that the application will use for sending e-mail (Optional).solr.VIVO Release (specified above) + "solr" vitro. Should consist of: scheme + servername + port + vivo_webapp_name + "solr" In the standard installation.servername. this address will receive the reply.pool.local.ipaddress. email. This includes uploaded files (usually images) and the Solr search index.. the contact form will be hidden and disabled.DataSource.domain.0\. Be sure this directory exists and is writable by the user who the Tomcat service is running as. and in the same Tomcat instance. email.0\.local.. webapp.solr.1|[0:]+:1 Directory where the VIVO application will store the data that it creates. the Solr context will be on the same server as VIVO.0\.smtpHost Specify an email address which will appear as the sender in e-mail notifications to users (Optional). When a request is made to Solr.* vitro.url jdbc:mysql://localhost/vivo Change the username to match the authorized user you created in Specify the JDBC URL of your database.DataSource.maxActive 40 4 of 12 12/20/11 10:45 AM .mask = 127\. this address will receive the error notice.mask 127\.username username Change the password to match the password you created in MySQL.0\.1|0:0:0:0:0:0:0:1 vitro.url http://localhost:8080/vivosolr Restricts access to the Solr search platform.password password Specify the maximum number of active connections in the database connection pool to support the anticipated number of concurrent page requests.ipaddress. VitroConnection.ipaddress.solr. VitroConnection.home.0\.4 Installation Guide file:///Users/jeb228/Documents/Eclipse stuff/vivoWorkspace/vivo-.DataSource. users will not be notified of changes to their accounts. The value is a regular expression. Examples: vitro. vitro.1 vitro. If a user's e-mail address is invalid. If a user replies to the notification.local. VitroConnection. the IP address of the requestor must the expression. If this is left blank.solr.mask = 169.mask = 127\. or the request will be rejected. VitroConnection.DataSource.replyTo vivo URL of Solr context used in local VIVO search.local. and users will not be notified of changes to their accounts.ipaddress. If this is left blank. The path will be the VIVO webapp. Change the end of the URL to reflect your database name (if it is not "vivo").254.

Refer to http://openjena.dbtype MySQL Specify a driver class name to use a database other than MySQL. HSQLDB. Otherwise. 5 of 12 12/20/11 10:45 AM . Oracle. Specify the maximum number of database connections that will be allowed to remain idle in the connection pool.jdbc.netIdHeaderName Log in using BearCat Shibboleth remote_userID The temporal graph visualization can require extensive machine resources. and which HTTP header will contain the user ID from the authentication If an external authentication system like Shibboleth or CUWebAuth is to be used. MySQL. This JAR file for this driver must be added to the the webapp/lib directory within the vitro.. VitroConnection. This user will have an initial temporary password of 'rootPassword'.maxIdle 10 Change the dbtype setting to use a database other than The URI of a property that can be used to associate an Individual with a user account.Driver Change the validation query used to test database connections only if necessary to use a database other than MySQL.mydomain.dir specified above.idMatchingProperty http://vivo.buttonText externalAuth. VitroConnection. and SQLServer.mysql. You will be prompted to create a new password on first login. rootUser. H2.DataSource.. Possible values are DB2. derby. Otherwise.core.4 Installation Guide file:///Users/jeb228/Documents/Eclipse stuff/vivoWorkspace/vivo-. VitroConnection.validationQuery SELECT 1 Specify the email address of the root user account for the VIVO application. Data views may be surprising when logged in as the root user. leave these commented out.pool. This can have a particularly noticable impact on memory usage if The organization tree is deep.domain. Otherwise. leave this value unchanged. 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).emailAddress vivoAdmin@my.VIVO Release V1. leave this value unchanged. these properties say how the login button should be labeled.driver com. VIVO V1. selfEditing. NOTE: The root user account has access to all data and all operations in VIVO. It is best to create a Site Admin account to use for every day administrative tasks. The number of grants and publications is large. Default is 25% of the maximum number of active for additional information. externalAuth. leave this value unchanged.DataSource.DataSource. Consult the installation instructions for more details.DataSource.4 mitigates this problem by the way of a caching mechanism and hence we can safely set this to be enabled by default. PostgreSQL. VitroConnection. If such a system is not to be used.

a maximum heap of 512 profile. the "setenv. defaults to http://www.. With most installations of Tomcat. Compile and deploy At the command line. /topLevelOrgURI An absolute file path.bat" file in Tomcat's bin directory is a convenient place to set the memory parameters.1/Organization V. If this is" or " proxy.4 Installation Guide file:///Users/jeb228/Documents/Eclipse stuff/vivoWorkspace/vivo-.temporal enabled The temporal graph visualization is used to compare different organizations/people within an organization on parameters like number of publications or grants.1/Person. harvester.1/Person Types of individual for which we can create proxy editors.location /usr/local/vivo/harvester/ Types of individual which can be selected as profile pages for user accounts. For example. For example: export CATALINA_OPTS="-Xms512m -Xmx512m -XX:MaxPermSize=128m" This sets Tomcat to allocate an initial heap of 512 megabytes.w3.eligibleTypeList Release V1.eligibleTypeList http://xmlns. type: ant all to build VIVO and deploy to Tomcat's webapps directory. pointing to the root directory of the Harvester utility. If you're unhappy with this selection. visualization.topLevelOrg = http://vivo. defaults to http://www. you can create it.. You must include the final slash. It will be used as the default whenever the temporal graph visualization is rendered without being passed an explicit org. If this is omitted. Configure Tomcat Set JVM parameters VIVO may require more memory than that allocated to Tomcat by default. to use "Ponce School of Medicine" as the top organization: visualization. If this file does not exist in Tomcat's bin directory. By default.indiana. VI. the app will attempt to make its best guess at the top level organization in your from the top level of the VIVO distribution directory. and a 6 of 12 12/20/11 10:45 AM . uncomment out the property below and set it to the URI of the organization individual you want to identify as the top level organization.topLevelOrg http://vivo-trunk.

it can be remedied by increasing the heap parameters and restarting Tomcat.. you must configure Tomcat to conform to the URI standard by accepting percent-encoded UTF-8. If an OutOfMemoryError is encountered during VIVO execution.. attempt to fix the problem 7 of 12 12/20/11 10:45 AM .. Tomcat allows you to override these context fragments by adding Context elements to "server.> <Connector .name value in deploy. </Connector> </Service> </Server> Take care when creating Context elements Each of the webapps in the VIVO distribution (VIVO and Solr) includes a "context fragment" file.. PermGen space of 128 megs.xml"..VIVO Release V1..4 Installation Guide file:///Users/jeb228/Documents/Eclipse stuff/vivoWorkspace/vivo-.conf: apache tomcat6 hard hard nproc nproc 400 1500 Set URI encoding In order for VIVO to correctly handle international characters.. be sure that your new Context element includes the necessary deployment parameters from the overridden context fragment. for an example of overriding the VIVO context fragment. If you decide to do this.. VII. See Step X below.xml and add the following attribute to each of the Connector elements: URIEncoding="UTF-8". <Server .sh or startup. If a problem is detected. Edit Tomcat's conf/server. On start up VIVO will run some diagnostic tests.bat in Tomcat's bin directory. especially for small test installations.> <Service . Point your browser to http://localhost:8080/vivo (or the appropriate URL based on the webapp. Set security limits VIVO is a multithreaded web application that may require more threads than are permitted under your Linux installation's default configuration. the normal VIVO pages will redirect to a startup status page describing the problem. You can stop to test the application. containing some of the deployment information for that webapp... Start Tomcat Most Tomcat installations can be started by running startup. Lower values may suffice. Ensure that your installation can support the required number of threads by making the following edits to /etc/security/limits. URIEncoding="UTF-8"/> .

4 Installation Guide file:///Users/jeb228/Documents/Eclipse stuff/vivoWorkspace/vivo-. object properties. if it is empty." Clicking the "Index" tab in the navigation bar at the top right of the page will show a simple index of the knowledge base. The initial password for the root account is "rootPassword" (without the quotes). your users will receive a java error in the interface. and configure the display of data. 8 of 12 12/20/11 10:45 AM . you can navigate to the "Site Admin" page that presents a menu of editing options. Navigate to the "Site Admin" table of contents (link in the right side of the header). and manually adding data at http://vivoweb. It can be a list server or an individual's email address. Click the "Log in" link near the upper right corner. You can enter a URL pointing to the RDF data you wish to load or upload the RDF data from a file on your local machine. Here you can create OWL classes.log." enter a functional email address in the field "Contact Email Address" and submit the change.out or tomcat/logs /vivo. Error messages are commonly found in tomcat/logs/catalina. data properties.emailAddress you set up in Step IV. On first login.. click "Add/Remove RDF Data. There are a number of visibility and display options available for classes and properites. VIVO comes with a core VIVO ontology. If you set the email. you will also need to add an email address to the VIVO application. Ensure that the "add RDF" radio button is selected. IX. Log in with the rootUser.all. but you may also upload other ontologies from an RDF file.VIVO Release V1. In the "Site Information Editing Form. Under the "Advanced Data Tools" section.. Set the Contact Email Address (if using "Contact Us" form) If you have configured your application to use the "Contact Us" feature in Step IV (email. If Tomcat does not start up. Currently.smtpHost). you will be prompted to select a new password and verify it a second time.log or tomcat/logs/localhost. a full index build will be triggered in the background in order to ensure complete functionality throughout the site. The startup status page may offer a continue link which will allow you to use VIVO inspite of the problems. 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. Go to "Site Information" (under "Site Configuration"). check the files in Tomcat's logs directory. ingesting data. This is the email to which the contact form will submit. you will see a welcome message informing you that you have successfully installed VIVO. VIII. See more documentation for configuring VIVO.smtpHost in Step IV and do NOT provide an email address in this step. After logging in. and proceed from Step When login is complete. You will also likely want to check "create classgroups automatically. Log in as a system administrator." Note that Vitro currently works best with OWL-DL ontologies and has only limited support for pure RDF data. the search index is checked and. Log in and add RDF data If the startup was successful. or the VIVO application is not visible.

X..g. After setting up the mod_jk connector above. Locate the <Host name="localhost". VIVO must be accessible only through an Apache HTTP server.conf file." Using the mod_jk connector allows for communication between Tomcat and the primary web server.> directive and update as follows: <Host name="localhost" appBase="webapps" DeployOnStartup="false" unpackWARs="true" autoDeploy="false" xmlValidation="false" xmlNamespaceAware="false"> <Alias>example...configuration" value="deploy. 8080) and an additional reference to the Tomcat context name (e. Set up Apache Tomcat Connector 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. you will need to modify the Tomcat's</Alias> <Context path="" docBase="/usr/local/tomcat/webapps/vivo" reloadable="true" cookies="true" > <Manager pathname="" /> <Environment type="java.xml (located in [tomcat root]/conf/) to respond to requests from Apache via the connector.4 Installation Guide file:///Users/jeb228/Documents/Eclipse stuff/vivoWorkspace/" /> </Context> . the Apache server will pass a network ID to VIVO..lang.. Look for the <connector> directive and add the following properties: connectionTimeout="20000" maxThreads="320" keepAliveTimeout="20000" Note: the value for maxThreads (320) is equal to the value for MaxClients in the apache's httpd. This will make VIVO available at "http://example. /vivo).VIVO Release V1. 9 of 12 12/20/11 10:45 AM .String" override="false" name="path. to identify the user.g. When the user completes the authentication. Using an External Authentication System with VIVO VIVO can be configured to work with an external authentication system like Shibboleth or" instead of "http://example. The Quick Start HowTo on the Apache site describes the minimum server configurations for several popular web servers. The Apache server will be configured to invoke the external authentication system.

buttonText = Log in using BearCat Shibboleth The VIVO login form will display a button labelled "Log in using BearCat Shibboleth". the Apache server will put the user's network ID into one of the headers of the HTTP request. VIVO will search the data model for a person with a property that matches the User’s network ID 10 of 12 12/20/11 10:45 AM . VIVO requires three values in the deploy.netIdHeaderName = remote_userID The text for the Login button. When a user reaches this secured page. this secured page is named: /loginExternalAuthReturn When your instructions call for the location of the secured page. In the absence of an account.buttonText = [the text for your login button] For example: externalAuth. VIVO will try to find a page associated with the user. You need to tell VIVO the name of that HTTP header..VIVO Release V1. Insert a line like this in the deploy. If VIVO has an account for that user. If such a page is found. The name of the HTTP header that will hold the external user's network ID. You need to tell VIVO what text should appear in that button. Put a line like this in the deploy. Configuring VIVO To enable external authentication. the user will be logged in with the privileges of that account.4 Installation Guide file:///Users/jeb228/Documents/Eclipse stuff/vivoWorkspace/vivo-. When a user completes the authentication process. Configuring the Apache server 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 file: externalAuth. The instructions from your institution should tell you which header is used for this file: externalAuth. this is the value you should use. the Apache server will invoke the external authentication system. so the user may edit his own profile data. For VIVO. To start the authentication process.netIdHeaderName = [the header name] For example: externalAuth. the user will click on a button in the VIVO login form.. VIVO will try to associate the user with a profile page. the user can log in to edit his own profile information. Associating a User with a profile page.

" This indicates that you are successfully serving linked RDF data. with links for "Country" and "Geographic Location. Log in with the rootUser. Insert a line like this in the In the drop down under "Data Input" select "Faculty Member(core)" and click the "Add individual of this class" button. Here is a test to see whether your system is configured to serve linked data: Point your browser to the home page of your website. Make note of the "Resource URI" value that is displayed here .. click the "Create Faculty Member" button. This may take some time: with VIVO installed on a modest laptop computer. In the pink box on that page enter the Resource URI of the test individual you created in the previous step and click "open. Step VII showed that Tomcat recognized the webapp. 11 of 12 12/20/11 10:45 AM .idMatchingProperty = http://vivo. At the top of this page is the Admin Panel. loading the ontology files and building the index took more than 5 minutes from the time that Tomcat was started. Now. If this is your first time logging in. click "site admin" in the upper right corner. Step VIII verified that you can log in to the administrator account.VIVO Release will be used in the next step." The index is built in a background thread. You need to tell VIVO what property should be used for matching. It can be accessed from siteAdmin -> Startup status. you may see an empty index instead. Was the installation successful? If you have completed the previous steps. You should see an alphabetical list of the countries of the world." You should find it towards the bottom of the page next to a red dot followed by "redirect (303). The startup status will indicate if the basic configuration of the system was successful. you have good indications that the installation was successful. you will be prompted to change the password. below the logo. You will be taken to the Profile page for the individual you just created. Here is a simple test to see whether the ontology files were loaded: Click on the "Index" link on the upper right. Enter the word "Test" in the First Name field and the word "Individual" in the Last Name field. If the URI of the "test individual" is followed by "failed (400)" you are not successfully serving linked data. and click the "Log in" link near the upper right corner. You should see a "locations" file: selfEditing..idMatchingProperty = [the URI of the property] For example: selfEditing.mydomain. Refresh the page periodically to see whether the index will be populated." In the resulting page search for the URI of the "test individual. (the value of the property must be either a String literal or an untyped literal).sourceforge.4 Installation Guide file:///Users/jeb228/Documents/Eclipse stuff/vivoWorkspace/vivo-. After you have successfully logged in. so on your first login. and that the webapp was able to present the initial page.emailAddress you set up in Step IV. Open a new web browser or browser tab to the page http://marbles. Click on the "Country" XII.

Review the VIVO Terms of Use VIVO comes with a "Terms of Use" statement linked from the footer. test the search index.. the file can be found here: [vivo_source_dir]/vitro-core/webapp/web/templates/freemarker/body/termsOfUse. with links to countries that border Australia. Finally.. you can log in as a site administrator and go to Site Admin -> Rebuild search index.VIVO Release V1.You should see a page of results. Now that you have VIVO up and running. The "Site Name" you assign in the "Site Information" form under the Site Admin area will be inserted into the "Terms of Use" statement. If you want to edit the text content more than just the "Site Name". To trigger the search index.ftl 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.. Type the word "Australia" into the search box.4 Installation Guide file:///Users/jeb228/Documents/Eclipse stuff/vivoWorkspace/vivo-. please go read the Site Administrator's Guide. and click on the Search button.. Next Step . All Rights Reserved see license About Contact Us Support 12 of 12 12/20/11 10:45 AM . individuals that include Australia. XIII. and to Australia itself.