Installation and Setup V2

Aus CTS2-LE
Zur Navigation springen Zur Suche springen

For installing CTS2-LE in a Tomcat application server, see here.
For installing CTS2-LE in a standalone JBOSS application server, see here.

Note: The following instructions apply to version 2 of CTS2-LE (embedded Jetty server).

Preparation

  • Two zip files are shipped with CTS2LE:
    • WebCts2LE-Vx.x.x-load-vocabs.zip: standard terminology sources (denoted by <VOCABS-ZIP> in the following)
    • WebCts2LE-Vx.x.x-embedded-jetty.zip: the server itself (denoted by <SERVER-ZIP> in the following)

!!! Ensure that you have sufficient privileges and a distinguished owner for all directories and files created below

!!! Ensure that Java 8 (>= 1.8.0_92) is installed on the target machine

Navigator-URL (to see the initial state and content after setup):

http://<host>:<port>/WebCts2LE

Linux

(A) Single (blank) instance ("... to go ...")

  1. Create a directory, e.g. /etc/webcts2le/inst (denoted by <H> in the following).
  2. Unzip <SERVER-ZIP> to <H>
  3. Change to directory <H>
  4. Optional: change the context path in file <H>/CTS2LE_resources/resources-custom/jetty-config.xml
  5. Run ./bin/startup.sh -port 8081 resp.
  6. To shutdown: run ./bin/shutdown.sh 8081

(B) Single instance with standard terminologies

  1. (A).1
  2. (A).2
  3. Unzip <VOCABS-ZIP> to <H>/CTS2LE_resources/load-vocabs
  4. (A).3
  5. Ensure that the server is not running
  6. Run ./bin/SuperLoader.sh
  7. (A).4
  8. (A).5
  9. (A).6

(C) Multiple Instances with seperate terminology location and init.d-support

  1. Install a server instance
    1. Choose an instance name, e.g. 'epsos' (denoted by <I> in the following)
    2. Create directory /etc/webcts2le/<I> (denoted by <H> in the following). Note that /etc/webcts2le is required for now
    3. Unzip <SERVER-ZIP> to <H>
    4. Copy <H>/bin/webcts2le.sh to /etc/init.d/
  2. Install terminology sources
    1. Create directory /home/webcts2le/load-vocabs (denoted by <V> in the following)
    2. Unzip <VOCABS-ZIP> to <V>
  3. Setup standard terminologies
    1. Change to directory <H>
    2. Ensure that the server is not running
    3. Run ./bin/SuperLoader.sh -CTS2LE_VOCABS_ROOT <V>
  4. Start/Stop all server instances
    1. Adapt, if neccessary, the BASE_PORT and CTS2LE_VOCABS_ROOT (<V>) below the line "# set this on different machines" in /etc/init.d/webcts2le.sh
    2. Run /etc/init.d/webcts2le.sh start
    3. To shutdown the server run /etc/init.d/webcts2le.sh stop
  5. Start/Stop a certain server instance directly (via port)
    1. Change to directory <H>
    2. Run ./bin/startup.sh -port 8081 -CTS2LE_VOCABS_ROOT <V> resp. run ./bin/shutdown.sh 8081

Windows

(A) Single (blank) instance ("... to go ...")

  1. Create a directory, e.g. C:\Program Files\webcts2le\inst (denoted by <H> in the following).
  2. Unzip <SERVER-ZIP> to <H>
  3. Change to directory <H>
  4. Run bin\startup.bat -port 8081
  5. - Open Powershell and run curl -Method Post http://localhost:8081/shutdown?token=webcts2le or
    - Open a Linux shell for Windows and run curl -X POST http://localhost:8081/shutdown?token=webcts2le

(B) Single instance with standard terminologies

  1. (A).1
  2. (A).2
  3. Unzip <VOCABS-ZIP> to <H>\CTS2LE_resources\load-vocabs
  4. (A).3
  5. Ensure that the server is not running
  6. Run bin\SuperLoader.bat
  7. (A).4
  8. (A).5

Configuration

Changing the Context Path

By default, the context path of the web application is "/WebCts2LE". In order to change it, open and adapt the file <H>/CTS2LE_resources/resources-custom/jetty-config.xml. Change the text of the element <Set> to the desired path (denoted as <path>) in the code snippet.

<Configure class="org.eclipse.jetty.webapp.WebAppContext">
     <Set name="contextPath">/<path></Set>
</Configure>


Determine Logging Output

Logging properties may be specified in the file <H>/conf/logging.properties. The following file content gives an example of writing application messages of log level INFO both to the console and a file located in <H>/logs/service.log

handlers=java.util.logging.FileHandler, java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level=INFO
java.util.logging.ConsoleHandler.formatter=basics.logging.StandardFormatter
 
java.util.logging.FileHandler.level=INFO
java.util.logging.FileHandler.pattern=logs/service.log
java.util.logging.FileHandler.append=true
 
# Write x Bytes before rotating this file
java.util.logging.FileHandler.limit=1000000
 
# Number of rotating files to be used
java.util.logging.FileHandler.count=5
java.util.logging.FileHandler.formatter=basics.logging.StandardFormatter
 
.level=INFO

Troubleshooting

Running .sh scripts on Linux leads to /bin/bash^M: bad interpreter: No such file or directory

We have noticed that this error occurs when scripts contain Windows line endings. To solve this either manually replace line breaks or - more elegant - install dos2unix (doc is located here) via 'apt-get install dos2unix' and run 'dos2unix <filename>'