vps-centos7快速搭建traccar实现移动端GPS追踪服务

拥有vps并不难,国内的阿里云,腾讯云都是不错的选择。租用的教程网上比比皆是,这里就不说了。

环境搭建

本实验中使用的是xshell远控vps(centos7系统)。(xshell可以在官网下载免费的个人版,它和xftp的联动是我的最爱)
登上后大概就是这样:
在这里插入图片描述
现在进行环境的搭建:

安装解压软件和Java运行环境

yum install unzip 
yum install jre

安装MySql数据库

(CentOS 7 版本默认的程序列表中的数据库为MariaDB而不是MySql)这就需要自己在网上找一个下载安装。

下载MySQL的rpm包:

wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

解压rpm包:

rpm -ivh mysql-community-release-el7-5.noarch.rpm

再用yum命令安装MySQL:

yum install mysql-community-server

安装好后重启一下服务:

service mysqld restart

进入MySQL数据库设置密码(刚开始root用户是空密码):

mysql -u root -p 

设置密码为123456(如果要更改这个密码,就要把后面的traccar.xml中database.password数值改成对应的密码,因为我的3306端口并没有对外开放,不存在啥远程登陆的安全问题,所以我也就懒得改)

mysql> set password for 'root'@'localhost' =password('123456');

退出MySQL:

mysql> exit;

最后在防火墙处开放8082端口(不喜欢开这个端口也可以更改成其他的,到时候把traccar.xml中设置的端口改成相同的就行)

iptables -I INPUT -p tcp --dport  8082 -j ACCEPT

Traccar服务端安装及配置

首先为traccar服务创建一个数据库

echo "create database traccar" | mysql -u root -p

接着会显示ENter psaaword,这里输入刚才的123456(如果自己更改了就输入更改后的密码)就可以了。
之后下载traccar安装包(内陆网下载会非常非常慢):

wget https://github.com/traccar/traccar/releases/download/v4.3/traccar-linux-64-4.3.zip

解压安装包(下载的哪一个版本就):

解压符合前缀为traccar-linux-,以.zip结束的zip压缩包
unzip traccar-linux-*.zip

在这里插入图片描述安装traccar服务端:

./traccar.run

下载traccar配置文件:

wget https://raw.githubusercontent.com/luyiming1016/gittest/master/traccar.xml

如果更改了前面的MySQL密码或者web端口则对traccar.xml进行相应的更改,如果没有就跳过这步:

vi traccar.xml
输入i后可以对文件进行写操作,更改完成后按ESC键后接着按wq回车,这样可以就保存更改退出

在这里插入图片描述
将traccar默认配置替换:

cp traccar.xml /opt/traccar/conf/

启动服务:

sudo systemctl start traccar.service

查看服务状态:

sudo systemctl status traccar.service

在这里插入图片描述有一些vps(例如阿里云)需要添加安全组入站规则,不然不能访问该端口。
在这里插入图片描述输入ip端口会发现需要登陆
在这里插入图片描述输入默认账户密码 admin/admin 进入,如果是这样就表示traccar服务端搭建成功:
在这里插入图片描述加下来配置客户端

客户端安装配置

traccar官网下载客户端
在这里插入图片描述正常版和隐藏版都使用了一下,用户配置界面都是一样的。
在这里插入图片描述
设备编号:1314(这个随意写)
服务器地址:http://101.xx.xxx.4:8082(你的vps ip加web端口)
位置精度:高(个人需求)
定位频率:30(个人需求)
回到网站,点击左上的+号添加设备。名称处不能输入汉字,不同用户不能使用同一识别号码。
在这里插入图片描述
等待30s,设备上线。
点击设备名称,地图上就会出现设备所在的地理了
左下角还会显示当前手机电量,经度,纬度,海拔,移动速度。
如果局限于vps硬件条件或者一些其他原因,地图不能清晰的表现定位设备的周边情况,可以利用在线地图服务输入经纬度进行详细地位。刚好现在在农村,没有很好的地图覆盖,也看不了什么小区街道啥的,就懒得放图了。

现在说一说隐藏版和标准的区别,前面也说了它们的客户端配置界面是一样的。
它们的外在区别有两处,一个是app软件在主界面的表现形式不同
在这里插入图片描述
一个是点击软件运行窗口时,隐藏版会跳转到手机系统设置界面,标准版会跳转到Traccar定位端界面
在这里插入图片描述

traccar网站用户账号安全

admin/admin为默认登陆账号密码是极不安全的,网站地址泄露的同时意味者自己的实时位置同样被泄露。这作为一个安全爱好者是断不能接受的,注册新用户也不能让我忍受admin/admin的存在
更改admin用户的默认密码

mysql -u root -p

Enter password: 处输入密码进入MySQL数据库
显示所有数据库

mysql>show databases;

选择traccar数据库:

use traccar;

显示traccar数据库的所有数据表:

show tables;

查询各数据表内容,最终确定tc_users数据表存储登陆信息:

select * from tc_users;

确定为目标数据表:在这里插入图片描述
password 为加密储存,字段名为hashedpassword,发现password是通过salt列参数进行加密。把想设置的密码进行同样加密后替换admin用户的hashedpassword值。

利用php来进行数据加密:

<?php
$password = 'adminandadmin';
$key = hex2bin('000000000000000000000000000000000000000000000000');
$hashed = hash_pbkdf2('sha1',$password, $key,1000,24,true);  #hash_pbkdf2仅在5.5版本以上的PHP代码中可用。
echo bin2hex($hashed);
?>

$password的值为想设置的密码;
hex2bin函数中的参数为admin对应的salt值;
执行效果:
在这里插入图片描述

update tc_users set hashedpassword = "6e6338bb1531e957df0cd18129a0264195fdd69aefdee262" where name like "admin";
或者:
update tc_users set hashedpassword = "6e6338bb1531e957df0cd18129a0264195fdd69aefdee262" where id=1;

在这里插入图片描述
这个效果图和确定用户表时的效果图数据是一样的原因是,我之前就把密码改成这样了(smile)。
在这里插入图片描述登陆成功,over!

学习:

酉荻的博客

发布了13 篇原创文章 · 获赞 8 · 访问量 1015

猜你喜欢

转载自blog.csdn.net/qq_40334963/article/details/104223316