Orbeon with Tomcat8, Mysql, on a EC2 Linux AMI
Recently I had to come up with an open source solution around form creation and tracking. Surprisingly there were not many options for self hosted solutions, however one search result that kept popping up was Orbeon forms. To begin I decided to test this form creation software out on an EC2 instance running a Linux AMI. I chose to use Mysql and Tomcat together with Orbeon and found that the AMI’s implementation of Tomcat8 was missing a couple of JAR files. This is how I was able to get Orbeon forms to run.
## First install tomcat yum install java-1.8.0 yum remove java-1.7.0-openjdk yum install tomcat8 tomcat8-webapps tomcat8-admin-webapps tomcat8-docs-webapp service tomcat8 start ## Modify /usr/share/tomcat8/tomcat-users.xml <user name="admin" password="somepassword" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status" /> </tomcat-users> ## Now download the latest Apache tomcat8 extract and scp the following file to your instance scp tomcat-jdbc.jar ec2-user@<someIP>:/home/ec2-user ## It appears that when you install from a package manager on the EC2 instance it is missing the jdbc jar. ## Follow the rest of the Orbeon installation procedure. Including the form properties. ## Modify /usr/share/tomcat8/webapps/orbeon/WEB-INF/resources/config/properties-local.xml [root@ip-172-31-78-7 config]# cat properties-local.xml <!-- This file is an empty template for your own properties-local.xml file. Please follow the instructions here: https://doc.orbeon.com/configuration/properties/ --> <properties xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:oxf="http://www.orbeon.com/oxf/processors"> <property as="xs:string" name="oxf.fr.persistence.provider.*.*.*" value="mysql"/> <property as="xs:string" name="oxf.fr.persistence.mysql.datasource" value="mysql"/> <property as="xs:anyURI" name="oxf.url-rewriting.service.base-uri" value="http://localhost:8080/orbeon"/> <property as="xs:integer" name="oxf.fr.summary.page-size.*.*" value="10"/> <property as="xs:boolean" name="oxf.fr.summary.*.*.*" value="true"/> </properties>