SmallWorld Documentation for Future Developer: Difference between revisions

From DISI
Jump to navigation Jump to search
No edit summary
Line 34: Line 34:
# Inside that directory, create these
# Inside that directory, create these
#* a symbolic link to the smallworld anon map
#* a symbolic link to the smallworld anon map
#:  
#: <source> </source>
#* a sub-directory called maps to store databases
#* a sub-directory called maps to store databases
#* a smallworld config file
#* a smallworld config file


==Install and Set Up on TomCat on CentOS 6 (such as n-9-22)==
==Install and Set Up on TomCat on CentOS 6 (such as n-9-22)==

Revision as of 21:47, 28 January 2022

Introduction

Here is the link to Smallworld's manual

  • Username: ucsf@nextmovesoftware.com
  • Password: <Ask jjiteam@googlegroups.com>

All smallworld databases live in abacus' db3.

Smallworld frontend files are consolidated and located at /export/db3/smallworld_extract/.extract.

Execute command start_smallworld to see options on which smallworld instance to start/restart.

How to Download Smallworld

  1. Ssh to abacus and become root. Prepare directory
     mkdir /opt/nextmove/smallworld-<version> && cd /opt/nextmove/smallworld-<version>
  2. Download Software with this link
    • Username: ucsf@nextmovesoftware.com
    • Password: <Ask jjiteam@googlegroups.com>
  3. Go to releases. Look for smallworld-java-<version>.tar.gz and copy the link address.
  4. Download using wget
     wget --user ucsf@nextmovesoftware.com --password <Ask jjiteam@googlegroups.com> <link address>
  5. Decompress the file
    •  tar -xvf <file_name>

How to Launch Smallworld For The First Time

  1. Ssh to abacus and become root
  2. Open a port in the firewall
    firewall-cmd --permanent --add-port=<port_number>/tcp 
    firewall-cmd --reload
  3. Go to smallworld databases directory
    cd /export/db3/
  4. Create a Smallworld directory and go to it
    mkdir <smallworld_dir> && cd <smallworld_dir>
  5. Inside that directory, create these
    • a symbolic link to the smallworld anon map
    • a sub-directory called maps to store databases
    • a smallworld config file

Install and Set Up on TomCat on CentOS 6 (such as n-9-22)

Step 1: Check the CentOS version and Java version

SmallWorld currently runs on n-9-22, which runs CentOS 6.10. You can check the version of CentOS with the following command:

   cat /etc/centos-release

Check your current version of Java with the following command:

   java -version

If you do not have the correct version, install it using yum. Follow the steps on this tutorial https://www.itzgeek.com/how-tos/linux/centos-how-tos/install-apache-tomcat-7-0-on-rhel-6-centos-6.html

Step 2: Create Tomcat Service Account

This must be done as a root user and has already been done for n-9-22.

   groupadd tomcat
   mkdir /opt/tomcat
   useradd -g tomcat -d /opt/tomcat tomcat

Step 3: Create Initialization Script to Control Apache TomCat

Download the latest version of Apache TomCat from the website https://tomcat.apache.org/download-90.cgi

   vi /etc/init.d/tomcat9

Copy the bash script from here https://www.itzgeek.com/how-tos/linux/centos-how-tos/install-apache-tomcat-7-0-on-rhel-6-centos-6.html

How to Restart the TomCat Server

   service tomcat9 restart

How to Restart the SmallWorld WebApp

You do not need to restart Tomcat every time you want to restart SmallWorld. The TomCat GUI is available at

You need the tunnel to access the private network or this link will not work! Also, the admin username and password is required.

   http://10.20.9.22:8080/

For more information about TomCat, consult the documentation for the version installed (9.0.17 as of June 2019)

   http://10.20.9.22:8080/docs/

In the Manager App, in the Applications section, use the Stop and Start buttons for the sw-ws app to restart the SmallWorld server

Set Environment Variable for Anonymous Graphs for TomCat

The file to modify is

   opt/tomcat/bin/catalina.sh

Add the following command to the top of the file (below the comments at the top_

   export SWDIR=/srv/db4

Modifying the Amount of Memory Allocated to SmallWorld

The memory allocated to TomCat is found in

   /opt/tomcat/bin/catalina.sh

Add the following commands to the top of the file (below the comments at the top)

   export CATALINA_OPTS="$CATALINA_OPTS -Xms80g"
   export CATALINA_OPTS="$CATALINA_OPTS -Xmx80g"
   export CATALINA_OPTS="$CATALINA_OPTS -XX:MaxPermSize=70g"

Modifying the SmallWorld GUI

The files for the SmallWorld WebApp live in

   /opt/tomcat/webapps/sw-ws

Edit the files in

   /opt/tomcat/webapps/sw-ws/WEB-INF

To add the link to go to ZINC from the SmallWorld results page, edit the swsearch.js JavaScript file

   /opt/tomcat/webapps/sw-ws/WEB-INF/static/swsearch.js

Creating Maps on SmallWorld

See the corresponding wiki page: http://wiki.docking.org/index.php/Creating_Maps_on_SmallWorld

Running SmallWorld from the Command Line

We have been running SmallWorld on n-9-22 as www which uses csh as the default shell. There is a file in /mnt/nfs/soft/www/home/smallworld called run_sw which contains the following commands to set up the SmallWorld Command Line Interface (CLI)

Set the SWDIR environment variable so SmallWorld scripts can access the 12 TB index

   setenv SWDIR /srv/db4

Set the path to the SmallWorld C++ Executables

   set path = ($path /opt/nextmove/bin)

Alias the keyword "sw" to access the Java CLI

   alias sw 'java -jar /opt/nextmove/sw.jar'

Tips for Running SmallWorld on the Command Line

Use sw help to get information about available commands

    sw help