Difference between revisions of "Running CTP as a Linux Service"

From MircWiki
Jump to navigation Jump to search
Line 49: Line 49:
 
*** From a windows box you will need Putty and Xming X Server for MS Windows (google them).
 
*** From a windows box you will need Putty and Xming X Server for MS Windows (google them).
 
   
 
   
  #!/bin/bash
+
#!/bin/bash
 
   
 
   
  #check which chipset we're using
+
#check which chipset we're using
  case $(arch) in
+
case $(arch) in
  i686)
+
i686)
  CHIP=i586
+
CHIP=i586
  ;;
+
;;
  x86_64)
+
x86_64)
  CHIP=amd64
+
CHIP=amd64
  ;;
+
;;
  *)
+
*)
  ;;
+
;;
  esac
+
esac
 
   
 
   
  # partner repo
+
# partner repo
  echo deb http://archive.canonical.com/ lucid partner >>/etc/apt/sources.list.d/partner.list
+
echo deb http://archive.canonical.com/ lucid partner >>/etc/apt/sources.list.d/partner.list
  apt-get update
+
apt-get update
 
   
 
   
  # preset the java answers:
+
# preset the java answers:
  debconf-set-selections << END
+
debconf-set-selections << END
  sun-java6-jdk shared/accepted-sun-dlj-v1-1 boolean true
+
sun-java6-jdk shared/accepted-sun-dlj-v1-1 boolean true
  sun-java6-jre 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
+
sun-java6-bin shared/accepted-sun-dlj-v1-1 boolean true
  END
+
END
 
   
 
   
  # packages installed:
+
# packages installed:
  apt-get install -y acpid htop unzip xauth libxtst6 sun-java6-jdk
+
apt-get install -y acpid htop unzip xauth libxtst6 sun-java6-jdk
 
   
 
   
  # get jai binary
+
# get jai binary
  wget http://download.java.net/media/jai-imageio/builds/release/1.1/jai_imageio-1_1-lib-linux-$CHIP-jdk.bin
+
wget http://download.java.net/media/jai-imageio/builds/release/1.1/jai_imageio-1_1-lib-linux-$CHIP-jdk.bin
 
   
 
   
  # make it executable
+
# make it executable
  chmod 777 ./jai_imageio-1_1-lib-linux-$CHIP-jdk.bin
+
chmod 777 ./jai_imageio-1_1-lib-linux-$CHIP-jdk.bin
 
   
 
   
  # fix an inherent flaw in the file (thanks to JGrass for this)
+
# 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
+
sed -i 's/+215/-n+215/' ./jai_imageio-1_1-lib-linux-$CHIP-jdk.bin
 
   
 
   
  # put it in the jdk folder
+
# put it in the jdk folder
  mv ./jai_imageio-1_1-lib-linux-$CHIP-jdk.bin /usr/lib/jvm/java-6-sun/
+
mv ./jai_imageio-1_1-lib-linux-$CHIP-jdk.bin /usr/lib/jvm/java-6-sun/
 
   
 
   
  # execute the installer
+
# execute the installer
  cd /usr/lib/jvm/java-6-sun/
+
cd /usr/lib/jvm/java-6-sun/
  ./jai_imageio-1_1-lib-linux-$CHIP-jdk.bin
+
./jai_imageio-1_1-lib-linux-$CHIP-jdk.bin
 
   
 
   
  # go back to the home folder
+
# go back to the home folder
  cd -
+
cd -
 
   
 
   
  # get MIRC installer
+
# get MIRC installer
  wget http://mirc.rsna.org/MIRC2/MIRC-installer.jar
+
wget http://mirc.rsna.org/MIRC2/MIRC-installer.jar
 
   
 
   
  # make an upstart script
+
# make an upstart script
  cat > /etc/init/MIRC-Zn.conf <<DELIM
+
cat > /etc/init/MIRC-Zn.conf <<DELIM
  description "MIRC Zn (CTP plugin not Tomcat)"
+
description "MIRC Zn (CTP plugin not Tomcat)"
  author "Tim Phillips <timothy.john.phillips@gmail.com>"
+
author "Tim Phillips <timothy.john.phillips@gmail.com>"
 
   
 
   
  start on (local-filesystems and net-device-up IFACE!=lo)
+
start on (local-filesystems and net-device-up IFACE!=lo)
  stop on stopping network-services
+
stop on stopping network-services
 
   
 
   
  respawn
+
respawn
 
   
 
   
  expect fork
+
expect fork
 
   
 
   
  script
+
script
  cd /usr/share/CTP/
+
cd /usr/share/CTP/
  java -jar ./CTP-runner.jar
+
java -jar ./CTP-runner.jar
  end script
+
end script
  DELIM
+
DELIM
 
   
 
   
  echo 'Now the RSNA installer will run'
+
echo 'Now the RSNA installer will run'
  echo 'You will be asked to choose a folder to install CTP/MIRC into'
+
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 'It is very important that you type in /usr/share'
  echo 'Do not accept the default folder that it will offer you'
+
echo 'Do not accept the default folder that it will offer you'
  echo 'hit enter to continue'
+
echo 'hit enter to continue'
  read dummy
+
read dummy
  echo -e
+
echo -e
  echo -e
+
echo -e
 
   
 
   
  if [[ $(java -jar ./MIRC-installer.jar 2>&1 | grep X11) ]]
+
if [[ $(java -jar ./MIRC-installer.jar 2>&1 | grep X11) ]]
  then
+
then
  # tell user to re-login with X forwarding
+
# have to re-login with X forwarding
  echo -e
+
echo -e
  echo '================================================'
+
echo '================================================'
  echo 'NOT FINISHED YET!!!!
+
echo 'NOT FINISHED YET!!!!
  echo '================================================'
+
echo '================================================'
  echo -e
+
echo -e
  echo 'X-forwarding is required for the MIRC installer'
+
echo 'X-forwarding is required for the MIRC installer'
  echo 'logout, type in exit and hit enter'
+
echo 'logout, type in exit and hit enter'
  echo 'and then login again from a machine with a screen....'
+
echo 'and then login again from a machine with a screen....'
  echo 'From a mac: ssh -Y user@host'
+
echo 'From a mac: ssh -Y user@host'
  echo 'From a linux desktop: ssh -X 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 'If you are using windows you will need PuTTy and Xming (google them)'
  echo -e
+
echo -e
  echo 'When you have logged in again type in:'
+
echo 'When you have logged in again type in:'
  echo 'java -jar ./MIRC-installer.jar'
+
echo 'java -jar ./MIRC-installer.jar'
  echo 'when prompted remember to install CTP/MIRC into /usr/share'
+
echo 'when prompted remember to install CTP/MIRC into /usr/share'
  echo 'when its finished - reboot and it should all be running'
+
echo 'when its finished - reboot and it should all be running'
  else
+
else
  echo 'finished - reboot and it should all be running'
+
echo 'finished - reboot and it should all be running'
  echo 'point your browser to this server and have a look'
+
echo 'point your browser to this server and have a look'

Revision as of 14:16, 9 September 2011

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
# have 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'