[[TracNav(xQTL)]]
= [wiki:xQTL xQTL workbench] - Installation and maintanance =
xQTL can be installed, ran and updated on any machine that has Java installed. For safety, we recommend you perform these action as a regular UNIX user and not as root.
=== Installation ===
You will need: [http://ant.apache.org/ Ant], [http://subversion.apache.org/ Subversion], [http://www.java.com/ Java].[[BR]]
[[BR]]
Create a directory somewhere to work in, e.g. `/Users/johndoe/xqtl`, and `cd` to there. Run these commands:[[BR]]
[[BR]]
`svn co http://www.molgenis.org/svn/molgenis/trunk/ molgenis`[[BR]]
`svn co http://www.molgenis.org/svn/molgenis_apps/trunk/ molgenis_apps`[[BR]]
`ant -f molgenis_apps/xqtl_dev.xml make_run`[[BR]]
[[BR]]
By the way, Ant can be made faster by giving it more memory. Use e.g. `export ANT_OPTS=-Xmx512m`[[BR]]
The application is now running at: `http://localhost:8080/xqtl`[[BR]]
Then login with user/pw: `admin` / `admin`[[BR]][[BR]]
You are taken to the homepage, where a special prompt appears that allows you to setup the application with example users and data with one click.[[BR]]This prompt only appears if you are logged in as admin, and if the application contains no investigations or other users. This concludes setting up the application.[[BR]][[BR]]PLEASE NOTICE: For subsequent starts of the application, use:[[BR]]
`ant -f molgenis_apps/xqtl_dev.xml`[[BR]][[BR]]
To avoid regeneration and recompilation. It calls the default target '`run`'. Things you should do next are..
[[BR]]
* Change the admin password[[BR]]
* Load the example data/users. Or let users register themselves and put them in the group 'biologist' or 'bioinformatician'. You can even add users manually.[[BR]]
* Install R so the ''Rplot'' plugin will work. And install the R packages to be able to run QTL mapping locally.[[BR]]
* Run a default analysis to see that everything is setup correctly.
=== Updating ===
Consider creating an SH script to do the updating for you. For example, this script kills/starts the application on port 9000 and assumes you have used the above installation/checkour dirs:[[BR]]
{{{#!html
kill -9 `lsof -i :9000 -t`
cd ~/xqtl
svn update molgenis molgenis_apps
cd molgenis_apps
ant -f xqtl_dev.xml clean_make
nohup ant -f xqtl_dev.xml runOn -Dport=9000 &
}}}
=== Development and deployment ===
''Go into the application source for convenient access to the Ant scripts:''[[BR]]
`cd molgenis_apps`[[BR]]
'''Run the application on a specified port''', and only this port:[[BR]]
`ant -f xqtl_dev.xml runOn -Dport=9000`[[BR]]
'''Update the application''':[[BR]]
`svn update molgenis molgenis_apps`[[BR]]
Followed by at least recompilation. This is the 'fast but may fail' option.[[BR]]
`ant -f xqtl_dev.xml recompile`[[BR]]
For some updates you must remake the application, which includes MOLGENIS generation and recompilation. This is the 'safe but slow' option.[[BR]]
`ant -f xqtl_dev.xml clean_make`[[BR]]
You can '''run the data- and webtest''' yourself to find out if your version is stable:[[BR]]
`ant -f xqtl_dev.xml test`[[BR]]
`ant -f xqtl_selenium.xml webtest` (if this fails: try running as root due to permissions)
You can '''remove all generated and compiled code''':[[BR]]
`ant -f xqtl_dev.xml clean`[[BR]]
Followed by e.g. a make:[[BR]]
`ant -f xqtl_dev.xml make`[[BR]]
And even delete the HSQL database:[[BR]]
`ant -f xqtl_dev.xml deletedb`[[BR]]
For '''further details''' you can consult the source of the various scripts:
[http://www.molgenis.org/svn/molgenis_apps/trunk/xqtl_dev.xml development], [http://www.molgenis.org/svn/molgenis_apps/trunk/xqtl_selenium.xml webtesting], [http://www.molgenis.org/svn/molgenis_apps/trunk/xqtl_jar.xml jarbuilding].
[[BR]][[BR]][[BR]]
= OLDER STUFF =
[[BR]]
Older wiki @ http://www.molgenis.org/wiki/xQTLDemo
[[BR]][[BR]]
=== Complete Ubuntu installation and run (1 aug 2011) ===
`sudo apt-get install subversion`[[BR]]
`sudo apt-get install ant`[[BR]]
`sudo apt-get install openjdk-6-jdk`[[BR]]
`svn co http://www.molgenis.org/svn/molgenis/trunk/ molgenis`[[BR]]
`svn co http://www.molgenis.org/svn/molgenis_apps/trunk/ molgenis_apps`[[BR]]
`ant -f molgenis_apps/xqtl_dev.xml make_run`[[BR]]
[[BR]]
Note: If you didn't start the application as root, you may not have the rights to use the default storage path. In that case, set it to somewhere inside your home folder and proceed as usual. E.g. use `home/harry/xqtl/`
[[BR]][[BR]][[BR]][[BR]][[BR]]
== Vagrant Debian squeeze installation ==
=== Links ===
[http://vagrantup.com/ Vagrant][[BR]]
[http://mathie-vagrant-boxes.s3.amazonaws.com/debian_squeeze_32.box Debian Squeeze][[BR]]
[http://woss.name/2011/02/07/vagrant-base-bo-for-debian-squeeze/ Run Debian Squeeze using Vagrant]
=== Script ===
`sudo su`[[BR]]
`apt-get update`[[BR]]
`apt-get install ant subversion default-jdk -y`[[BR]]
`mkdir xqtlwb`[[BR]]
`cd xqtlwb`[[BR]]
`svn co http://www.molgenis.org/svn/molgenis/trunk/ molgenis`[[BR]]
`svn co http://www.molgenis.org/svn/molgenis_apps/trunk/ molgenis_apps`[[BR]]
`ant -f molgenis_apps/xqtl_dev.xml make_run`[[BR]]
=== Download and run (OSX, UNIX, Windows): ===
[Todo: link to ZIP file with working application]
=== Download source, compile and run (OSX/UNIX): ===
Required: [http://ant.apache.org/ Ant], [http://subversion.apache.org/ Subversion], [http://www.java.com/ Java]. Pick either the ''Stable'' or ''Unstable'' checkout.
''Stable''
`svn co TODO`[[BR]]
`svn co TODO`
''Unstable''
`svn co -r 8238 http://www.molgenis.org/svn/molgenis/branches/nobinlibs/`[[BR]]
`svn co -r 8239 http://www.molgenis.org/svn/molgenis_apps/trunk/`
`mv nobinlibs molgenis`[[BR]]
`mv trunk molgenis_apps`[[BR]]
`ant -f molgenis/standalone.xml`[[BR]]
`mv molgenis/dist/molgenis-4.0.0.jar molgenis_apps/dist/`[[BR]]
`ant -f molgenis_apps/standalone.xml generate`[[BR]]
`ant -f molgenis_apps/standalone.xml`[[BR]]
`cd molgenis_apps/dist/`[[BR]]
`java -jar Application.jar`
__If ant fails with a heapspace error, use:__[[BR]]`export ANT_OPTS=-Xmx512m`
Application running at: http://localhost:8080/molgenis_apps/ [[BR]]Setup database using: http://localhost:8080/molgenis_apps/resetdatabase_4EE1D7A3E73C504183B69F7D20108853
''APP IS BROKEN AT THIS POINT:''
''start running create_tables.sql[[BR]]java.lang.!NullPointerException[[BR]] at java.io.Reader.(!Reader.java:61) [[BR]] at java.io.!InputStreamReader.(!InputStreamReader.java:55) [[BR]] at plugins.emptydb.emptyDatabase.empty(Unknown Source)''
=== Download source into development IDE (OSX, UNIX, Windows): ===
1. Install the [http://www.eclipse.org Eclipse] IDE[[BR]]
2. Install [http://subclipse.tigris.org/update_1.6.x Subclipse] for Eclipse[[BR]]
3. Install JBoss tools [http://download.jboss.org/jbosstools/updates/development/indigo/ Freemarker] for Eclipse[[BR]]
4. Add SVN repository http://ww.molgenis.org/svn [[BR]]
5. Checkout `/molgenis/trunk`[[BR]]
6. Checkout `/molgenis_apps/trunk`