Versions Compared

Key

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

...

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

 

Start Tomcat

Warning
TBD

Most Tomcat installations can be started by running startup.sh or startup.bat in Tomcat's bin directory. Start Tomcat and direct your browser to http://localhost:8080/vivo to test the application. Note that Tomcat may require several minutes to start VIVO.

...

Was the installation successful?

Warning
TBD

Installation options

Warning
TBD

Running VIVO behind an Apache server

...

Using an external authentication system

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.

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

...

If you have completed the previous steps, you have good indications that the installation was successful.

  • When you Start tomcat, you see that Tomcat recognizes the webapp, and that the webapp is able to present the initial page.
  • When you Log in and add RDF data, you verify that you can log in to the root VIVO account.

The startup status will indicate if the basic configuration of the system was successful. If there were any serious errors, you will see the status screen and will not be allowed to continue with VIVO. If there are warnings, you will see the status screen when you first access VIVO, but after that you may use VIVO without hinderance. In this case, you can review the startup status from siteAdmin -> Startup status.

Here is a simple test to see whether the ontology files were loaded:

  • 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.
  • Click on the "Country" link. You should see an alphabetical list of the countries of the world.

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, and click the "Log in" link near the upper right corner. Log in with the rootUser.emailAddress you set up in Step IV. If this is your first time logging in, you will be prompted to change the password.
  • 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.
  • 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.
  • Open a new web browser or browser tab to the page http://marbles.sourceforge.net/. In the pink box on that page enter the URI of the individual you created in the previous step and click "open."
  • 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.

Finally, test the search index.

  • 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 Site Admin -> Rebuild search index.

Installation options

Warning
TBD

Running VIVO behind an Apache server

Most sites choose to configure their VIVO system with an Apache HTTPD web server to accept requests and then proxy them to the VIVO Tomcat context. This will make Vitro available at http://example.com instead of http://example.com:8080/vitro. It will also allow the use of external authentication.

Setup HTTPD to send all of the requests that it receives to Tomcat's AJP connector. This can be done in HTTPD 2.x with a simple directive in httpd.conf:

Code Block
ProxyPass / ajp://localhost:8009/

 

Modify the <Host> in Tomcat server.xml (located in [tomcat root]/conf/) so that the context path is empty to allow VIVO to be servred from the root path. Locate the <Host name="localhost"...> directive and update as follows:

Code Block
<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/vitro"
                reloadable="true"
                cookies="true" >
                   
            <Manager pathname="" />
        </Context>
                  
        ...

After setting up the above, it is recommended that you modify the Tomcat AJP connector parameters in server.xml. Look for the <connector> directive and add the following properties:

Code Block
    connectionTimeout="20000" maxThreads="320" keepAliveTimeout="20000"

Note: the value for maxThreads (320) is equal or greater than the value for MaxClients in the apache's httpd.conf file.

Using an external authentication system

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.

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.netIdHeaderNameremote_userID
Warning
 

VIVO can be configured to work with an external authentication system like Shibboleth or CUWebAuth.

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.

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.

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 VIVO. When a user reaches this secured page, the Apache server will invoke the external authentication system.

For VIVO, this secured page is named: /loginExternalAuthReturn

When your instructions call for the location of the secured page, this is the value you should use.

Configuring VIVO

To enable external authentication, VIVO requires two values in the runtime.properties file.

Property name
externalAuth.netIdHeaderName
Description

 

The name of the HTTP header that will hold the external user's network ID.

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.

 

Default valueNONE
Example value
remote_userID
Property name
selfEditing.idMatchingProperty
Description
Associating a User with a profile page.

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.

This property is also mentioned in the insructions for A simple installation, because it can also be useful for sites that do not use external authentication.

Default valueNONE
Example valuehttp://vivo.mydomain.edu/ns#networkId

 

Finally, you will need to provide text for the Login button.

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

    In your theme, add a line to the all.properties file, like this one:

    external_login_text = [the text for your login button]
    For example:
    external_login_text = Log in using BearCat Shibboleth
    The VIVO login form will display a button labelled "Log in using BearCat Shibboleth".

    If your site supports additional languages, add lines to the corresponding files. For example, all_es.properties might contain this line:

    external_login_text = Entrar usando Shibboleth GatoOso

Developers' installation: obtaining VIVO source code from Git

...

Warning
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.maxActive40
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.maxIdle10
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.dbtypeMySQL
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.drivercom.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.validationQuerySELECT 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

 

Using a servlet container other than Tomcat

Warning
TBD

Adding OpenSocial gadgets to VIVO

Warning
TBD
effect.
VitroConnection.DataSource.updateEndpointURI

 

Using a servlet container other than Tomcat

Warning
TBD

Adding OpenSocial gadgets to VIVO

Warning
TBD
Warning
These values are used when deploying VIVO as an OpenSocial container and integrating with OpenSocial gadgets (see Step 13, below). If you are creating a VIVO installation that does not use OpenSocial gadgets, these values are omitted.
OpenSocial.shindigURL
OpenSocial.tokenService
OpenSocial.tokenKeyFile
OpenSocial.sandbox
 
 

Warning

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

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.

For instructions, consult the file setting_up_orng.html in this directory.

Warning
These values are used when deploying VIVO as an OpenSocial container and integrating with OpenSocial gadgets (see Step 13, below). If you are creating a VIVO installation that does not use OpenSocial gadgets, these values are omitted.
OpenSocial.shindigURL
OpenSocial.tokenService
OpenSocial.tokenKeyFile
OpenSocial.sandbox

VIVO in a language other than English

...