420 likes | 656 Views
Installing VIVO @ Your Institution. 2012 VIVO Implementation Fest. Welcome & Who are we? . Vincent Sposato, University of Florida Enterprise Software Engineering Primarily focused on VIVO operations and reproducible harvests Eliza Chan, Weill Cornell Medical College
E N D
Installing VIVO @ Your Institution 2012 VIVO Implementation Fest
Welcome & Who are we? Vincent Sposato, University of Florida Enterprise Software Engineering Primarily focused on VIVO operations and reproducible harvests Eliza Chan, Weill Cornell Medical College Information Technologies and Services (ITS) Primarily focused on VIVO customization (content / branding / ontology) and data ingest John Fereira, Cornell University Mann Library Information Technology Services (ITS) Programmer / Analyst / Technology Strategist
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
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
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
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/ • Freemarkerhttp://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
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
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
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
Directory Structure VIVO Installation Tomcat /usr/share/vivo/deployed/vivo-rel-1.4.1 /var/lib/tomcat VIVO Data MySQL /usr/share/vivo/data
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 Tomcat /usr/share/vivo/deployed/vivo-rel-1.4.1 /var/lib/tomcat VIVO Home MySQL /usr/share/vivo/data
Home Directory • Site-dependent data • Solr index • Uploaded images • Upgrade logs • R/W by • the build script • Tomcat VIVO Installation Vitro Installation Tomcat /usr/share/vivo/deployed/vivo-rel-1.4.1 /var/lib/tomcat VIVO Data MySQL /usr/share/vivo/data
Tomcat Directory • The running application webapps/vivo webapps/vivosolr • R/W by • Tomcat VIVO Installation Vitro Installation Tomcat /usr/share/vivo/deployed/vivo-rel-1.4.1 /var/lib/tomcat VIVO Home MySQL /usr/share/vivo/data
MySQL Directory • The data model • Located somewhere • R/W by • MySQL VIVO Installation Vitro Installation Tomcat /usr/share/vivo/deployed/vivo-rel-1.4.1 /var/lib/tomcat VIVO Home MySQL /usr/share/vivo
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.
Deploying • in the Vivo installation directory, create the deploy.properties file • start with a copy of example.deploy.properties • edit as needed • Run the build ant all
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/trunk vitro.core.dir = ./vitro
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
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
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/vivo VitroConnection.DataSource.username = vivoUser VitroConnection.DataSource.password = vivoPass
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
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.
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
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/vivosolr vitro.local.solr.url = http://localhost:8080/vivosolr
More… • Database parameters: VitroConnection.DataSource.pool.maxActive VitroConnection.DataSource.pool.maxIdle VitroConnection.DataSource.dbtype VitroConnection.DataSource.driver VitroConnection.DataSource.validationQuery • Authentication and Profiles: selfEditing.idMatchingProperty externalAuth.buttonText externalAuth.netIdHeaderName
More… • Visualization: visualization.temporal visualization.topLevelOrg • Harvester: harvester.location • Google reconcile: Vitro.reconcile.defaultTypeList • Solr: vitro.local.solr.ipaddress.mask
Did it work? • Start tomcat • Browse these pages: http://localhost:8080/vivo http://localhost:8080/vivosolr (Only works from localhostby default) • Look in the home directory: • see solr/data • see uploads
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
Open communities • Modes of communication • Instant (IRC) • Polling (ListServ) • Developer Meeting (live call)
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
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
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
National Implementation Call • Bi-Weekly, currently on Thursdays at 2pm EST • Announced on the vivo-imp-issues list serv • Hosted on Go-To-Meeting
Reference materials Semantic 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) • GrigorisAntoniou, Frank van van Harmelen(2ndedition)