openGTS en Ubuntu 17.04
Me dispuse a crear esta guía que facilite la instalación de un servidor que realiza tracking GPS de N dispositivos android nada más por pura diversión :)
Comencemos...
Para comenzar necesitamos JAVA, LAMP, ANT y UNZIP, entonces utilizamos los siguientes comandos
sudo apt-get update
sudo apt-get install apache2 php mysql-server libmysql-java ant unzip
sudo /etc/init.d/mysql start
*En mi caso instalé PHP en sus versiones 6 y 7 y Mysql 5.7
*Puede que algunos paquetes no estén disponibles, si es así busca alternativas de versiones
JAVA
Los siguientes comandos para instalar JAVA en su versión 7, la 8 también funciona
sudo apt-get install openjdk-7-jdk
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
echo "export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64" >> ~/.bashrc
TOMCAT
Los siguientes comandos para instalar TOMCAT en su version 7.0.57
VER=7.0.57
cd /tmp
wget -c http://apache.mirror.uber.com.au/tomcat/tomcat-7/v${VER}/bin/apache-tomcat-${VER}.zip
unzip apache-tomcat-${VER}.zip
sudo cp -a apache-tomcat-${VER} /usr/local/
export CATALINA_HOME=/usr/local/apache-tomcat-${VER}
cd /usr/local
sudo ln -s $CATALINA_HOME tomcat
cd $CATALINA_HOME/bin
chmod a+x *.sh
$CATALINA_HOME/bin/startup.sh
echo "export CATALINA_HOME=/usr/local/apache-tomcat-${VER}" >> ~/.bashrc
JAVA CONECTOR
Compruebe la versión en la siguiente liga http://dev.mysql.com/downloads/connector/j/#downloads
VER=5.1.44
cd /tmp
wget -c http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-${VER}.zip
unzip mysql-connector-java-${VER}.zip
cd mysql-connector-java-${VER}
sudo cp mysql-connector-java-${VER}-bin.jar $JAVA_HOME/jre/lib/ext
JAVA MAIL
Compruebe la versión en la siguiente liga https://maven.java.net/content/repositories/releases/com/sun/mail/javax.mail/
VER=1.6.0
cd /tmp
wget -c https://maven.java.net/content/repositories/releases/com/sun/mail/javax.mail/${VER}/javax.mail-${VER}.jar
sudo cp javax.mail-${VER}.jar $JAVA_HOME/jre/lib/ext/
sudo mv $JAVA_HOME/jre/lib/ext/javax.mail-${VER}.jar $JAVA_HOME/jre/lib/ext/javax.mail.jar
CURL Y OPEN GTS
sudo apt-get install curl
cd /tmp
VER=2.5.7
curl -L http://downloads.sourceforge.net/project/opengts/server-base/${VER}/OpenGTS_${VER}.zip > OpenGTS_${VER}.zip
sudo unzip /tmp/OpenGTS_${VER}.zip -d /usr/local
GROUP=users
sudo chown -R ${USER}:${GROUP} /usr/local/OpenGTS_${VER}
export GTS_HOME=/usr/local/OpenGTS_${VER}
echo "export GTS_HOME=/usr/local/OpenGTS_${VER}" >> ~/.bashrc
ENV VARIBLES
echo "export ANT_HOME=/usr/share/ant" >> ~/.bashrc
source ~/.bashrc
sudo ln -s $JAVA_HOME /usr/local/java
sudo ln -s $CATALINA_HOME /usr/local/tomcat
sudo ln -s $GTS_HOME /usr/local/gts
CONFIGURACIÓN BÁSICA
Las siguientes lineas comentarán configuracion relacionada a la base de datos dentro de config.conf
sed -i "s/#db.sql.user=gts/db.sql.user=gts/" $GTS_HOME/config.conf
sed -i "s/#db.sql.password=opengts/db.sql.password=opengts/" $GTS_HOME/config.conf
COMPILACION
cd $GTS_HOME
ant all
# Agregar tu usuario y contraseña de mysql, en mi caso root y admin
bin/initdb.sh -rootUser=root -rootPass=admin
ejecutamos el siguiente comando para comprobar que todo marche correctamente.
cd $GTS_HOME && bin/checkInstall.sh
CREAMOS UNA CUENTA
bin/admin.sh Account -account=sysadmin -pass=password -create
cd $GTS_HOME && ant track
cp build/track.war $CATALINA_HOME/webapps/
Si todo salió bien podremos dirigirnos a http://localhost:8080/track/Track y loguearnos con la clave sysadmin y contraseña password
Si no carga la página no te puedes loguear, entonces checa si tomcat está corriendo con
ps -ef | grep tomcat
Si esta corriendo entonces reinicia
$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
Si no estaba corriendo, habrá que solamente levantar el servicio
$CATALINA_HOME/bin/startup.sh
INSTALACIÓN DE GPRMC
cd $GTS_HOME && ant events
cp -v build/events.war $CATALINA_HOME/webapps
cd $GTS_HOME && ant gprmc
cp build/gprmc.war $CATALINA_HOME/webapps/
ejecutamos el siguiente comando para comprobar que todo marche correctamente nuevamente
cd $GTS_HOME && bin/checkInstall.sh
LISTO
INSTALACIÓN DE CLIENTE ANDROID
Descarga de http://www.geotelematic.com/CelltracGTS/Free.html el apk o de la play store https://play.google.com/store/apps/details?id=org.opengts.client.android.cgtsfre
Ya en la aplicacion nos vamos a SETTINGS, y agregamos lo siguiente dentro de SERVER URL
http://DOMAIN:PORT/gprmc/Data?
Dentro de la webapp de OpenGTS ir a Administration > Vehicle Admin y agregar el MOBILEID (dicho dato está en la pestaña ABOUT en la app), si te da problemas edita el registro y agrega el IMEI también.
No está por demás decirte que si solo lo quieres probar el dispositivo y el servidor tienen que estar conectados a la misma red local
Dice la documentación que
Once the server has been set up, you can send a test message from the phone by selecting the status code "Waymark" and clicking "Send". If everything has been properly configured, the "Event Status" section on the phone should first show "Queue: 1 Sent: 0", followed by "Queue: 0 Sent: 1" as the event is sent to the server."
Por tanto seremos capaces de ver el tracking de nuestro android desde la pestaña Mapping > Vehicle
Happy Coding!
**Inspirado en la guía de Andre0991
Comencemos...
Para comenzar necesitamos JAVA, LAMP, ANT y UNZIP, entonces utilizamos los siguientes comandos
sudo apt-get update
sudo apt-get install apache2 php mysql-server libmysql-java ant unzip
sudo /etc/init.d/mysql start
*En mi caso instalé PHP en sus versiones 6 y 7 y Mysql 5.7
*Puede que algunos paquetes no estén disponibles, si es así busca alternativas de versiones
JAVA
Los siguientes comandos para instalar JAVA en su versión 7, la 8 también funciona
sudo apt-get install openjdk-7-jdk
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
echo "export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64" >> ~/.bashrc
TOMCAT
Los siguientes comandos para instalar TOMCAT en su version 7.0.57
VER=7.0.57
cd /tmp
wget -c http://apache.mirror.uber.com.au/tomcat/tomcat-7/v${VER}/bin/apache-tomcat-${VER}.zip
unzip apache-tomcat-${VER}.zip
sudo cp -a apache-tomcat-${VER} /usr/local/
export CATALINA_HOME=/usr/local/apache-tomcat-${VER}
cd /usr/local
sudo ln -s $CATALINA_HOME tomcat
cd $CATALINA_HOME/bin
chmod a+x *.sh
$CATALINA_HOME/bin/startup.sh
echo "export CATALINA_HOME=/usr/local/apache-tomcat-${VER}" >> ~/.bashrc
JAVA CONECTOR
Compruebe la versión en la siguiente liga http://dev.mysql.com/downloads/connector/j/#downloads
VER=5.1.44
cd /tmp
wget -c http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-${VER}.zip
unzip mysql-connector-java-${VER}.zip
cd mysql-connector-java-${VER}
sudo cp mysql-connector-java-${VER}-bin.jar $JAVA_HOME/jre/lib/ext
JAVA MAIL
Compruebe la versión en la siguiente liga https://maven.java.net/content/repositories/releases/com/sun/mail/javax.mail/
VER=1.6.0
cd /tmp
wget -c https://maven.java.net/content/repositories/releases/com/sun/mail/javax.mail/${VER}/javax.mail-${VER}.jar
sudo cp javax.mail-${VER}.jar $JAVA_HOME/jre/lib/ext/
sudo mv $JAVA_HOME/jre/lib/ext/javax.mail-${VER}.jar $JAVA_HOME/jre/lib/ext/javax.mail.jar
CURL Y OPEN GTS
sudo apt-get install curl
cd /tmp
VER=2.5.7
curl -L http://downloads.sourceforge.net/project/opengts/server-base/${VER}/OpenGTS_${VER}.zip > OpenGTS_${VER}.zip
sudo unzip /tmp/OpenGTS_${VER}.zip -d /usr/local
GROUP=users
sudo chown -R ${USER}:${GROUP} /usr/local/OpenGTS_${VER}
export GTS_HOME=/usr/local/OpenGTS_${VER}
echo "export GTS_HOME=/usr/local/OpenGTS_${VER}" >> ~/.bashrc
ENV VARIBLES
echo "export ANT_HOME=/usr/share/ant" >> ~/.bashrc
source ~/.bashrc
sudo ln -s $JAVA_HOME /usr/local/java
sudo ln -s $CATALINA_HOME /usr/local/tomcat
sudo ln -s $GTS_HOME /usr/local/gts
CONFIGURACIÓN BÁSICA
Las siguientes lineas comentarán configuracion relacionada a la base de datos dentro de config.conf
sed -i "s/#db.sql.user=gts/db.sql.user=gts/" $GTS_HOME/config.conf
sed -i "s/#db.sql.password=opengts/db.sql.password=opengts/" $GTS_HOME/config.conf
COMPILACION
cd $GTS_HOME
ant all
# Agregar tu usuario y contraseña de mysql, en mi caso root y admin
bin/initdb.sh -rootUser=root -rootPass=admin
ejecutamos el siguiente comando para comprobar que todo marche correctamente.
cd $GTS_HOME && bin/checkInstall.sh
CREAMOS UNA CUENTA
bin/admin.sh Account -account=sysadmin -pass=password -create
cd $GTS_HOME && ant track
cp build/track.war $CATALINA_HOME/webapps/
Si todo salió bien podremos dirigirnos a http://localhost:8080/track/Track y loguearnos con la clave sysadmin y contraseña password
Si no carga la página no te puedes loguear, entonces checa si tomcat está corriendo con
ps -ef | grep tomcat
Si esta corriendo entonces reinicia
$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
Si no estaba corriendo, habrá que solamente levantar el servicio
$CATALINA_HOME/bin/startup.sh
INSTALACIÓN DE GPRMC
cd $GTS_HOME && ant events
cp -v build/events.war $CATALINA_HOME/webapps
cd $GTS_HOME && ant gprmc
cp build/gprmc.war $CATALINA_HOME/webapps/
ejecutamos el siguiente comando para comprobar que todo marche correctamente nuevamente
cd $GTS_HOME && bin/checkInstall.sh
LISTO
INSTALACIÓN DE CLIENTE ANDROID
Descarga de http://www.geotelematic.com/CelltracGTS/Free.html el apk o de la play store https://play.google.com/store/apps/details?id=org.opengts.client.android.cgtsfre
Ya en la aplicacion nos vamos a SETTINGS, y agregamos lo siguiente dentro de SERVER URL
http://DOMAIN:PORT/gprmc/Data?
Dentro de la webapp de OpenGTS ir a Administration > Vehicle Admin y agregar el MOBILEID (dicho dato está en la pestaña ABOUT en la app), si te da problemas edita el registro y agrega el IMEI también.
No está por demás decirte que si solo lo quieres probar el dispositivo y el servidor tienen que estar conectados a la misma red local
Dice la documentación que
Once the server has been set up, you can send a test message from the phone by selecting the status code "Waymark" and clicking "Send". If everything has been properly configured, the "Event Status" section on the phone should first show "Queue: 1 Sent: 0", followed by "Queue: 0 Sent: 1" as the event is sent to the server."
Por tanto seremos capaces de ver el tracking de nuestro android desde la pestaña Mapping > Vehicle
Happy Coding!
**Inspirado en la guía de Andre0991