Search This Blog

Install XNAT on Ubuntu 14.04

  1. Install and configure postgresql
    • Install postgresql:
      sudo apt-get install postgresql
    • Edit /etc/postgresql/9.3/postgresql.conf, and set:
      standard_conforming_strings=off
    • Restart postgresql:
      sudo /etc/init.d/postgresql restart
  2. Install Java 7
    • Run the following commands to install Java 7 SDK:
      sudo add-apt-repository ppa:webupd8team/java
      sudo apt-get update
      sudo apt-get install oracle-java7-installer
      sudo echo "export JAVA_HOME=/usr/lib/jvm/java-7-oracle" >> /etc/bash.bashrc
      
    • Run the following command to set Java 7 as default(java):
      sudo apt-get install oracle-java7-set-default
  3. Install Tomcat 7:
    export JAVA_HOME=/usr/lib/jvm/java-7-oracle; sudo apt-get install tomcat7
    
  4. Install Maven:
    cd /opt/; sudo wget http://apache.mirror.serversaustralia.com.au/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
    sudo tar zxvf apache-maven-3.3.9-bin.tar.gz
    sudo ln -s /opt/apache-maven-3.3.9/ /opt/maven
  5. Download and extract XNAT source:
    cd /opt
    sudo wget ftp://ftp.nrg.wustl.edu/pub/xnat/xnat-1.6.5.tar.gz
    sudo tar zxvf xnat-1.6.5.tar.gz
  6. Create XNAT unix user:
    sudo useradd -u 6667 -d /opt/xnat -s /bin/bash xnat
    sudo usermod -a -G tomcat7 xnat
    sudo chown -R xnat:xnat /opt/xnat
  7. Prepare XNAT directories:
    sudo mkdir /data/xnat/archive
    sudo mkdir /data/xnat/prearchive
    sudo mkdir /data/xnat/ftp
    sudo mkdir /data/xnat/cache
    sudo mkdir /data/xnat/build
    Note: /data/xnat should be the mount point for large storage for XNAT.
  8. Set up environment variables for xnat user, by editting .bashrc file:
    sudo su xnat
    vi ~/.bashrc
    add the following:
    # JAVA
    export JAVA_HOME=/usr/lib/jvm/java-8-oracle
    export PATH=$JAVA_HOME/bin:$PATH
    
    
    # Maven
    export MAVEN_HOME=/opt/maven
    export PATH=$PATH:$MAVEN_HOME/bin
    
    # Tomcat
    export TOMCAT_HOME=/opt/tomcat
    export PATH=$PATH:$TOMCAT_HOME/bin
    
    # XNAT
    export XNAT_HOME=/opt/xnat
    export PATH=$PATH:$XNAT_HOME/bin
  9. Create XNAT database user xnat01:
    sudo su postgres
    createuser -U postgres -S -D -R -P xnat01
    Note: set and remember the password for db user xnat01, you will need it in the XNAT build.properties file.
  10. Create XNAT database:
    sudo su postgres
    createdb -U postgres -O xnat01 xnat
  11. Edit build.properties:
    su xnat
    cd /opt/xnat
    cp build.properties.sample build.properties
    vi build.properties
    and the content should be like below:
    maven.appserver.home = /var/lib/tomcat7
    
    xnat.site.title=XNAT
    xdat.project.name=xnat
    xdat.project.db.name=xnat
    xdat.project.db.driver=org.postgresql.Driver
    xdat.project.db.connection.string=jdbc:postgresql://localhost/xnat
    xdat.project.db.user=xnat01
    xdat.project.db.password=XXXXXXX
    xdat.archive.location=/data/xnat/archive
    xdat.prearchive.location=/data/xnat/prearchive
    xdat.cache.location=/data/xnat/cache
    xdat.ftp.location=/data/xnat/ftp
    xdat.build.location=/data/xnat/build
    xdat.mail.server=mail.yourdomain.org
    xdat.mail.port=25
    xdat.mail.protocol=smtp
    xdat.mail.username=
    xdat.mail.password=
    xdat.mail.admin=admin@xnat.yourdomain.org
    xdat.url=http://192.168.100.12:8080/xnat
    xdat.require_login=true
    xdat.enable_new_registrations=false
    xdat.security.channel=any
    xdat.enable_csrf_token=true
    Note: xdat.url need to be set to the public ip or address instead of localhost if you want the XNAT server to be accessed from other computers.
  12. Edit project.properties file. and replace the 'maven.repo.remote' line with
    maven.repo.remote=https://nrgxnat.artifactoryonline.com/nrgxnat/xnat-maven1
  13. Run setup.sh script
    sudo su xnat
    cd /opt/xnat
    bin/setup.sh
  14. Create Database tables & views:
    cd /opt/xnat
    psql xnat01 -h localhost -d xnat -f deployments/xnat/sql/xnat.sql
    
    Note: you need supply the password for db user xnat01.
  15. Store initial security settings:
    sudo su xnat; cd /opt/xnat/deployments/xnat
    StoreXML -project xnat -l security/security.xml -allowDataDeletion true
  16. Store Example Custom Variable Sets:
    sudo su xnat; cd /opt/xnat/deployments/xnat
    StoreXML -dir ./work/field_groups -u admin -p admin -allowDataDeletion true
  17. Deploy the web app
    sudo su xnat; cd /opt/xnat
    bin/update.sh -Ddeploy=true
  18. Set the ownership of web app directory:
    sudo su chown -R tomcat7:tomcat7 /var/lib/tomcat7/webapps/xnat

No comments:

Post a Comment