Running CTP as a Linux Service

From MircWiki
Revision as of 12:04, 9 September 2011 by Tim phillips (talk | contribs)
Jump to navigation Jump to search

This is most easily done using Ubuntu If you are using virtual machines I recommend [http://turnkeylinux


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

1.1 Desktop or Server?

  • Ubuntu Server
    • Makes more sense - MIRC is a web service after all
    • Will be leaner and faster
    • You will need to ssh in to the server with X-fowarding when you run the MIRC-Installer.jar file
      • 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).
  • 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 The script

You can cut and paste each line to the command prompt or just put the whole thing into a file and execute it. This script does the following things:

  1. Check which chipset you're running
  2. Enable the ubuntu partner repo (to get Oracle Java)
  3. Answers the Java installation questions in advance
  4. Installs SunJava and a few other necessary applications
  5. Downloads the appropriate JAI ImageIO and fixes the inherent problem in the Linux release
  6. Installs JAI ImageIO
  7. Downloads the latest version of MIRC-Zn
  8. Writes an upstart script (so that CTP/MIRC will be run as a service automatically)
#!/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 

# have to re-login with X forwarding
echo 'type exit to logout and then log back in with ssh -Y root@host (from a mac) '

# 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