OpenRIMS-RPM - Installation Part 1

From OpenRIMS Wiki
Jump to navigation Jump to search


This document describes deployment of OpenRIMS software on a default server.

The audience of it is IT persons that are responsible to install and maintain the OpenRIMS software.

You should have the ability to install and configure programs and components/services in the selected operating system.

Additionally you need experience on MySQL.


Overview of Server Requirements

Regardless of deployment configuration selected, the following pre-conditions should be fulfilled:

Hardware Requirements

Initial Configuration and Testing Server Production Server
CPU 1-2 cores 8 cores
Memory At least 2 GB of free RAM At least 16 GB of free RAM
Harddrive At least 10GB of free SDD/HDD At least 10GB of free SDD/HDD
Internet connection Should align with minimal requirements for Google Mail Should align with minimal requirements for Google Mail

Software Requirements

Operating System Linux, released after 2018. Tested on Ubuntu 18.04.4 LTS and above


Windows Server 2016 and above

Database: MySQL : Server 5.7 and Workbench 8.0
Java: Oracle Java JDK 1.8


OpenJDK 1.8

(OpenJDK 1.8 has been tested on Linux Ubuntu, but not Windows)

OpenRIMS application & database: OpenRIMS Java application binary


OpenRIMS demo database


(Please refer to the file)

Google Oauth ID & Secret A Google Mail account for OAuth Login SSO

The OpenRIMS Installation Procedure

Prepare to install

1.      Install the following using the respective vendor’s deployment manuals:

1.1.   MySQL 5.7 : Server 5.7 and Workbench 8.0

1.2.   Java JDK 1.8

2.      Restore the main database INCLUDING stored procedures to MySQL using MySQL Workbench or the command line. Name it pdx2. Verify that the stored procedures have been imported!

Ubuntu MySQL CLI hint (CREATE DATABASE pdx2. And restore it: $ mysql -u username -p pdx2 < DumpPdx2.sql)

3.      Copy the binary application pharmadex2-0.0.1.jar and to a dedicated user folder, e.g. /home/{username}/applications/openrims

Post-Installation OpenRIMS Configurations

Local TCP/IP port

Adjust the file for initial configuration as described below.

When initial configuration is concluded you should disable Variables Edit and Cloning of Workflows.


In the file edit the values marked bold:

spring.datasource.url = jdbc:mysql://localhost/openrimsre?useSSL=false&useUnicode=yes&characterEncoding=UTF-8&characterSetResults=UTF-8&serverTimezone=Europe/Kiev

spring.datasource.username = username

spring.datasource.password = password


In the file edit the values marked bold:


Recommended setting: logging.file.path= ./log/

After configuration it will be necessary to copy Client ID and Client secret to the


SMTP Configuration

# SMPT Outgoing email settings


Allow System Edits for initial workflow configuration

## Developer Mode Status

Allow Cloning of Workflows for initial workflow configuration


Install OpenRIMS as a service

Examples of the configurations are in the binary distributive on/from GitHub. The folders are “Windows” and “Linux”.


The official guide is here

Here are detailed steps for Ubuntu 22.04:

  1. Copy file .service to /etc/systemd/system: sudo cp openrims.service /etc/systemd/system
  2. Edit file .service and change Username and Execstart path.
  3. Start the service: systemctl enable openrims.service
  4. Change Owner of the java application to your user: sudo chmod a+rwx /home/ubuntu/applications/pharmadex2/pharmadex2-0.0.1.jar OR sudo cdmod 500 pharmadex2-0.0.1.jar

For reference here is a sample service file:


Description=Pharmadex 2 UAT version (madagascar)







For Windows

The official guide is here

Provide access from the Internet

To provide access from the Internet it will be a good idea to establish a proxy gateway like Nginx or Apache2.

The example of virtual server configuration for Apache 2 is in the binary distributive folder named “Linux” on GitHub.

For Ubuntu 22.04 and Apache2 here are the steps:

  1. Copy pharmadex.conf to apache folder e.g. /etc/apache2/sites-available
  2. Enable the site a2ensite pharmadex

Here is another sample Apache conf file with https enabled by Letsencrypt:

<VirtualHost *:80>


Redirect permanent /


<VirtualHost *:443>


SSLEngine On

SSLCertificateFile C:\Certbot\live\\fullchain.pem

SSLCertificateKeyFile C:\Certbot\live\\privkey.pem

SSLProtocol         all -SSLv3 -TLSv1 -TLSv1.1


SSLHonorCipherOrder on

SSLCompression      off

SSLSessionTickets   off

SSLSessionCacheTimeout  300

ProxyPreserveHost On

<Location />





Configuring Google Authentication

LINK: See OpenRIMS - Installation Part 2

Special Configuration

LINK: See IIS as a gateway for Spring Boot application

[1] For current, available only to MSH staff