FH Dortmund – Terminology Server CTS2

Introduction

The main function of a terminology server is the computer-aided representation and expostulation of medical terminologies as well as offering services to access them, completely or partially, and attribute based code systems. This post describes the installation of the free and open-source terminology server of the University of Applied Sciences and Arts Dortmund. The terminology server itself is a composition of several web services, a terminology browser to display and maintain the contents and collaboration environment.

http://www.wiki.mi.fh-dortmund.de/cts2

Note: Post date -> 06/01/2016

Note: This is no guide to install a hardened and secure server that can be accessible on the public Internet!

Installation

1) Debian

Install the latest version of Debian (into a Virtual Box), then…

justauser@noship:/> su - root
 
root@noship:/> apt-get update
root@noship:/> apt-get upgrade

When installed in a Virtual Box, a simple Port Forward of 8080 from host to guest allows to access the terminology server from outside the virtual machine.

2) MySQL

root@noship:/> apt-get install mysql-server mysql-client
root@noship:/>
root@noship:/> # Optional:
root@noship:/> apt-get install mysql-workbench 

In this example, the root password is ‘root’. This password is also used in the example configuration files that can be downloaded on this page.

3) Java

Termserver runs fine with the OpenJDK, so there is no reason to fight with the “official” Oracle version.

root@noship:/>apt-get install default-jre
root@noship:/>apt-get install default-jdk

4) Tomcat 7

root@noship:/> apt-get install tomcat7 tomcat7-admin
root@noship:/>
root@noship:/> # Optional:
root@noship:/> apt-get install tomcat7-docs tomcat7-examples
root@noship:/> # Find where Tomcat has been installed:
root@noship:/> locate tomcat7
 
# Tomcat started at boot time
/etc/init.d/tomcat7
 
# Log file rotation set-up
/etc/logrotate.d/tomcat7
 
# Settings
/etc/tomcat7
/etc/tomcat7/catalina.properties
/etc/tomcat7/context.xml
/etc/tomcat7/logging.properties
/etc/tomcat7/server.xml
/etc/tomcat7/tomcat-users.xml
/etc/tomcat7/web.xml
 
# Documentation, if installed
/usr/share/doc/tomcat7
 
# Binaries
/usr/share/tomcat7/bin
 
# HTML pages root
/usr/share/tomcat7-root/default_root
 
# Tomcat main
/var/lib/tomcat7
/var/lib/tomcat7/conf     -> /etc/tomcat7
/var/lib/tomcat7/logs     -> /var/log/tomcat7
/var/lib/tomcat7/webapps
/var/lib/tomcat7/work     -> /var/cache/tomcat7
 
# Tomcat logs
/var/log/tomcat7

Next, set-up the user account required to use the administration console. This account is deactivated by default, for security reasons.

This example creates a management user ‘tomcat’ having the password ‘tomcat’. If the server is on a bigger network, the password should be a bit smarter of course.

root@noship:/> vi /etc/tomcat7/tomcat-users.xml
 
<tomcat-users>
  <role rolename="admin-gui"/>
  <role rolename="manager-gui"/>
  <user username="tomcat" password="tomcat" roles="admin-gui,manager-gui"/>
</tomcat-users>

5) Terminology Server

5.1) Databases

Two database dumps have to be imported. One for the terminology server and one for the collaboration application.

Please note that the collaboration application is in development mode and not production ready. The installation of this module, database and configuration files, is optional. The application is part of the TermAdmin WAR file and can be activated or deactivated using properties configuration file.

tasha@tentacle:/etc/tomcat7$ mysql -u root -p
Enter password: root
 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 38
Server version: 5.5.46-0+deb8u1 (Debian)
 
mysql> source termserver-db.sql
mysql> source termserver-collaboration-db.sql
 
mysql> mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| c1termserver       |   -> Terminology Server
| web5db3            |   -> Collaboration application
+--------------------+

# The database export contains various user accounts whose passwords have to be reset using the following command in the MySQL console. 
# This update set the passwords to "einstein" (without quotes) for all users (main: 'admin'). Be sure to update the passwords using the 
# TermServer administration web interface in case the server is on a larger and/or public network.

mysql> USE c1termserver;
mysql> UPDATE term_user SET passw='ccf73611e3b06a9ba976c5300f5c69c2', salt='058F2l3lD6iC', email='youremail';    <-- admin/einstein

termserver-db-12-2015.tar.gz

5.2) Configuration files

The configuration and properties files have to be placed in the “/etc/tomcat7” directory. Properties and XML files must be updated with server host and port, database password, URL, port and user, and the log file paths.

termserver-config-12-2015.tar.gz

5.3) Web Applications

All components are installed using the management web interface: http://localhost:8080/manager/html/. The credential have been defined above, and are ‘tomcat’/’tomcat’ in this example.

Using the option “WAR file to deploy”, the WAR files have to be deployed in the following order: TermServer, TermAdmin and TermBrowser.

termserver-war-12-2015.tar.gz

6) Joy!

http://localhost:8080/TermAdmin

http://localhost:8080/TermBrowser

Leave a Reply

Your email address will not be published. Required fields are marked *