OpenRIMS-RPM - Installation Part 2: Difference between revisions

From OpenRIMS Wiki
Jump to navigation Jump to search
m (Khoppenworth moved page Installation Part 1 to OpenRIMS - Installation Part 2 without leaving a redirect)
Tags: Replaced Visual edit
Line 1: Line 1:
'''This Article is Work in Progress!'''


= Objective =
== Google Authentication Explained ==
This document helps deploy Pharmadex 2 software first time, along with the demo database.


The audience of it is IT persons that are responsible to install and maintain the Pharmadex 2 software.
# The Google Console
 
# Generating the Secret ID etc.
Minimal qualification requirements are:
 
·       Ability to install and configure programs and components in the selected Operation System.
 
·       MySQL knowledge.
 
== Pre-conditions ==
Regardless of deployment configuration selected, the following pre-conditions should be fulfilled:
 
=== Hardware Requirements ===
 
==== '''Memory:''' ====
At least 2 GB of free RAM
 
==== '''Harddrive:''' ====
At least 10GB of free SDD/HDD
 
==== Internet connection: ====
Properties of it should suit minimal requirements for Google Mail
 
=== Software Requirements ===
 
==== '''Operating System:''' ====
o  Windows Server 2016 and above OR
 
o  Windows 10 OR
 
o  Linux, released after 2018. Tested on Ubuntu 18.04.4 LTS and above
 
==== '''Database:''' ====
MySQL R 5.7
 
* Server
* Workbench
 
==== Java: ====
 
* Oracle Java JDK 1.8. OpenJDK 1.8 has been tested on Linux Ubuntu, but not Windows
 
The Pharmadex Application:Binary Pharmadex 2 distribution (see below)
 
Pharmadex 2 demo database (<nowiki>https://github.com/MSH/Pharmadex2/tree/main/database</nowiki>[1])
 
A Google Mail account for OAuth Login SSO
 
== Pharmadex 2 binary distribution ==
The possibility to build the Pharmadex 2 software directly from the source codes is possible, however is not covered by this document. However, this manual describes deployment from the binary distribution. For current, the MSH staff may get this distribution from the corporative GitHub, address is
 
              The descriptions of binary components may be found in the respective file README.md
 
= Steps to deploy =
 
== Prepare to install ==
1.      Install using the vendor’s deployment manual:
 
1.1.   MySQL
 
1.2.   Java JDK 1.8
 
2.      Restore the demo database to MySQL using MySQL Workbench or the command line. Name it pdx2. ''Ubuntu 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 application.properties to the dedicated folder, e.g. applications/pharmadex2
 
== Configure ==
 
== Local TCP/IP port ==
In the application.properties file edit the values marked bold (if it will be necessary):
 
=== Database ===
              In the application.properties file edit the values marked bold:
 
spring.datasource.url = jdbc:mysql://localhost/pdx2?useSSL=false&useUnicode=yes&characterEncoding=UTF-8&characterSetResults=UTF-8&'''serverTimezone=Europe/Kiev'''
 
spring.datasource.username = '''username'''
 
spring.datasource.password = '''password'''
 
=== Logs ===
              In the application.properties file edit the values marked bold:
 
logging.file.path=/'''home/alexk/pharmadex/log'''
 
the good choice is:
 
'''logging.file.path= ./log/'''
 
 
After configuration it will be necessary to copy Client ID and Client secret to the application.properties
 
<nowiki>##</nowiki> OATH2
 
spring.security.oauth2.client.registration.google.client-id=client_id
 
spring.security.oauth2.client.registration.google.client-secret=client_secret
 
== Install as a service ==
Examples of the configurations are in the binary distributive on/from GitHub. The folders are “Windows” and “Linux”.
 
For Linux the official guide is here <nowiki>https://docs.spring.io/spring-boot/docs/current/reference/html/deployment.html#deployment.installing.nix-services.system-d</nowiki>
 
Here are detailed steps for Ubuntu 22.04:
 
# Copy file .service to /etc/systemd/system: sudo cp pharmadex.service /etc/systemd/system
# Edit file .service and change Username '''and''' Execstart path.
# Start the service: systemctl enable myapp.service
# Change Owner of the java application to your user: sudo chmod a+rwx /home/ubuntu/applications/pharmadex2/pharmadex2-0.0.1.jar
 
For Windows the official guide is here <nowiki>https://docs.spring.io/spring-boot/docs/current/reference/html/deployment.html#deployment.installing.windows-services</nowiki>
 
== 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 “Linux”.
 
For Ubuntu 22.04 and Apache2 here are the steps:
 
# Copy pharmadex.conf to apache folder: sudo cp
 
== Configuring Google Authentication ==
LINK: See '''Configuring Google Authentication for Pharmadex 2'''
 
== Special Configuration ==
LINK: See '''IIS as a gateway for Spring Boot application'''
 
 
----[1] For current, available only to MSH staff

Revision as of 13:53, 28 July 2023

This Article is Work in Progress!

Google Authentication Explained

  1. The Google Console
  2. Generating the Secret ID etc.