Installing OpenMRS on OpenShift - Abbreviated for Mac and Linux
This page is outdated and no longer receives updates!
This is an abbreviated version of the guide seen here and is used in the video here.
This file is available for download here.
This guide is a reference for users to copy and paste from when installing OpenMRS on OpenShift.
$OPENSHIFT_APP_UUID:
$OPENSHIFT_APP_NAME:
$OPENSHIFT_MYSQL_DB_USERNAME:
$OPENSHIFT_MYSQL_DB_PASSWORD:
$OPENSHIFT_MYSQL_DB_HOST:
$OPENSHIFT_MYSQL_DB_PORT:
Add a DIY cartridge.
Add MySQL cartridge to the previously created one (OpenShift console -> cartridge -> Databases -> Add MySQL).
Prepare to change the cartridge:
Clone its repository:
git clone ssh://$OPENSHIFT_APP_UUID@$OPENSHIFT_APP_DNS/~/git/openmrs.git/
Move to the resulting directory:
cd $OPENSHIFT_APP_NAME/
Connect to the server (second text box on dashboard)
echo <variable name (refer to the top of the document)>
Deploy custom Tomcat (Custom here means not the default one for OpenShift. In fact, this variant is upstream.)
git remote add tomcat-upstream -m master git://github.com/openshift-quickstart/openshift-tomcat-quickstart.git
git pull -s recursive -X theirs tomcat-upstream master
git push
Deploy OpenMRS to server:
Download the app archive (version specified here is the most recent one by the time of writing) into tomcat webapps directory:
curl -L http://sourceforge.net/projects/openmrs/files/releases/OpenMRS_Platform_1.10.1/openmrs.war/download -o diy/tomcat/webapps/openmrs.war
git add diy/tomcat/webapps/openmrs.war
git commit -m 'Deployed OpenMRS Platform 1.10.1'
git push
Configure OpenMRS on low level:
ssh to the server
echo "/var/lib/openshift/$OPENSHIFT_APP_UUID/app-deployments/current/repo/diy/openmrs/openmrs-runtime.properties" > .env/user_vars/OPENMRS_RUNTIME_PROPERTIES_FILE
Exit the server
Set proper app data directory (default is ~/.OpenMRS; these commands are to be run in the git repository associated with your cartridge):
mkdir diy/openmrs
echo "application_data_directory=/var/lib/openshift/$OPENSHIFT_APP_UUID/app-deployments/current/repo/diy/openmrs" > diy/openmrs/openmrs-runtime.properties
Add MySQL configuration to OpenMRS config:
echo "### Database connection properties
connection.username=$OPENSHIFT_MYSQL_DB_USERNAME
connection.password=$OPENSHIFT_MYSQL_DB_PASSWORD
connection.url=jdbc:mysql://$OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT/$OPENSHIFT_APP_NAME?autoReconnect=true" >> diy/openmrs/openmrs-runtime.properties
Commit and push the changes:
git add diy/openmrs/openmrs-runtime.properties
git commit -m 'Configured OpenMRS'
git push
Proceed to high-level OpenMRS configuration via browser. You should not select 'Simple' as type of installation as it assumes having MySQL root, etc.