Ansible role to install and configure VIVO - the extensible semantic web application for research discovery and showcasing scholarly work. It follows the directions given in the Installing VIVO guide.
A complete Ansible playbook that uses this role to install VIVO after installing all of its system requirements can be found in this accompanying GitHub repo vivo-ansible-playbook.
This example is taken from molecule/default/converge.yml
.
---
- name: Converge
hosts: all
become: yes
gather_facts: true
roles:
- role: vivo_community.vivo
VIVO has some system requirements
that need to be installed beforehand. In CI this is done using molecule/default/prepare.yml
:
- name: prepare
hosts: all
become: yes
gather_facts: no
roles:
# prepare instance for ansible
- role: robertdebock.bootstrap
- role: robertdebock.core_dependencies
# install java jdk
- role: robertdebock.java
java_vendor: openjdk
java_type: jdk
java_default_version: "8"
# install solr with no initial cores
# but don't start it (solr is not started until vivocore is in place for discovery)
- role: geerlingguy.solr
solr_version: "8.11.1"
solr_cores:
solr_service_state: stopped
solr_restart_handler_enabled: false
solr_service_manage: false
# install tomcat
# and set CATALINA_OPTS="-Xms512m -Xmx512m -XX:MaxPermSize=128m"
# see https://wiki.lyrasis.org/display/VIVODOC112x/Installing+VIVO#InstallingVIVO-ConfigureandStartTomcat
- role: robertdebock.tomcat
tomcat_version: 9
java_opts:
- name: CATALINA_OPTS
value: "-Xms512m -Xmx512m -XX:MaxPermSize=128m"
# install maven
- role: gantsign.maven
The default values for the variables are set in defaults/main.yml
:
# solr settings - defaults from geerlingguy.solr
vivo_solr_home: /var/solr/data # solr_home
vivo_solr_user: solr # solr user
vivo_solr_group: solr # solr group
vivo_solr_service_name: solr # service name to restart solr if handler is enabled
vivo_solr_restart_handler_enabled: true # enable or disable solr restart
The vivo-solr core will be placed below vivo_solr_home and vivo_solr_user and vivo_solr_group will be set as file owners, so core discovery will find it after a solr restart. To restart solr the service name is needed. If you need to make additional adjustments to solr and don't want it to restart yet, you can disable the restart handler.
# tomcat settings - defaults from robertdebock.tomcat
vivo_tomcat_user: tomcat # tomcat user
vivo_tomcat_group: tomcat # tomcat group
vivo_tomcat_service_name: tomcat # service name to restart tomcat if handler is enabled
vivo_tomcat_restart_handler_enabled: true # enable or disable tomcat restart
VIVO will be installed into the tomcat directory (see below vivo_settings_tomcatdir) and tomcat will be restarted. To restart tomcat the service name is needed. If you need to make additional adjustments to tomcat and don't want it to restart yet, you can disable the restart handler. Additionally after installation the directory permissions of tomcat webapps/logs/work/temps will be hardened using the tomcat user and group.
################# VIVO SETTINGS ##################
vivo_version: 1.12.2 # version of VIVO (currently supported: 1.12.1 and 1.12.2)
# overwrite example-settings.xml
vivo_settings_appname: vivo
vivo_settings_vivodir: /usr/local/vivo/home # dir where vivo will be installed
vivo_settings_tomcatdir: /opt/tomcat # dir where tomcat is installed into
vivo_settings_defaulttheme: wilma
Currently the VIVO installation covers only version 1.12.1 and 1.12.2 and will include VIVO-languages and Vitro-languages. Additionally the required parameters for the settings.xml file are needed, because they will be used during installation.
The role was developed and tested with Ansible v2.10.
Apache-2.0
Sandra Mierz for TIB.