Skip to content

reactome/Website

Repository files navigation

Website

Introduction

We’ve launched our new website fully responsive and based in Joomla CMS! The new website has been designed to provide the ultimate user-friendly experience with improved navigation and functionality throughout. In this repository, we're going to describe how to install and configure this website to be included in a container or in your local environment.

responsive_reactome

Pre-requirements

Server

  1. Apache HTTP Server 2.4.10 (https://httpd.apache.org/)
  2. MySQL 5.5.55
  3. PHP 5.6.30

Please visit this page in order to get a full detailed requirements

Local Environments

Any software bundle

  1. MAMP for macOS
  2. LAMP for Linux or
  3. XAMPP for Cross-Platform
  • Instructions will be given on Unix-based OS

Getting started

  1. Locate the htdocs folder or the DocumentRoot already configured in your HTTP Server.
  2. Clone this repository and navigate to Website folder
git clone https://github.com/reactome/Website.git

⚠️ For security and privacy issues our Joomla Website Database and Joomla configuration.php are not available for public use. Please use the given configuration.php provided below and a clean database could be found in database/joomla_website_public.sql. Do not use this database in a production/public environment.

MySQL Database

Creating database

mysql -u <user> -p<password> -e "CREATE DATABASE website DEFAULT CHARACTER SET utf8;"

Importing database

mysql -u <user> -p<password> website < database/joomla_website_public.sql

Setting up configuration.php

configuration.php is located in <XAMPP_HOME>/htdocs/Website/configuration.php. Due to privacy issues you won't find this file and you may need to create it manually.

$> cd <XAMPP_HOME>/htdocs/Website/
$> vi configuration.php

...and copy and paste the content below

<?php
class JConfig {
  public $offline = '0';
  public $offline_message = 'This site is down for maintenance.<br />Please check back again soon.';
  public $display_offline_message = '1';
  public $offline_image = '';
  public $sitename = 'Reactome Pathway Database';
  public $editor = 'jce';
  public $captcha = '0';
  public $list_limit = '20';
  public $access = '1';
  public $debug = '0';
  public $debug_lang = '0';
  public $dbtype = 'mysqli';
  public $host = 'localhost';
  public $user = 'root';
  public $password = 'root';
  public $db = 'website';
  public $dbprefix = 'rlp_';
  public $live_site = '';
  public $secret = 'joomla_secret';
  public $gzip = '0';
  public $error_reporting = 'default';
  public $helpurl = 'https://help.joomla.org/proxy?keyref=Help{major}{minor}:{keyref}&lang={langcode}';
  public $ftp_host = '';
  public $ftp_port = '';
  public $ftp_user = '';
  public $ftp_pass = '';
  public $ftp_root = '';
  public $ftp_enable = '0';
  public $offset = 'America/Toronto';
  public $mailonline = '1';
  public $mailer = 'mail';
  public $mailfrom = 'yourmail@yourdomain.com';
  public $fromname = 'Reactome';
  public $sendmail = '/usr/sbin/sendmail';
  public $smtpauth = '0';
  public $smtpuser = '';
  public $smtppass = '';
  public $smtphost = 'localhost';
  public $smtpsecure = 'none';
  public $smtpport = '25';
  public $caching = '0';
  public $cache_handler = 'file';
  public $cachetime = '15';
  public $cache_platformprefix = '0';
  public $MetaDesc = 'Reactome is pathway database which provides intuitive bioinformatics tools for the visualisation, interpretation and analysis of pathway knowledge.';
  public $MetaKeys = 'pathway,reactions,graph,bioinformatics';
  public $MetaTitle = '1';
  public $MetaAuthor = '0';
  public $MetaVersion = '0';
  public $robots = '';
  public $sef = '1';
  public $sef_rewrite = '1';
  public $sef_suffix = '0';
  public $unicodeslugs = '0';
  public $feed_limit = '10';
  public $feed_email = 'none';
  public $log_path = '<XAMPP_HOME>/htdocs/Website/administrator/logs';
  public $tmp_path = '<XAMPP_HOME>/htdocs/Website/tmp';
  public $lifetime = '45';
  public $session_handler = 'database';
  public $memcache_persist = '1';
  public $memcache_compress = '0';
  public $memcache_server_host = 'localhost';
  public $memcache_server_port = '11211';
  public $memcached_persist = '1';
  public $memcached_compress = '0';
  public $memcached_server_host = 'localhost';
  public $memcached_server_port = '11211';
  public $redis_persist = '1';
  public $redis_server_host = 'localhost';
  public $redis_server_port = '6379';
  public $redis_server_auth = '';
  public $redis_server_db = '0';
  public $proxy_enable = '0';
  public $proxy_host = '';
  public $proxy_port = '';
  public $proxy_user = '';
  public $proxy_pass = '';
  public $massmailoff = '0';
  public $MetaRights = '';
  public $sitename_pagetitles = '2';
  public $force_ssl = '0';
  public $session_memcache_server_host = 'localhost';
  public $session_memcache_server_port = '11211';
  public $session_memcached_server_host = 'localhost';
  public $session_memcached_server_port = '11211';
  public $frontediting = '1';
  public $cookie_domain = '';
  public $cookie_path = '';
  public $asset_id = '1';
  public $replyto = '';
  public $replytoname = '';
  public $shared_session = '0';
  public $session_redis_server_host = 'localhost';
  public $session_redis_server_port = '6379';
  public $show_notice_mod = '0';
  public $ga_tracking_code = 'UA-1';
}

...set your database credentials and/or database name, if needed

public $user = 'root';
public $password = 'root';
public $db = 'website';

...set administrator mail address

public $mailfrom = 'yourmail@yourdomain.com';

...set <XAMPP_HOME> for the log_path and tmp_path. In general, it is the absolute path where the Website resides.

public $log_path = '<XAMPP_HOME>/htdocs/Website/administrator/logs';
public $tmp_path = '<XAMPP_HOME>/htdocs/Website/tmp';

...last, once everything is set, please change the configuration.php file permissions

# file has to be read-only
chmod 444 configuration.php

More detailed explanation of every variable in this configuration file can be found here

⚠️ If you need to edit it, make a backup copy. And do not change default values, unless you know what you are doing.

Setting up .htaccess

In our live website, we force all the requests to be over SSL connection (https) and this configuration is done in the <XAMPP_HOME>/htdocs/Website/.htaccess. To disable SSL, please follow these steps:

cd <XAMPP_HOME>/htdocs/Website
vi .htaccess

and comment out the following line

# RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,NC,L]

Starting up the services

MAMP - https://www.mamp.info/en/#controlcenter

XAMPP - https://www.apachefriends.org/faq_linux.html

Testing the Website

Each software bundle starts using a different port, e.g XAMPP uses port 80 and MAMP uses port 8888 by default

Accessing http://localhost/Website you should see Reactome Website

Available accounts

In order to access Administrator area an account is need to log in.

user:     admin
password: Not2$hare

Also, front-end editing is available in the Staff area, again, username, emails and passwords were removed.

user:     unknown162
password: @Dock3r999

Troubleshooting

  1. I went through all the steps, but my website doesn't work and it only shows Error Website doesn't work

Reason: Joomla can't access the database

Potential Solution:

  • Check MySQL user and password
  • Check if the database has been created
  • Check if the tables are there and their prefix is rlp_
  • Double check those values in the configuration.php
  public $user = 'root';
  public $password = 'root';
  public $db = 'website';
  public $dbprefix = 'rlp_';
  1. Enable PHP debug
vi <XAMPP_HOME>/htdocs/Website/.htaccess
Locate and uncomment the following line #php_flag display_errors on
Restart apache

Now, the website will print more descriptive error. Then, Google the error and fix it. Comment the php_flag once the error is addressed.

  1. SimpleXML is disabled in PHP7 -> sudo apt-get install php7.0-xml

  2. Apache Modules

 sudo a2enmod rewrite
 sudo a2enmod headers
 sudo a2enmod include
 sudo a2enmod proxy
 sudo a2enmod proxy_http

About

Contains the code and configuration for the website

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published