Montando Servidor OpenGTS, Rastreamento GPS.

Abb1_DeviceMap_v2

OpenGTS (“Tracking System Open GPS”) é um projeto de código aberto (Open-Source) Desenvolvido para fornecer serviços de rastreamento GPS on-line. Seja de uma “frota” de veículos ou de dispositivos Móveis.

Link do Projeto: http://opengts.sourceforge.net/

Com clientes free para diversos GPS embarcado e para Android com o GPS2OpenGTS Link do App: https://play.google.com/store/apps/details?id=com.wiebej.gps2opengtsfree

Rastreador Veicular embarcados – TK100
http://www.zenitetecnologia.com.br/produtos.php?cod=10001

Procedimentos para instalação
Baseado em Debian e Red Hat.

Instalando as dependências para o OpenGTS.
Debian e Ubuntu:
$ sudo apt-get update
$ sudo apt-get install apache2 php5 mysql-server libmysql-java ant unzip openjdk-6-jre

Iniciar o servidor de banco de dados
$ sudo su -
# /etc/init.d/mysql start

Red Hat, CentOS e Fedora:

# yum update -y
# yum install apache2 php5 mysql-server libmysql-java ant unzip java-1.6.0-openjdk -y

Iniciar o servidor de banco de dados
$ su -
# /etc/init.d/mysqld start

Criando diretório para baixar os arquivos:

$ sudo su -
# mkdir ~/open_gts
# cd ~/open_gts

Baixando e instalando o Tomcat:

# wget http://mirrors.fe.up.pt/pub/apache/tomcat/tomcat-6/v6.0.36/bin/apache-tomcat-6.0.36.zip
# unzip apache-tomcat-6.0.36.zip
# cp -r apache-tomcat-6.0.36 /usr/local/
# cd /usr/local/apache-tomcat-6.0.35/
# export CATALINA_HOME=/usr/local/apache-tomcat-6.0.35
# cd /usr/local/apache-tomcat-6.0.36/bin
# chmod a+x *.sh

Baixando o OpenGTS:

# wget http://heanet.dl.sourceforge.net/project/opengts/server-base/2.4.7/OpenGTS_2.4.7.zip
# unzip OpenGTS_2.4.7.zip
# cp -r OpenGTS_2.4.7 /usr/local
# cd /usr/local/OpenGTS_2.4.7
# export GTS_HOME=/usr/local/OpenGTS_2.4.7

Copiando o MySQL Java Connector para o diretório do Java:

# cp /usr/share/java/mysql-connector-java-5.1.10.jar /usr/lib/jvm/java-6-openjdk/jre/lib/ext

Copiando o Java Mail para o diretório do Java:

# cd ~/open_gts

Baixe o JavaMail pelo site da Oracle:

http://www.oracle.com/technetwork/java/javamail/index-138643.html

NOTA: Baixei o arquivo javamail1_4_5.zip.

# unzip javamail1_4_5.zip
# cp javamail-1.4.5/mail.jar /usr/lib/jvm/java-6-openjdk/jre/lib/ext


Variáveis JAVA_HOME, GTS_HOME e CATALINA. Adicionar em “.bachrc” ou em “rc.local”:
(Lembrando se for versão amd, 64 bits o java muda o caminho)

export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk
export GTS_HOME=/usr/local/OpenGTS_2.4.7
export CATALINA_HOME=/usr/local/apache-tomcat-6.0.36


Criando os links do OpenGTS:

# cd /usr/local
# ln -s $JAVA_HOME java
# ln -s $CATALINA_HOME tomcat
# ln -s $GTS_HOME gts

Dando permissão para seu usuário ao diretório do GTS_HOME.

Obs.: No comando, em “user.user”, coloque o usuário que vai iniciar o servidor:

# chown -R user:user $GTS_HOME

Iniciar o banco de dados MySQL em Debians-like:

# /etc/init.d/mysql start

Iniciar o banco de dados MySQL em Red Hats-like:

# /etc/init.d/mysqld start

Definindo senha do root para mysql se não foi definido na instalação
# mysqladmin -u root password "senhadorootmysql"

Criando o usuário gps para usar a base de dados MySQL:

# mysql --user=root mysql -p

> CREATE USER 'gps'@'localhost' IDENTIFIED BY 'P45sword';
> GRANT ALL PRIVILEGES ON *.* TO 'gps'@'localhost' WITH GRANT OPTION;
> FLUSH PRIVILEGES;
> quit

Configurações do servidor OpenGTS
Obs.: Estou usando o Vim, mas pode usar o Nano ou Gedit basta trocar o “vim” por “nano” e etc… 🙂

# cd $GTS_HOME
# vim webapp.conf

gprmc.parm.account=acct
gprmc.parm.mobile=acct
gprmc.parm.device=dev

Configurar o “config.conf” do OpenGTS:

# vim config.conf

Host.IP=ip.do.host
Host.Name=nomedohost
db.sql.user=gps
db.sql.password=P45sword

Dando permissão ao acesso aos logs:

# cd $GTS_HOME
# chmod -R 777 logs

Iniciar o Tomcat:

# /usr/local/apache-tomcat-6.0.36/bin/startup.sh

Mudar linguagem para português, em:

# vim private.xml

locale="${Domain.locale=pt}">

Configurando clientes: gtsdmtp, tk10x e aspicore. para comunicação por SMS.

# cd $GTS_HOME
# vim dcservers.xml

No arquivo de configuração dcservers.xml vai ter:

#TK10X
tcpPort="31272"
udpPort="31272"

ou o dispositivo que queira mudar as portas.

Compilar o projeto OpenGTS:

# ant all

Compilar /track/Track (acesso Web):

# cd $GTS_HOME
# ant track
# cp build/track.war $CATALINA_HOME/webapps/

Compilar gprmc (acesso dos dispositivos para o recebimento das coordenadas):

# cd $GTS_HOME
# ant gprmc
# cp build/gprmc.war $CATALINA_HOME/webapps/

Criando a base de dados:

# cd $GTS_HOME
# bin/initdb.sh -rootUser=root -rootPass=senhadorootmysql

Iniciando o servidor OpenGTS:
# bin/runserver.sh -s template

Comando para parar o servidor, caso precise mudar alguma configuração e recompilar:

# bin/runserver.sh -s template -kill

iniciar o servidor SMS TK10x para receber informações dos clientes tk10x.
# bin/runserver.sh -s tk10x

Comando para parar o servidor
# bin/runserver.sh -s tk10x -kill

Obs: Caso queira iniciar o aspicore, basta iniciar adicionando aspicore no fim da linha de comando ao invés do tk10x.

Comando para verificar quais estancias estão rodando.
# $GTS_HOME/bin/psjava
Comando para verificar se a porta 31272 esta escutando comandos.
# netstat -a | grep 31272
muda o comando de acordo com a porta do serviço.

Criando o usuário Administrador Global o que vai gerenciar tudo:

Modo de Login do Sysadmin:
ID: sysadmin
login
passwd: senhadosysadmin

# bin/admin.sh Account -account:sysadmin -pass:sysadmin -create

Editar o Administrador “sysadmin”: (Colocar a senha)
# bin/admin.sh Account -account=sysadmin -edit

Criando o “Usuario” para acesso da conta:

Modo de Login do Usuario:
ID: sysadmin
login: acesso01
passwd: senhaacesso01

# bin/admin.sh User -account=sysadmin -user=acesso01 -create

Editando o “Usuario” colocar senha para acesso da conta:

# bin/admin.sh User -account=sysadmin -user=acesso01 -edit

Criando o “Veiculo” ID Client:

# bin/admin.sh Device -account=sysadmin -device=test01 -create

Editar o “Veiculo 01” :
# bin/admin.sh Device -account=sysadmin -device=test01 -edit
Abrindo no browser: http://localhost:8080/track/Track

Editando Unique ID, com a conta so administrador em: http://localhost:8080/track/Track?page=dev.info

gprmc_sysadmin

Configurando o Tomcat para iniciar automaticamente.

Criar o link para o serviço
# ln -s /usr/local/apache-tomcat-6.0.36/bin/startup.sh /etc/init.d/tomcat

Dar permissão de execução
# chmod 755 /etc/init.d/tomcat

Adicionar o serviço ao rc.d
# update-rc.d tomcat defaults

Configurando o Serviço do OpenGTS para iniciar automaticamente.
# cd $GTS_HOME

Criar o arquivo iniciaopengts.sh com o comando:
# touch iniciaopengts.sh

Editar o arquivo iniciaopengts.sh
# vim iniciaopengts.sh

Colocar o conteudo abaixo:
# Inicio #
# chkconfig: - 91 35
# description: Starts and Stops OpenGts
#!/bin/bash
$GTS_HOME/bin/runserver.sh -s template
# Fim #

Criando o link para o serviço
# ln -s $GTS_HOME/iniciaopengts.sh /etc/init.d/OpenGts

Dar permissão de execução
# chmod 755 /etc/init.d/OpenGts

Adicionar o serviço ao rc.d
# update-rc.d OpenGts defaults

Checando a instalação:

# $GTS_HOME/bin/checkInstall.sh

Verificando os logs no servidor:

# tail -f logs/w-gprmc.log

Log de rede do servidor:

# tcpdump port 8080 -vvv and not host ip.host.cliente.x

Manual:
http://opengts.sourceforge.net/OpenGTS_Config.pdf

FAQ:
http://www.geotelematic.com/FAQ.html