Installing VIVO @ Your Institution 2012 VIVO Implementation Fest

Preview:

Citation preview

Installing VIVO @ Your Institution

2012 VIVO Implementation Fest

2

Welcome & Who are we?

Vincent Sposato, University of FloridaEnterprise Software EngineeringPrimarily focused on VIVO operations and reproducible harvests

Eliza Chan, Weill Cornell Medical CollegeInformation Technologies and Services (ITS)Primarily focused on VIVO customization (content / branding / ontology) and data ingest

John Fereira, Cornell UniversityMann Library Information Technology Services (ITS)Programmer / Analyst / Technology Strategist

3

Goals of this session

• Provide you with an outline of what is needed to get a VIVO up and running

• Provide an understanding of how things fit together

• Answer questions

VIVO Requirements

5

What are the server requirements?

Server Specification

Minimum Requirement Recommended UF VIVO

CPU 1 2 2 (6.5 ECU)

RAM 1 GB 8 – 32 GB (depending on size of dataset or institution)

17.1 GB

Hard Disk Space 20 GB 128 GB (again depending on your institution)

460 GB

Operating System

Ability to run Tomcat and Java

Linux Ubuntu 11.04

6

Where do I get VIVO?

• From the compressed files stored on vivoweb.org (tar, zip)– http://vivoweb.org/download– The latest version as of this presentation is

1.4.1

7

What is not included in the code?

• Java – java.com• ANT – ant.apache.org• Mysql – www.mysql.com• Tomcat6 – tomcat.apache.org• MySQL 5.1+ - www.mysql.org• Apache – httpd.apache.org

8

JAVA 6 JDK

• Can I use the open-jdk?– Some parts of VIVO require classes that only exist in the

sun/oracle implementation

• What is Java?– “Write once, run anywhere” – popular quote about java– Many libraries for Java including

• JENA http://jena.sourceforge.net/• Freemarker http://freemarker.sourceforge.net/

• Installation– Debian/Ubuntu – apt-get install sun-java6-jdk– Centos/Redhat – yum install java (need to configure

alternatives)– Windows: download and install

9

Tomcat 6

• Why not Tomcat 7 yet?– Issues with Windows support (seen as minor)

• What is Tomcat?– “an open source software implementation of the

Java Servlet and JavaServer Pages technologies” – tomcat.apache.org

– A webserver for java applications

• Installation– Debian/Ubuntu – apt-get install tomcat6– Centos/Redhat – yum install tomcat6 tomcat6-

webapps tomcat6-admin-webapps – Windows: download and follow the instructions

10

Apache

• Why do I need Apache too?– Allows for AJP for redirecting 8080 to a standard

web port (80, 443)

• What is Apache?– “a secure, efficient and extensible server that

provides HTTP services in sync with current HTTP standards” – httpd.apache.org

• Installation– Debian/Ubuntu – apt-get install apache2– Centos/Redhat – yum install httpd– Windows: download and follow the instructions

11

ANT

• What is ANT– “a Java library and command-line tool

whose mission is to drive processes described by build file” – ant site

• Install ANT– Ubuntu/Debian – apt-get install ant– Centos/Redhat – yum install ant–Windows – download and install

Deploying VIVO

13

Directory Structure

VIVO Installation

/usr/share/vivo/deployed/vivo-rel-1.4.1

VIVO Data

/usr/share/vivo/data

Tomcat

/var/lib/tomcat

MySQL

14

/usr/share/vivo/data

/var/lib/tomcat

Tomcat

MySQLVIVO Home

Installation Directory

• Where the coding happens– Comes from tar

file

• Working directory – VIVO application installed under Tomcat directory

• R/W by – the build

script

VIVO Installation

/usr/share/vivo/deployed/vivo-rel-1.4.1

15

Tomcat

/var/lib/tomcat

MySQL

/usr/share/vivo/deployed/vivo-rel-1.4.1

VIVO InstallationVitro Installation

Home Directory

• Site-dependent data– Solr index– Uploaded

images– Upgrade logs

• R/W by – the build

script– Tomcat

VIVO Data

/usr/share/vivo/data

16

VIVO InstallationVitro Installation

/usr/share/vivo/deployed/vivo-rel-1.4.1

VIVO Home

/usr/share/vivo/data

MySQL

Tomcat Directory

• The running applicationwebapps/vivowebapps/vivosolr

• R/W by– Tomcat

Tomcat

/var/lib/tomcat

17

VIVO InstallationVitro Installation

/usr/share/vivo/deployed/vivo-rel-1.4.1

VIVO Home

/usr/share/vivo

Tomcat

/var/lib/tomcat

MySQL Directory

• The data model

• Located somewhere

• R/W by –MySQL

MySQL

18

Create the database

CREATE DATABASE vivo CHARACTER SET UTF8;

GRANT ALL ON vivo.* TO 'vivoUser'@'localhost' IDENTIFIED BY 'vivoPass';

– Need the MySQL admin ID and password.

19

Deploying

• in the Vivo installation directory, create the deploy.properties file– start with a copy of example.deploy.properties

– edit as needed

• Run the buildant all

20

Installation directories## Where is the Vitro core directory?# In most deployments, this is set to ./vitro-core # (It is not uncommon for this setting to point # elsewhere in development environments).# Examples:# vitro.core.dir = ./vitro-core# vitro.core.dir = ../vitro# vitro.core.dir = /usr/local/vitro/trunkvitro.core.dir = ./vitro

21

Home directory## Tells the VIVO application where to store the data# that it creates. This includes uploaded files # (usually images) and the search index.#vitro.home.directory = /usr/share/vivo/data

22

Tomcat## The base install directory for your Tomcat server. # The VIVO application will be deployed in the /webapps # directory below this base. #tomcat.home = /usr/local/tomcat

## The name of the VIVO application. # This will appear in the URL for the application. # For example, http://my.vivo.server/vivo#webapp.name = vivo

23

MySQL access## Change the end of the URL to reflect your database name. # Change the username and password to match the authorized # database user you created.#VitroConnection.DataSource.url = jdbc:mysql://localhost/vivoVitroConnection.DataSource.username = vivoUserVitroConnection.DataSource.password = vivoPass

24

Root user## The email address of the root user for VIVO.# The password for this user is initially set to # "rootPassword", but you will be asked to # change the password the first time you log in.#rootUser.emailAddress = root@mydomain.edu

25

Default namespace# # This namespace will be used when generating URIs# for objects created in the editor. # In order to serve linked data, the default # namespace must be composed as follows # (optional elements in parentheses):# # scheme + server_name (+ port) (+ servlet_context) +# "/individual/"# # For example, Cornell's default namespace is:## http://vivo.cornell.edu/individual/#Vitro.defaultNamespace = http://vivo.mydomain.edu/individual/NOTE: The namespace you choose will remain identical for all instances of VIVO at your institution. This is NOT necessarily the URL of the host that VIVO is installed on.

26

Email (disabled)## Email parameters which VIVO can use to send mail. # If these are left empty, the "Contact Us" form # will be disabled and users will not be notified of# changes to their accounts.##email.smtpHost = smtp.mydomain.edu#email.replyTo = vivo_admin@mydomain.edu

27

Solr# # URL of Solr context used in local VIVO search. # This will usually consist of:# scheme + server_name + port + vivo_webapp_name + "solr"# In the standard installation, the Solr context will be on# the same server as VIVO, and in the same Tomcat instance,# so the path will be:# webapp.name (specified above) + "solr"# Example:# vitro.local.solr.url = http://localhost:8080/vivosolrvitro.local.solr.url = http://localhost:8080/vivosolr

28

More…

• Database parameters:VitroConnection.DataSource.pool.maxActiveVitroConnection.DataSource.pool.maxIdleVitroConnection.DataSource.dbtypeVitroConnection.DataSource.driverVitroConnection.DataSource.validationQuery

• Authentication and Profiles:selfEditing.idMatchingPropertyexternalAuth.buttonTextexternalAuth.netIdHeaderName

29

More…

• Visualization:visualization.temporalvisualization.topLevelOrg

• Harvester:harvester.location

• Google reconcile:Vitro.reconcile.defaultTypeList

• Solr:vitro.local.solr.ipaddress.mask

30

Did it work?

• Start tomcat• Browse these pages:

http://localhost:8080/vivohttp://localhost:8080/vivosolr

(Only works from localhost by default)

• Look in the home directory:– see solr/data– see uploads

31

Troubleshooting

• Log files in the tomcat/logs directory• names will differ slightly depending on OS

– catalina.out– vivo.all.log– solr.log– localhost.log

Getting More Help

The VIVO Community

33

Open communities

• Modes of communication– Instant (IRC)– Polling (ListServ)– Developer Meeting (live call)

34

IRC

• Hosted at Freenode #VIVO– Open Channel where VIVO developers and

implementers gather to talk about VIVO

– For more information about IRC checkout• http://www.linux.com/archive/articles/61439• http://en.wikipedia.org/wiki/Internet_Relay_Chat

35

ListServs

• Four Listservs– vivo-dev-all • Not necessarily specific to development• A catch all for developers, administrators, etc.

– vivo-imp-issues• Specific to implementation problems• A place for administrators to come together and

share deployment tips and questions

– vivo-bug– vivo-announce

36

National development call

• Once a week, currently on Thursdays at 1pm EST

• Announced on the vivo-dev-all list serv–Meeting agenda and minutes under the

category “Meetings”

• Hosted on Go-To-Meeting• Standard Agenda– Updates from Institutions– Demonstrations by any teams– Concerns and Issues

37

National Implementation Call

• Bi-Weekly, currently on Thursdays at 2pm EST

• Announced on the vivo-imp-issues list serv

• Hosted on Go-To-Meeting

Follow Up Discussion

39

Reference materialsSemantic Web for the Working Ontologist (Morgan Kaufmann)• Dean Allemang and Jim Hendler 2011 (2nd edition)

Learning SPARQL (O’Reilly)• Bob DuCharme

Programming the Semantic Web (O’Reilly)• Toby Segaran, Colin Evans, Jamie Taylor

Semantic Web Programming (Wiley)• John Hebeler, Matthew Fisher, Ryan Blace, Andrew Perez-Lopez

A Semantic Web Primer (MIT Press)• Grigoris Antoniou, Frank van van Harmelen (2nd edition)