Install OpenGTS on CentOS Linux
  • Instructions
    • Change Legend items as desired
    • Generate Installation Script
    • Save Script as /usr/src/install-gts.sh
    • Change permission
      • chmod 755 /usr/src/install-gts.sh
    • Run script, the command will run /usr/src/install-gts.sh and creates 3 log files (ok, error and full) at /var/log
      • ((/usr/src/./install-gts.sh | tee /var/log/install-gts-ok.log) 3>&1 1>&2 2>&3 | tee /var/log/install-gts-err.log) 2>&1 | tee /var/log/install-gts-full.log
  • Legend
    • Misc
      • Server IP Address
        Test email address
        Use gMail
        Install phpMyAdmin
        Load Sample Data
    • Used Software Versions
    • Users and Passwords
      • MySQL root Password
        OpenGTS sysadmin password
        MySQL gts DB User
        MySQL gts DB Pass
        tomcat user password
    • gMail Information
      • User Full Name
        gMail User
        gMail Pass
  • Install CentOS with no packages
  • Yum
    • yum -y update
    • yum -y install wget unzip ntp perl mysql-server java-1.6.0-openjdk-devel
  • Sync Clock
    • ntpdate 0.us.pool.ntp.org
  • Services (MySQL, NTP)
    • chkconfig mysqld on
    • service mysqld start
    • chkconfig ntpd on
    • service ntpd start
  • Create tomcat user
    • useradd tomcat -p `perl -e 'print crypt("", "salt")'`
  • Environment Variables (Set, Load, Links)
    • echo "export JAVA_HOME=/usr/lib/jvm/java-openjdk" >> /etc/profile
    • echo "export CATALINA_HOME=/opt/tomcat" >> /etc/profile
    • echo "export GTS_HOME=/opt/OpenGTS" >> /etc/profile
    • source /etc/profile
    • ln -s /opt/ant/bin/ant /usr/bin
    • ln -s $JAVA_HOME /usr/local/java
    • ln -s $CATALINA_HOME /usr/local/tomcat
    • ln -s $GTS_HOME /usr/local/gts
  • MySQL root Password
    • mysqladmin -u root password ''
  • Install dependencies
    • Ant
      • cd /usr/src
      • wget -nv http://www.apache.org/dist/ant/ant-current-bin.zip
      • unzip -q ant-current-bin.zip
      • rm -vf /usr/src/ant-current-bin.zip
      • mv -vf /usr/src/apache-ant-* /opt/ant
    • Tomcat
      • Install
        • cd /usr/src
        • wget -nv http://www.apache.org/dist/tomcat/tomcat-/v/bin/apache-tomcat-.tar.gz
        • tar xzf apache-tomcat-*.tar.gz
        • rm -vf /usr/src/apache-tomcat-*.tar.gz
        • mv -vf /usr/src/apache-tomcat-* /opt/tomcat
        • chown -R tomcat:tomcat /opt/tomcat
      • init Autostart
        • cd /etc/rc.d/init.d
        • wget -nv http://samyantoun.50webs.com/opengts/tomcat
        • chmod -v 755 /etc/rc.d/init.d/tomcat
        • chkconfig --add tomcat
    • MySQL JDBC driver
      • cd /usr/src
      • wget -nv http://mysql.mirrors.pair.com/Downloads/Connector-J/mysql-connector-java-.zip
      • unzip -q mysql-connector-java-*.zip
      • mv -vf /usr/src/mysql-connector-java-*/mysql-connector-java-*-bin.jar $JAVA_HOME/jre/lib/ext
      • rm -fR /usr/src/mysql-connector-java-*
    • JavaMail
      • cd /usr/src
      • wget -nv http://download.java.net/maven/2/javax/mail/mail//mail-.jar
      • mv -vf mail-*.jar $JAVA_HOME/jre/lib/ext/mail.jar
  • Install OpenGTS
    • Prepare
      • cd /usr/src
      • wget -nv http://downloads.sourceforge.net/project/opengts/server-base//OpenGTS_.zip
      • unzip -q OpenGTS_*.zip
      • rm -vf /usr/src/OpenGTS_*.zip
      • mv -vf /usr/src/OpenGTS_* /opt/OpenGTS
    • Basic Configuration (Log location, MySQL user and pass)
      • chown -R tomcat:tomcat /opt/OpenGTS/logs
      • sed -i "s|log.file.enable=false|log.file.enable=true|" $GTS_HOME/common.conf
      • sed -i "s|#log.file.rotate.deleteAge=60d|log.file.rotate.deleteAge=60d|" $GTS_HOME/common.conf
      • sed -i "s/db.sql.user=\${ServiceAccount.db.user=gts}/db.sql.user=\${ServiceAccount.db.user=}/" $GTS_HOME/common.conf
      • sed -i "s/db.sql.password=\${ServiceAccount.db.pass=opengts}/db.sql.password=\${ServiceAccount.db.pass=}/" $GTS_HOME/common.conf
    • Setup gMail
      • echo 'smtp.user.emailAddress="" <@gmail.com>
      • smtp.host=smtp.gmail.com
      • smtp.port=465
      • smtp.user=@gmail.com
      • smtp.password=
      • smtp.enableSSL=true
      • ' >> /opt/OpenGTS/custom.conf
    • Compile
      • cd $GTS_HOME
      • ant all
    • Initializing MySQL Database
      • cd $GTS_HOME
      • bin/initdb.sh -rootUser=root -rootPass=
    • Testing the Installation Before Deploy
      • cd $GTS_HOME
      • bin/checkInstall.sh
      • bin/checkInstall.sh -sendMail
    • Deploy
      • cp -vf $GTS_HOME/build/track.war $CATALINA_HOME/webapps
      • cp -vf $GTS_HOME/build/events.war $CATALINA_HOME/webapps
    • Creating the "sysadmin" Account (Account: sysadmin, Password: )
      • cd $GTS_HOME
      • bin/admin.sh Account -account=sysadmin -pass= -create
    • Load Sample Data (Optional)
      • cp -vf $GTS_HOME/sampleData/loadSampleData.sh $GTS_HOME/bin
      • cd $GTS_HOME
      • bin/loadSampleData.sh
  • Install phpMyAdmin (Optional)
    • Install PHP
      • yum install -y httpd php53 php53-mysql php53-mbstring
    • Install phpMyAdmin
      • cd /usr/src
      • wget -nv http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin//phpMyAdmin--english.tar.gz
      • tar xzf phpMyAdmin-*.tar.gz
      • rm -vf /usr/src/phpMyAdmin-*.tar.gz
      • mv -f /usr/src/phpMyAdmin* /var/www/html/phpMyAdmin
    • Create conf file
      • echo "<?php \$cfg['blowfish_secret'] = 'ba17c1ec07d65003'; \$cfg['Servers'][1]['auth_type'] = 'cookie'; ?>" >> /var/www/html/phpMyAdmin/config.inc.php
    • Service
      • chkconfig httpd on
      • service httpd start
    • Open phpMyAdmin
      • http:///phpMyAdmin
  • Reboot
  • Open OpenGTS
    • http://:8080/track/Track