Website 3 Installing SOP

From ReactomeWiki

(Redirected from Website Installing SOP)
Jump to: navigation, search

Installation Notes


Note: The installation protocol below is specific to Debian/Ubuntu-derived Linux distributions. It has been tested on the following distributions:

  • Ubuntu 12.04 and 13.10
  • Debian 7.0


  • The server needs at least 8 Gbyte in the root file system.
  • You need to be comfortable on the unix command line interface
  • The installation requires root access
  • For best results, use a freshly installed Linux OS
  • The default is to run reactome on port 80 (apache) and port 8080 (tomcat). If you plan to use other ports, you will need to manually edit the files below after installation.

Reactome Amazon AMI

If you want an instance of reactome but don't want to install it manually, a pre-loaded, cloud-based instance of Reactome is available as an Amazon EC2 AMI (ami-0eb91f66).


  • Follow this link for a tutorial on launching EC2 instances.
  1. Sign on to amazon AWS
  2. Go to the EC2 control panel (
  3. Click on the Launch Instance button
  4. Click on Community AMIs
  5. Search for ami-0eb91f66
  6. Click the Select button next to Reactome
  7. On the left panel, click on General purpose to select an instance size
  8. Choose m3.large
  9. Follow the remaining steps under Continue... button on the bottom right
  10. Select/create a security group that allows your IP to connect to port 22 (ssh) and has ports 80 and 8080 open.

Automated Installation

A shell script that automates all of the system configuration, software downloads and installation is available for Debian/Ubuntu

Download and run the script

sudo /bin/bash

Alternatively, you can run the script without downloading it:

 curl | sudo bash
  • The script does not require any command-line arguments.
  • If run locally, it will prompt you for the MySQL root password to be created/used for mysql configuration and database set up.
  • The downloaded reactome software is already configured for database access and does not require user input.

Manual Installation

Downloading and installing the Reactome software.

 tar zxf reactome.tar.gz
 mv reactome /usr/local/gkb

Installing/Updating third-party software with apt-get

 apt-get clean  -yq
 apt-get update -yq
 apt-get install -yq \
 build-essential \
 perl \
 curl \
 mysql-server \
 apache2 \
 libexpat1 \
 libexpat1-dev \
 php5 \
 php5-mysql \
 libbio-perl-perl \
 libgd-gd2-perl \
 openjdk-7-jre-headless \

Make sure perl is in the expected location

 cd /usr/local/bin
 ln -s /usr/bin/perl

Installing CPAN Perl modules

We will use the cpanminus app to bring in the perl modules (less overhead than the CPAN shell)

 curl -L | perl - --sudo App::cpanminus
 cpanm -q \
 Archive::Tar \ 
 Data::CTable \
 File::Basename \
 GraphViz \
 IO::String \
 List::Compare \
 Math::Trig \
 SOAP::Lite \
 WWW::SearchResult \
 XML::Simple \


Downloading database dumps


Initializing databases

If you have set a MySQL root password, use the -p flag in the commands below.

  mysql -uroot [-p]  -e  \
  CREATE DATABASE gk_current;
  DROP DATABASE IF EXISTS gk_current_dn;
  CREATE DATABASE gk_current_dn;
  DROP DATABASE IF EXISTS gk_stable_ids;
  CREATE DATABASE gk_stable_ids;
  CREATE DATABASE gk_wordpress;'

Loading databases

Load the databases. These commands will take a while to run. Make sure you have at leat 8 Gbytes of available space on the file system that contains the mysql databases (default: /var/lib/mysql). [-p] is only required if you have configured a root password for mysql.

 zcat databases/gk_current.sql.gz | mysql -uroot [-p] gk_current
 zcat databases/gk_current_dn.sql.gz | mysql -uroot [-p] gk_current_dn
 zcat databases/gk_wordpress.sql.gz | mysql -uroot [-p] gk_wordpress
 zcat databases/gk_stable_ids.sql.gz | mysql -uroot [-p] gk_stable_ids

Setting database access permissions

Set the access permissions (get the login credentials from /usr/local/gkb/database/login.txt) The defaults and config file locations can be seen by:

 cat /usr/local/gkb/database/login.txt

 UNAME="Your mysql username"
 UPASS="Your mysql password" 
 mysql -uroot [-p] -e "GRANT SELECT ON gk_stable_ids.* TO '$UNAME'@'localhost' IDENTIFIED BY '$UPASS'"
 mysql -uroot [-p] -e "GRANT SELECT ON gk_current.*     TO '$UNAME'@'localhost' IDENTIFIED BY '$UPASS'"
 mysql -uroot [-p] -e "GRANT ALL ON gk_current_dn.* TO '$UNAME'@'localhost' IDENTIFIED BY '$UPASS'"
 mysql -uroot [-p] -e "GRANT ALL ON gk_wordpress.*   TO '$UNAME'@'localhost' IDENTIFIED BY '$UPASS'"

Apache Web Server

Configuring Apache2

Make sure we have the required modules enabled

 cd /etc/apache2/mods-available
 a2enmod \
 mime \
 include \
 autoindex \
 dir \
 cgi \ 
 alias \
 proxy \
 proxy_http \

Set up the reactome configuration

 cd /etc/apache2/sites-available
 cp /usr/local/gkb/website/conf/httpd.conf reactome.conf
 a2dissite default
 a2ensite reactome.conf

Note on Apache 2.4+

If you are using apache 2.4 or later, there is a syntax change in the configuration.

  • Edit /etc/apache2/sites-available/reactome.conf to uncomment the line below (it occurs twice in the file).
 #Require all granted

(Re)Starting the server

/etc/init.d/apache2 restart

Tomcat Servlet

tomcat7 user

This is the user that will own the tomcat process

 groupadd tomcat7
 useradd -g tomcat7 -s /sbin/nologin -d /opt/tomcat/temp tomcat7

Download software

Download the software from Apache.

 cd /usr/local/gkb/tomcat
 rm -fr apache-tomcat* 
 wget wget 
 tar zxf apache-tomcat-7.0.50.tar.gz
 rm -f apache-tomcat-7.0.50.tar.gz
 ln -s apache-tomcat-7.0.50 apache-tomcat
 cp etc_init.d_tomcat7 /etc/init.d/tomcat7

Install the Java components of Reactome

 cd /usr/local/gkb/tomcat
 mv webapps/*.war apache-tomcat/webapps
 rm -fr webapps
 chown -R tomcat7:tomcat7 apache-tomcat-${VER}

Starting the server

/etc/init.d/tomcat7 restart

Configuring tomcat to start on system boot

sudo update-rc.d tomcat7 defaults