Montando servidor OpenGTS (rastreamento GPS) em GNU/Linux
Dica publicada em Linux / Avançado
Montando servidor OpenGTS (rastreamento GPS) em GNU/Linux
OpenGTS (Tracking System Open GPS) é um software de código aberto projetado para fornecer serviços de rastreamento GPS on-line, seja de uma frota de veículos ou de dispositivos móveis.
Site do projeto:
Ele possui vários clientes free para diversos GPS embarcados e para dispositivos com Android com o GPS2OpenGTS.
Link do App:
Instalando as dependências para o OpenGTS.
Debian e Ubuntu:
sudo aptitude update
$ sudo apt-get install apache2 php5 mysql-server libmysql-java ant unzip openjdk-6-jre
Red Hat, CentOS e Fedora:
# yum update -y
# yum install apache2 php5 mysql-server libmysql-java ant unzip java-1.6.0-openjdk -y
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 apache-tomcat-6.0.36 /usr/local/
# cd /usr/local/apache-tomcat-6.0.35/
# export CATALINA_HOME=`pwd`
# 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 OpenGTS_2.4.7 /usr/local
# cd /usr/local/OpenGTS_2.4.7
# export GTS_HOME=`pwd`
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 ~/deploy_open_gts
Baixe o JavaMail pelo site da Oracle:
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":
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
Criando a base de dados:
# bin/initdb.sh -rootUser=root -rootPass=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;
# cd $GTS_HOME
# vim webapp.conf
Configurar o "config.conf" do OpenGTS:
# vim config.conf
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
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 envio das coordenadas):
# cd $GTS_HOME
# ant gprmc
# cp build/gprmc.war $CATALINA_HOME/webapps/.
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
Criando o usuário admin:
# bin/admin.sh Account -account:sysadmin -pass:sysadmin -create
Criando o "Veiculo" ID Client:
# bin/admin.sh Device -account=sysadmin -device=test01 -create
Caso precise editar o usuário:
# bin/admin.sh Account -account=sysadmin -edit
Abrindo no browser: http://localhost:8080/track/Track
Editando Unique ID, em: http://localhost:8080/track/Track?page=dev.info
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:
FAQ:
Dica também publicada em:
Site do projeto:
Ele possui vários clientes free para diversos GPS embarcados e para dispositivos com Android com o GPS2OpenGTS.
Link do App:
Procedimentos para instalação
Baseado em Debian e Red Hat.Instalando as dependências para o OpenGTS.
Debian e Ubuntu:
sudo aptitude update
$ sudo apt-get install apache2 php5 mysql-server libmysql-java ant unzip openjdk-6-jre
Red Hat, CentOS e Fedora:
# yum update -y
# yum install apache2 php5 mysql-server libmysql-java ant unzip java-1.6.0-openjdk -y
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 apache-tomcat-6.0.36 /usr/local/
# cd /usr/local/apache-tomcat-6.0.35/
# export CATALINA_HOME=`pwd`
# 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 OpenGTS_2.4.7 /usr/local
# cd /usr/local/OpenGTS_2.4.7
# export GTS_HOME=`pwd`
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 ~/deploy_open_gts
Baixe o JavaMail pelo site da Oracle:
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":
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-i386
export GTS_HOME=/usr/local/OpenGTS_2.4.7
export CATALINA_HOME=/usr/local/apache-tomcat-6.0.36
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
Criando a base de dados:
# bin/initdb.sh -rootUser=root -rootPass=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;
Configurações do servidor OpenGTS
Obs.: Estou usando o Vim, mas pode usar o Nano, basta trocar o "vim" por "nano". :)# cd $GTS_HOME
# vim webapp.conf
gprmc.parm.mobile=acct
gprmc.parm.device=dev
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
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}">
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 envio das coordenadas):
# cd $GTS_HOME
# ant gprmc
# cp build/gprmc.war $CATALINA_HOME/webapps/.
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
Criando o usuário admin:
# bin/admin.sh Account -account:sysadmin -pass:sysadmin -create
Criando o "Veiculo" ID Client:
# bin/admin.sh Device -account=sysadmin -device=test01 -create
Caso precise editar o usuário:
# bin/admin.sh Account -account=sysadmin -edit
Abrindo no browser: http://localhost:8080/track/Track
Editando Unique ID, em: http://localhost:8080/track/Track?page=dev.info
gprmc_sysadmin
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:
FAQ:
Dica também publicada em:
Vlw.. Obrigado pela dica!