installing vivo @ your institution 2012 vivo implementation fest
TRANSCRIPT
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 = [email protected]
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 = [email protected]
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)