- Java 1.8 & higher (should already be installed on most systems)
- Tomcat web server
- Apache
- KnetMiner
- Maven
- Eclipse Luna (version 4.4 or above) (For development and deployment, NetBeans IDE also works, this guide uses Eclipse)
- Node.js (for Genomaps/ Map View in client)
Everything follows tested on Fedora 20, Kernel 3.18.9-100.fc20.x86_64, Tomcat 7.0.52.0, Eclipse 4.4.2, Maven 3.1.1
Install and start Tomcat on Fedora:
sudo yum install tomcat tomcat-webapps tomcat-admin-webapps
.. on Ubuntu:
sudo apt-get install tomcat tomcat-admin
To start Tomcat (it may already be running on Ubuntu, check using “service tomcat status”)
sudo service tomcat start
At this point, “localhost:8080” and “localhost:8080/manager” should work. The second “manager” link should ask for username/password, you can set that one in /etc/tomcat/tomcat-users.xml like this (with a more reasonable password of course, with a bit of extra configuration it is also possible to use SHA or MD5 digested passwords instead of the insecure plaintext, see for example http://www.badllama.com/content/encrypting-tomcat-usersxml-passwords )
<user name="admin" password="password" roles="admin,admin-gui,manager-gui" />
Note: For deploying client .war via Tomcat (after our recent KnetMiner code upgrade to Java 8), you will need to have Java 7 & above installed. And set the JAVA_HOME
path in Tomcat config (e.g., in /etc/tomcat6/tomcat6.conf
as below):
JAVA_HOME=”/etc/alternatives/jre_1.7.0”
Now, restart tomcat:
sudo service tomcat restart
and the login should work. If it doesn't work, check the logs under /var/log/tomcat/ to see what went wrong.
Later on, deployment manually and via Eclipse will talk to Tomcat's manager.
Install Maven on Fedora:
sudo yum install maven
.. on Ubuntu:
sudo apt-get install maven
Maven is used to compile and deploy KnetMiner to your server.
Install Eclipse:
sudo yum (or apt-get) install eclipse
Install the Maven plugin m2e for Eclipse:
- In Eclipse, go to Help → Install New Software...
- Under “Work with:” enter “http://download.eclipse.org/technology/m2e/releases”
- Press Enter
- In the below list, something similar to “Maven Integration for Eclipse” should appear
- Select this package, click “Next”, it will be installed. IMPORTANT: m2e needs at least Eclipse 4.4, if that one isn't installed the plugin installation will not work.
- In newer versions of Eclipse there is a good chance that m2e is already installed and it will show this at this point.
Use your operating system's package manager to install node and npm, for Fedora:
yum -y install nodejs npm
Get KNetMiner from Github:
git clone https://github.com/Rothamsted/KnetMiner
The folder “common” includes all of the actual functionality, the other folders (“arabidopsis”, “poplar”, etc.) contain project-specific settings. Remember DRY?
- Import KnetMiner into Eclipse (optional):
- Click “File → Import... → Maven → Existing Maven Projects” (If there is no Maven-option here, the installation of m2e was not successful or hasn't finished yet)
- In the new window, click “Browse”
- Navigate to the root directory of KnetMiner (the one with the files “README.md”, “LICENSE” and “pom.xml”), click “Select All”, click “Advanced” and select “[artifactId]” in “Name template”, and click “Finish”.
There will be a few warnings (like “GroupId is duplicate of parent groupId” but you can ignore these.
These projects also depend on Ondex code, so we have to import that one into Eclipse, as well.