Table of Contents |
---|
...
- Database: MySQL 8.0 or Oracle 11g/12c
- Set JAVA_HOME (Refer to this section for Java 17 changes)
- Tomcat 9 and its service
- MySQL prerequisites
Please visit the respective download centers and download the latest version available for your operating system:
- MySQL (Ignore if you are going to use Oracle)
- Java
- Tomcat (Use the Tomcat zip provided into OpenSpecimen build zip)
- Apache for Linux
- Apache for Windows
Note: Make sure MySQL prerequisites are configured correctly before moving on to the next steps.
...
MySQL | Oracle | |
---|---|---|
Driver class name | com.mysql.jdbc.Driver | oracle.jdbc.OracleDriver |
DB URL | jdbc:mysql://<db_host>:<db_port>/<db_name> | jdbc:oracle:thin:@<db_host>:<db_port>:<dbname> |
Add below XML fragment below <Resource>
tag in $TOMCAT_HOME/conf/context.xml
Code Block | ||
---|---|---|
| ||
<Environment name="config/openspecimen" value="$TOMCAT_DIR/conf/openspecimen.properties" type="java.lang.String"/> |
...
Field | Description | Values |
---|---|---|
app.name | This field is useful for deploying multiple OpenSpecimen instances on the same Tomcat server. E.g. You can use "os-test" and "os-prod". | Typically this is "openspecimen". |
tomcat.dir | The absolute path to the Tomcat directory | |
app.data_dir | Absolute path to OpenSpecimen data directory. | Best practice: Create a folder in parallel to 'tomcat.dir' with the name "openspecimen/data" |
app.log_conf | Folder where the OpenSpecimen logs should be created | If left empty logs are created in "app.data_dir/logs" |
datasource.jndi | Name of datasource configured in "context.xml" | Usually, it is "jdbc/openspecimen". |
datasource.type | "fresh": If your database schema is created by OpenSpecimen from scratch. "Upgrade": if your database schema is upgraded from a caTissue database. Note: The name is a bit misleading, we will fix this in v5.2. | "fresh" or "upgrade" |
database.type | MySQL or Oracle | "mysql" or "oracle" |
plugin.dir | Absolute path to the plugin directory. | Best practice: Create a folder in parallel to 'tomcat.dir' with the name "openspecimen/plugins" |
...
- The installer scripts automatically copies the new WAR and plugin and take the backup of existing WAR and plugins into $os_data/old_builds directory.
- Stop the Tomcat if running
- Take the backup of the custom plugins if any
- Take the backup of the database before upgrade
Starting/Stopping OpenSpecimen
...
- Rename the existing Java folder under C drive C:\Program Files\Java \jdk-1.8 to to C:\Program Files\Java\jdk-1.8bkp_bkp
- Uninstall the old java from the control Panel
- Download and install the Java 17 from here.
- Change the Java environment variables and insert the new path to the JDK folder.
- Check the Java version using below command once the installation is complete.
# java -version
Change the Java environment variables and insert the new path to the JDK folder. - Edit the service.bat file inside $Tomcat_Home/bin/service.bat location.
- Find the following string "--JvmOptions9" in the service.bat file and add the below line.
--add-opens=java.base/java.lang=ALL-UNNAMED# - Edit the catalina.sh file inside $Tomcat_Home/bin/catalina.bat location.
- Add the below parameter under the "JDK_JAVA_OPTIONS" options.
JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens=java.base/java.net=ALL-UNNAMED" - Deploy the OpenSpecimen build.
...