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.
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!
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.
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.
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
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
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.
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.