Hello everybody, today we are going to show you the installation and configuration steps to use OpenGTS that is well known as Open GPS Tracking System. OpenGTS is the only open source and web-based GPS tracking system which is being widely used in different countries for tracking their different devices. OpenGTS can be operated in any specific GPS tracking device or the protocol that supports it like OpenDMTP (Open Source Device Monitoring and Tracking Protocol). It has a number of features like the customization of its web pages, reports, and mapping services.
OpenGTS is fully written in Java and should run fine on any system that fully supports private JVM environment and an SQL database server (like MySQL).
In this article, we will be installing the Open GPS Tracking System on Ubuntu/CentOS. We are using the Ubuntu server 20.04 in our test environment. There are a number of its prerequisites that we will have to setup first before the OpenGTS installation.
1) System Update
Login to your ubuntu/centos server using the root or sudo credentials to update your system using the below commands receptively.
On Ubuntu Linux
# apt-get update
# yum update
2) LAMP Setup
As we mentioned earlier that OpenGTS is a web-based application, that's why we will set up the LAMP stack as a prerequisite of OpenGTS. We will be using the Apache Web server and MySQL database in our LAMP stack. Let's run the below commands to install the required packages.
# sudo apt-get install apache2 php wget curl unzip ant
Download mysql 5.7 and install it. ( mysql 5.X version is recommended )
# wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb # sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb
Now, Select Ubuntu Bionic > By default it shows MySQL 8.0, Click on First option > Select MySQL 5.7 server and click on OK. > Confirm that showing MySQL 5.7 on First option and Click on OK.
Update apt repository and use apt-cache to find the mysql version and install according to it.
# sudo apt-get update # sudo apt-cache policy mysql-server # sudo apt install -f mysql-client=5.7.32-1ubuntu18.04 mysql-community-server=5.7.32-1ubuntu18.04 mysql-server=5.7.31-1ubuntu18.04
# yum install httpd php wget curl yum-utils unzip ant epel-release
To install mysql 5.X use:
# wget https://repo.mysql.com/mysql57-community-release-el5-7.noarch.rpm # rpm -ivh mysql-community-release-el5-7.noarch.rpm # yum install mysql mysql-server -y
While in CentOS you can run the below command to setup the root password.
To start mysql and apache services on your ubuntu or centos server you can use the below commands.
# systemctl start mysql # systemctl start apache2
# systemctl start mysqld # systemctl start httpd
3) JAVA Setup
To setup the JAVA environment we will be using the JAVA OpenJDK version 8 and then configure its environment using the below commands.
# apt-get install openjdk-8-jdk
When the installation is complete setup the JAVA_HOME environment variables using the below commands.
# export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
# echo "export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64" >> ~/.bashrc
4) Tomcat Setup
To install and configure the Tomcat setup follow the link to Download Tomcat, then copy the linked URL and download it using the wget command on the server.
# wget -c https://downloads.apache.org/tomcat/tomcat-7/v7.0.106/bin/apache-tomcat-7.0.106.zip
Run the command below to extract the above downloaded zipped package.
# unzip apache-tomcat-7.0.106.zip
Now copy the package into the '/usr/local/' directory from the current directory.
root@open-gts:~# cp -a apache-tomcat-7.0.106 /usr/local/
By using the below commands we will setup the CATALINA_HOME environment for the tomcat.
# export CATALINA_HOME=/usr/local/apache-tomcat-7.0.106/
# cd /usr/local
# ln -s $CATALINA_HOME tomcat # cd $CATALINA_HOME/bin # chmod a+x *.sh
When the Catalina Home environment has been setup, run the command as shown below to start tomcat.
# echo "export CATALINA_HOME=/usr/local/apache-tomcat-7.0.106" >> ~/.bashrc
5) Setup JAVA Connector
To setup the JAVA connector, there's as mysql java connector package is available that we can download.
Download the connector package using the below wget command.
# wget -c http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.37.zip
Then extract the zipped package and copy its files into the 'ext' directory of the JAVA_HOME by using the below commands.
# unzip mysql-connector-java-5.1.37.zip
# cd mysql-connector-java-5.1.37/
# cp mysql-connector-java-5.1.37-bin.jar $JAVA_HOME/jre/lib/ext
JAVA Mail Setup
To install the Java mail setup, we can download the latest Jar repository.
Copy the link address and download it using the wget command in the command-line interface.
# wget -c https://maven.java.net/content/repositories/releases/com/sun/mail/javax.mail/1.5.2/javax.mail-1.5.2.jar
Copy this Jar repository into the '/ext/' directoy and then change its name using the commands as shown below.
# cp javax.mail-1.5.2.jar $JAVA_HOME/jre/lib/ext/
# mv $JAVA_HOME/jre/lib/ext/javax.mail-1.5.2.jar $JAVA_HOME/jre/lib/ext/javax.mail.jar
We are ready to go with the installation of the OpenGTS Tracking System. We will be using the curl command to get the latest available package of OpenGTS.
# curl -L http://sourceforge.net/projects/opengts/files/server-base/2.6.0/OpenGTS_2.6.0.zip > OpenGTS_2.6.0.zip
Then extract the OpenGTS package into the '/usr/local/' directory using below command.
# unzip OpenGTS_2.6.0.zip -d /usr/local
Its recommended to run the OpenGTS with a general user, for this purpose we will run the below command to change the ownership.
# chown -R gts:sudo /usr/local/OpenGTS_2.6.0/
Then export the environment variables to set the OpenGTS home environment.
# export GTS_HOME=/usr/local/OpenGTS_2.6.0/
# echo "export GTS_HOME=/usr/local/OpenGTS_2.6.0" >> ~/.bashrc
1) Setup Environment
To setup the environment variables with ANT and creating the symbolic link, run the following commands.
# echo "export ANT_HOME=/usr/share/ant" >> ~/.bashrc # source ~/.bashrc
# ln -s $JAVA_HOME /usr/local/java # ln -s $CATALINA_HOME /usr/local/tomcat # ln -s $GTS_HOME /usr/local/gts
2) OpenGTS Configurations
Open the default configuration file of OpenGTS to configure some of its basic parameters. To so do use the following command and uncomment the below mentioned line in the configuration file.
# vim $GTS_HOME/config.conf
Save the configuration file changes, and then list the CATALINA_HOME folder to check if it linked to its folder or not.
# ls -l $CATALINA_HOME
In case if it's pointing to itself then you can run the command below unlink it.
# unlink /usr/local/apache-tomcat-7.0.106/apache-tomcat-7.0.106
3) OpenGTS Compilation
Finally, we are ready to compile the OpenGTS, to do first change directory to the GTS-HOME, and then run the command to compile it with 'ant all' command as shown.
# cd $GTS_HOME
root@open-gts:/usr/local/OpenGTS_2.6.0# ant all
The compilation process will take a while to compile all the required data.
4) OpenGTS Initialization
To initialize the OpenGTS database, we will be using the below command to by providing the root credentials of our database.
root@open-gts:/usr/local/OpenGTS_2.6.0# bin/initdb.sh -rootUser=root -rootPass=******
This is creating the new database with name and user 'gts' and grant him the privileges as shown below.
Version: 2.6.0 Database created: gts Privileges granted to user: gts Validating table columns ... --------------------------------------------------------------------------- Table 'Account' --- Creating table ... Table 'AccountString' --- Creating table ... Table 'User' --- Creating table ... Table 'UserAcl' --- Creating table ... Table 'GroupList' --- Creating table ... Table 'Device' --- Creating table ... Table 'Transport' --- Creating table ... Table 'UniqueXID' --- Creating table ... Table 'DeviceGroup' --- Creating table ... Table 'DeviceList' --- Creating table ... Table 'Driver' --- Creating table ... Table 'EventData' --- Creating table ... Table 'Geozone' --- Creating table ... Table 'Resource' --- Creating table ... Table 'Role' --- Creating table ... Table 'RoleAcl' --- Creating table ... Table 'StatusCode' --- Creating table ... Table 'SystemProps' --- Creating table ... Table 'EventTemplate' --- Creating table ... Table 'PendingPacket' --- Creating table ... Table 'Property' --- Creating table ... Table 'Diagnostic' --- Creating table ... --------------------------------------------------------------------------- Column validation completed successfully. --------------------------------------------------------------------------- Updating GTS Version: 2.6.0 Updating DMTP Version: 1.3.6
5) Testing Installation
To test the installation of OpenGTS run the below command with the home directory of GTS_HOME as shown below.
After executing the above command you might see some errors, warnings, and recommendations that you can figure them out.
6) Creating New Account
To create the new admin account run the below command by mentioning your account name and password.
root@open-gts:/usr/local/OpenGTS_2.6.0# bin/admin.sh Account -account=sysadmin -pass=****** -create Entry Point: org.opengts.db.tables.Account Created Account-ID: sysadmin
7) Install Track Java Servlet
To install the Track Java Servelet followed by copying its webapp, use the below commands.
root@open-gts:/usr/local/OpenGTS_2.6.0# ant track
root@open-gts:/usr/local/OpenGTS_2.6.0# cp build/track.war $CATALINA_HOME/webapps/
Open OpenGTS Web Interface
Open your web browser and give the below URL to access the web interface on OpenGTS GPS Tracking system to start tracking your devices.
In case if you unable to login using your credentials, then stop the Tomcat services and then restart it again using the below commands.
# $CATALINA_HOME/bin/shutdown.sh # rm -rf $CATALINA_HOME/webapps/track* # cp $GTS_HOME/build/track.war $CATALINA_HOME/webapps/ # $CATALINA_HOME/bin/startup.sh
Welcome to OpenGTS GPS Tracking
We have successfully setup OpenGTS, by using its web console now you can easily manage and track vehicles.
In this article, you have learned the installation and configuration of OpenGTS Open GPS Tricking system including all of its required dependencies on Ubuntu. Hope you under each and every step that we performed in the article. Leave your valuable comments or suggestions if you face any issue or your recommendations.