Installing Kaldin Online Exam Management Solution On Debian 7 (Wheezy - AMD64)
Kaldin is a java/tomcat based online assessment software to help instructors create online assessments. Visit this page for more details: http://www.kaldin.com/ The script presented in this tutorial will install Kaldin for you. I have successfully tested this script on Debian_7.0.0 amd64 netinst CD image. So Ubuntu_12.04 should also work fine but use at your own risk.
This script will perform the below steps automatically:
(1) Install Oracle Java from ppa
(2) Install Apache2, MySQL-5.5, Tomcat7 from the debian stable sources
(3) Install webmin
(4) Set Apache as proxy for tomcat
At the end, you should see a kaldin installation page on http://your_server_ip/kaldin, proceed with filling all the required details, this will populate the MySQL DB and allows you to login.
Below workarounds are not explained:
PHPMyadmin is useful when dealing with MySQL, and is also needed when editing certain entries in Kaldin DB - Namely email_settings.
Webmin is useful when dealing with any Linux servers, in this case, it is very useful in dealing Postfix.
How to use this script..?
cd /tmp/
vi kaldin
Copy & paste the below code (just copy the script and right click inside vi editor).
Change SERVER_FQDN, hit Esc then Shift+ZZ will save (you should be knowing how to use vi editor).
chmod +x kaldin
./kaldin ## This will start the installation, just follow the on-screen instructions
#!/bin/bash ######### Installing Kaldin Online Exam Management Solution ############# ######### On Debian_7.0.0_x64 with Tomcat-7,Oracle-java7, MySQL5, Apache2, PHP5 and Webmin ######### Kaldin installation will fail if no JDK installation found ##### Kaldin is a java/tomcat based online assessment software to help instructors to create online assessments ##### visit this page for more details: http://www.kaldin.com/ ## VAR KALDIN_VER=2.1 ## Version of Latest Kaldin KALDIN_SOURCE=http://hivelocity.dl.sourceforge.net/project/kaldin/Kaldin-2.1/Kaldin-2.1.zip ## Direct download Link for Kaldin WAR file KALDIN_PROXY=/etc/apache2/conf.d/kaldin.conf SOURCES_APT=/etc/apt/sources.list APACHE_CONF=/etc/apache2/apache2.conf JDK_VER=oracle-java7 JDKPATH=/usr/lib/jvm/ SERVER_FQDN=howtoforge.org ## Change this as per your server name ## ##### Function to prompt for user attention function pause(){ read -p "$*" } #### Installing Oracle-JAVA7 ## The following command will fix the add-apt-repository command: sudo apt-get -y update sudo apt-get -y dist-upgrade sudo apt-get -y upgrade sudo apt-get -y install python-software-properties sudo add-apt-repository ppa:webupd8team/java sudo apt-get update && sudo apt-get -y install oracle-jdk7-installer #echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list #echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list #apt-key adv --keyserver hkp://keyserver.ubuntu.com:80/ --recv-keys EEA14886 #apt-get update #apt-get -y install oracle-java7-installer ##### if dpkg --get-selections | grep $JDK_VER; then echo "Found Oracle JDK $JDK_VER, Kaldin can be installed on this system" else echo "Oracle JDK $JDK_VER wasn't found in $JDKPATH, please check the installation and/or path $JDKPATH" echo "Please correct the JDK installation and then run the Kaldin installer script. Kaldin installer is exiting now" exit 1; fi #### Install main packages apt-get -y install sudo vim unzip mysql-server apache2 tomcat7 php5 phpmyadmin postfix echo "JAVA_HOME=/usr/lib/jvm/java-7-oracle" >> /etc/default/tomcat7 ###### Installing webmin echo "Creating webmin sources for apt" cat >> $SOURCES_APT << EOF ##[Webmin] deb http://download.webmin.com/download/repository sarge contrib deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib EOF cd /root wget http://www.webmin.com/jcameron-key.asc apt-key add jcameron-key.asc apt-get update apt-get -y install webmin #cd /var/lib/tomcat7/webapps/ cd /tmp/ echo "downloading kaldin2.1 from $KALDIN_SOURCE" wget $KALDIN_SOURCE echo "Extracting Kaldin-2.1.zip" sudo unzip Kaldin-2.1.zip sudo cp Kaldin-2.1/kaldin/webapps/kaldin.war /var/lib/tomcat7/webapps ##### Installing Kaldin ## Check the permissions for tomcat directories chown -R tomcat7:tomcat7 /usr/share/tomcat7 chown -R tomcat7:tomcat7 /var/lib/tomcat7 #pause 'Press [Enter] if kaldin.war has been downloaded successfully, else open another SSH session, download kaldin.war to /var/lib/tomcat7/webapps/, come over here and then press [Enter] to continue' ##### Setting up apache2 with "ServerName $SERVER_FQDN:80" echo "I am assuming $SERVER_FQDN as the default FQDN, this is required to update in the file apache.conf file" echo "Type 'y' if you want to change the $SERVER_FQDN to your own" echo "Type 'n' to continue with $SERVER_FQDN" read item case "$item" in y|Y) echo "Please type the Server FQDN in the form of foo.domain.com" read inputline SERVERFQDN=$inputline ;; n|N) echo "Continuing with $SERVER_FQDN" SERVERFQDN=$SERVER_FQDN;; *) echo "Not an answer";; esac echo "ServerName $SERVERFQDN:80" >> $APACHE_CONF ##### Setting up apache2 proxy for Tomcat7 cat >> $APACHE_CONF << EOF LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so EOF ##### cat >> $KALDIN_PROXY << EOF # mod_proxy setup. ProxyRequests Off ProxyPass /kaldin http://localhost:8080/kaldin/ ProxyPassReverse /kaldin/ http://localhost:8080/kaldin/ <Location "/kaldin"> # Configurations specific to this location. Add what you need. # For instance, you can add mod_proxy_html directives to fix # links in the HTML code. See link at end of this page about using # mod_proxy_html. # Allow access to this proxied URL location for everyone. Order allow,deny Allow from all </Location> EOF service tomcat7 restart service apache2 restart