Running CTP as a Linux Service
Revision as of 02:42, 10 September 2011 by Tim phillips (talk | contribs) (→Choosing between Ubuntu Desktop and Ubuntu Server)
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 How to install MIRC-Zn on Ubuntu Linux
- Download the script
wget http://timphillips.net/mirc/install-MIRC-Zn.txt
- Make it executable
mv ./install-MIRC-Zn.txt ./install-MIRC-Zn chmod 777 ./install-MIRC-Zn
- Run the script
./install-MIRC-Zn
1.1 What the script does
- Checks you're running it as root or using sudo.
- Stops the MIRC-Zn service if its running.
- Checks which chipset you're running.
- Enables 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 files 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.
1.2 The script itself (in case you don't trust the download)
#!/bin/bash # Make sure only root can run our script if $EUID -ne 0 ; then echo "This script must be run as root or using sudo" 1>&2 exit 1 fi # Stop MIRC-Zn if it is running if [ -f /etc/init/MIRC-Zn.conf ] then if [[ $(stop -q MIRC-Zn 2>&1 | grep Unknown) ]] then echo 'MIRC-Zn service not currently running ...' echo 'MIRC-Zn will be upgraded with the latest version from the RSNA site ...' else echo 'Stopping current MIRC-Zn service ...' echo 'MIRC-Zn will be upgraded with the latest version from the RSNA site ...' fi fi #reassure the user something is happening echo 'Updating Ubuntu repositories ...' #work in the temp folder cd /var/tmp #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 -qq 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 #reassure the user something is happening echo 'Downloading and installing required ubuntu packages ...' # packages installed: apt-get install -y -qq acpid htop unzip xauth libxtst6 sun-java6-jdk # if a previous version is here - get rid of it cd /usr/lib/jvm/java-6-sun/ if [ -f UNINSTALL-jai_imageio ]; then echo 'Removing previous install of JAI ImageIO ...' bash UNINSTALL-jai_imageio fi #work in the temp folder cd /var/tmp #check which chipset we're using case $(arch) in i686) CHIP=i586 CHIP2=i386 ;; x86_64) CHIP=amd64 CHIP2=amd64 ;; *) ;; esac #reassure the user something is happening echo 'Downloading JAI Image IO ...' #download the JAI tgz file # get jai binary if [ -f ./jai_imageio-1_1-lib-linux-$CHIP.tar.gz ]; then rm ./jai_imageio-1_1-lib-linux-$CHIP.tar.gz fi wget -q http://download.java.net/media/jai-imageio/builds/release/1.1/jai_imageio-1_1-lib-linux-$CHIP.tar.gz #reassure the user something is happening echo 'Installing JAI Image IO ...' #expand the tgz and put the files where they should go (excluding UNINSTALL) tar xzf ./jai_imageio-1_1-lib-linux-$CHIP.tar.gz mv ./jai_imageio-1_1/*.txt /usr/lib/jvm/java-6-sun/ mv ./jai_imageio-1_1/lib/libclib_jiio.so /usr/lib/jvm/java-6-sun/jre/lib/$CHIP2/ mv ./jai_imageio-1_1/lib/*.jar /usr/lib/jvm/java-6-sun/jre/lib/ext/ #generate the UNINSTALL file - using the version that comes in the binary install cat > /usr/lib/jvm/java-6-sun/UNINSTALL-jai_imageio <<DELIM #!/bin/sh # @(#)UNINSTALL-jai_imageio-jdk 3.1 06/05/12 16:18:39 # usage: UNINSTALL-jai_imageio echo "Uninstalling Java Advanced Imaging Image I/O Tools" rm -f *jai_imageio.txt rm -f jre/lib/ext/jai_imageio.jar rm -f jre/lib/ext/clibwrapper_jiio.jar if [ ( `uname` = "SunOS" ) -a ( `uname -p` = "sparc" ) ]; then rm -f jre/lib/sparc/libclib_jiio.so rm -f jre/lib/sparc/libclib_jiio_vis.so rm -f jre/lib/sparc/libclib_jiio_vis2.so if [ -f jre/lib/sparcv9/libclib_jiio.so ]; then rm -f jre/lib/sparcv9/libclib_jiio.so rm -f jre/lib/sparcv9/libclib_jiio_vis.so rm -f jre/lib/sparcv9/libclib_jiio_vis2.so fi fi if [ -f jre/lib/amd64/libclib_jiio.so ]; then rm -f jre/lib/amd64/libclib_jiio.so fi if [ -f jre/lib/i386/libclib_jiio.so ]; then rm -f jre/lib/i386/libclib_jiio.so fi rm -f UNINSTALL-jai_imageio echo "Done" DELIM #reassure the user something is happening echo 'Downloading RSNA MIRC Installer ...' # go to the target folder cd /usr/share # get MIRC installer if [ -f ./MIRC-installer.jar ]; then rm ./MIRC-installer.jar fi wget -q http://mirc.rsna.org/MIRC2/MIRC-installer.jar #reassure the user something is happening echo 'Writing an upstart script and putting it in /etc/init ...' # 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 -e echo -e echo -e echo 'Now the RSNA installer will run' echo 'You will be asked to choose a folder to install CTP/MIRC into' echo 'It should be /usr/share or the startup script wont work' echo -e 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 -e echo 'Here is what you have to do' echo ' - logout' echo ' - login again from a machine with a GUI and a display....' echo ' - using the switch to enable X forwarding' 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 ' - When you are logged in again re-run this script' else cd ~ echo 'Starting MIRC web service (this will also happen automatically at boot) ...' start MIRC-Zn echo -e echo 'finished - it should all be running' echo 'point your browser to this server and have a look' fi
2 Choosing between Ubuntu Desktop and Ubuntu Server
- 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.
- 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.
- TurnkeyLinux is a very good Ubuntu install for this purpose.
Any questions or comments please email me at timothy.john.phillips@gmail.com - Tim Phillips.