Running CTP as a Linux Service

From MircWiki
Revision as of 14:12, 9 September 2011 by Tim phillips (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

1 Instructions for installing the latest CTP/MIRC-Zn in Ubuntu

1.1 Choosing Ubuntu Desktop or Server?

  • Ubuntu Server
    • Makes more sense - MIRC is a web service after all.
    • Will be leaner and faster.
    • Can run on a headless server or virtual machine.
  • Ubuntu Desktop
    • Easier (very easy) if you're new to Linux.
    • May be very slightly slower but on modern hardware you are unlikely to notice the difference.
    • You can just do part 1 and then part 2 straight away (X-forwarding is not an issue).

1.2 How to cut and paste the script below into a file and execute it

  • Open an editor
nano ./install-MIRCn.sh
  • Cut and paste the code from the big box at the bottom of the page
  • Save the file and exit
ctrl-O and then hit enter
ctrl-X
  • Make it executable
chmod 777 ./install-MIRCn.sh
  • Run it
./install-MIRCn.sh
    • You will need to ssh in to the server with X-fowarding when you run the MIRC-Installer.jar file
    • The script below will talk you through it.
      • From a linux desktop to a linux server this is ssh -x username@host
      • From a mac to a linux server this is ssh -Y username@host
      • From a windows box you will need Putty and Xming X Server for MS Windows (google them).

1.3 The script

  • Check which chipset you're running
  • Enable the ubuntu partner repo (to get Oracle Java)
  • Answers the Java installation questions in advance
  • Installs SunJava and a few other necessary applications
  • Downloads the appropriate JAI ImageIO and fixes the inherent problem in the Linux release
  • Installs JAI ImageIO
  • Downloads the latest version of MIRC-Zn
  • Writes an upstart script (so that CTP/MIRC will be run as a service automatically)
  • Installs RSNA MIRC
  • If you have x-forwarding or are installing from Ubuntu Desktop ignore the below points
    • If you are logged in without X11 or X-forwarding this script will tell you and help you fix it.
    • By the time it gets to the part that needs X-forwarding it has installed the necessary libraries
    • You will need to exit and re login (ssh) in to the server with X-fowarding and run the MIRC-Installer.jar file
    • The script below will talk you through it.
      • From a linux desktop to a linux server this is ssh -x username@host
      • From a mac to a linux server this is ssh -Y username@host
      • From a windows box you will need Putty and Xming X Server for MS Windows (google them).
 #!/bin/bash

 #check which chipset we're using
 case $(arch) in
 i686)
 CHIP=i586
 ;;
 x86_64)
 CHIP=amd64
 ;;
 *)
 ;;
 esac

 # partner repo
 echo deb http://archive.canonical.com/ lucid partner >>/etc/apt/sources.list.d/partner.list
 apt-get update

 # preset the java answers:
 debconf-set-selections << END
 sun-java6-jdk shared/accepted-sun-dlj-v1-1 boolean true
 sun-java6-jre shared/accepted-sun-dlj-v1-1 boolean true
 sun-java6-bin shared/accepted-sun-dlj-v1-1 boolean true
 END

 # packages installed:
 apt-get install -y acpid htop unzip xauth libxtst6 sun-java6-jdk

 # get jai binary
 wget http://download.java.net/media/jai-imageio/builds/release/1.1/jai_imageio-1_1-lib-linux-$CHIP-jdk.bin

 # make it executable
 chmod 777 ./jai_imageio-1_1-lib-linux-$CHIP-jdk.bin

 # fix an inherent flaw in the file (thanks to JGrass for this)
 sed -i 's/+215/-n+215/' ./jai_imageio-1_1-lib-linux-$CHIP-jdk.bin

 # put it in the jdk folder
 mv ./jai_imageio-1_1-lib-linux-$CHIP-jdk.bin /usr/lib/jvm/java-6-sun/

 # execute the installer
 cd /usr/lib/jvm/java-6-sun/
 ./jai_imageio-1_1-lib-linux-$CHIP-jdk.bin

 # go back to the home folder
 cd -

 # get MIRC installer
 wget http://mirc.rsna.org/MIRC2/MIRC-installer.jar

 # make an upstart script
 cat > /etc/init/MIRC-Zn.conf <<DELIM
 description "MIRC Zn (CTP plugin not Tomcat)"
 author "Tim Phillips <timothy.john.phillips@gmail.com>"

 start on (local-filesystems and net-device-up IFACE!=lo)
 stop on stopping network-services

 respawn

 expect fork

 script
 cd /usr/share/CTP/
 java -jar ./CTP-runner.jar
 end script
 DELIM

 echo 'Now the RSNA installer will run'
 echo 'You will be asked to choose a folder to install CTP/MIRC into'
 echo 'It is very important that you type in /usr/share'
 echo 'Do not accept the default folder that it will offer you'
 echo 'hit enter to continue'
 read dummy
 echo -e
 echo -e

 if [[ $(java -jar ./MIRC-installer.jar 2>&1 | grep X11) ]]
 then
 # tell user to re-login with X forwarding
 echo -e
 echo '================================================'
 echo 'NOT FINISHED YET!!!!
 echo '================================================'
 echo -e
 echo 'X-forwarding is required for the MIRC installer'
 echo 'logout, type in exit and hit enter'
 echo 'and then login again from a machine with a screen....'
 echo 'From a mac: ssh -Y user@host'
 echo 'From a linux desktop: ssh -X user@host'
 echo 'If you are using windows you will need PuTTy and Xming (google them)'
 echo -e
 echo 'When you have logged in again type in:'
 echo 'java -jar ./MIRC-installer.jar'
 echo 'when prompted remember to install CTP/MIRC into /usr/share'
 echo 'when its finished - reboot and it should all be running'
 else
 echo 'finished - reboot and it should all be running'
 echo 'point your browser to this server and have a look'