项目笔录-实战ubnt企业无线unifi控制器

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介:

1、前言

笔者二年前供职于一家大卖场时,企业希望可以引入一套分布式的无线系统,于是笔者发现ubnt的产品不但可以满足需求,而且价格非常低廉,产品底层是基于简化的linux系统,产品提供bash shell接口,可以做二次开发。

本文参阅参阅国外的一篇文章,将完成unifi产品的控制器的安装和配置,产品控制器是linux+java+MongoDB的运行环境,故而如果你看到此文请赶紧收藏,因为此文将是开启你无线覆盖你企业之路的新启源,你将为你企业节省大量的无线覆盖成本。

产品地址:http://www.ubnt.com.cn/enterprise/

2、实践部分

2.1、主机信息

ipaddress=10.168.0.178

hostname=unifi.cmdschool.org

2.2、yum源和源码下载

2.2.1、增加yum设置管理工具和解压软件

1
yum -y  install  yum-utils.noarch unzip

2.2.2、安装MongoDb

1)MongoDB的yum源地址:

x86_x64:http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/

i686:http://downloads-distro.mongodb.org/repo/redhat/os/i686/

2)根据系统类型安装

1
yum-config-manager --add-repo=http: //downloads-distro .mongodb.org /repo/redhat/os/x86_64/

3)检查生成的yum源

vim编辑/etc/yum.repos.d/downloads-distro.mongodb.org_repo_redhat_os_x86_64_.repo

可见以下内容:

1
2
3
4
[downloads-distro.mongodb.org_repo_redhat_os_x86_64_]
name=added from: http: //downloads-distro .mongodb.org /repo/redhat/os/x86_64/
baseurl=http: //downloads-distro .mongodb.org /repo/redhat/os/x86_64/
enabled=1

增加gpgcheck参数(要不无法安装):

1
2
3
4
5
[downloads-distro.mongodb.org_repo_redhat_os_x86_64_]
name=added from: http: //downloads-distro .mongodb.org /repo/redhat/os/x86_64/
baseurl=http: //downloads-distro .mongodb.org /repo/redhat/os/x86_64/
enabled=1
gpgcheck=0

4)安装MongoDB

1
yum  install  -y mongo-10gen mongo-10gen-server

2.2.3、安装openjdk

1
yum -y  install  java-1.7.0-openjdk

2.2.4、下载源unifi控制器源码

安装包下载网址:http://www.ubnt.com.cn/download/

wKiom1ZQ_3uibgGeAAD5SMi2Kak952.png

选择zip版本,取得下载路径之后,直接命令下载到系统:

1
2
cd  ~
wget http: //7xj2zs .com2.z0.glb.qiniucdn.com /firmwares/UniFi_4 .7.6_unix.zip

2.3、配置部分

2.3.1、step1

配置MongoDB

1
2
/etc/init .d /mongod  start
chkconfig mongod on

2.3.2、step2

配置源代包

1
2
unzip -q UniFi_4.7.6_unix.zip
mv  UniFi  /opt/

2.3.3、step3

制作服务脚本

vim编辑/etc/init.d/unifid

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/bash
# chkconfig: 2345 95 20
# description: UniFi system
# processname: UniFi
  
ctrl_start()
{
#nohup java -jar JarFile.jar >myLogFile 2>>myErrorFile&
java -jar  /opt/UniFi/lib/ace .jar start &
}
  
ctrl_stop()
{
java -jar  /opt/UniFi/lib/ace .jar stop &
}
  
ctrl_restart()
{
ctrl_stop
sleep  1
ctrl_start
}
  
case  "$1"  in
  
start)
  
echo  -n  "starting UniFi system"
ctrl_start
echo  " service started"
;;
  
stop)
  
echo  -n  "stopping UniFi system"
ctrl_stop
echo  " service stopped"
;;
  
restart)
  
echo  -n  "restarting UniFi system"
ctrl_restart
echo  "service restarted"
;;
  
*)
  
echo  "usage: service UniFi {start|stop|restart}"
;;
  
esac
exit  0

配置启动脚本权限

1
chmod  755  /etc/init .d /unifid

2.3.4、step4

启动服务并设置自启动

1
2
/etc/init .d /unifid  start
chkconfig unifid on

2.3.5、step5

设置防火墙

1)查询开启的服务端口

1
netstat  -anp |  grep  java

wKiom1ZS1XrTsGYdAAEsXVOz8kM507.png

2)开启相应的端口

vim编辑/etc/sysconfig/iptables

添加如下语句:

1
2
3
4
5
6
7
8
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8843 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8880 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 1900 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 3478 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 5353 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 10001 -j ACCEPT

暂时了解到以下端口的作用:

tcp8080 //java非加密的对外web服务端口

tcp8443 //java加密的对外web服务服务端口

udp10001 //AP发现端口

3)重启防火墙

1
/etc/init .d /iptables  restart

2.3.6、step6

浏览器测试

http://10.168.0.178:8080

以上网页操作不再详述,请参阅官方文档或论坛。

----------------------------------









本文转自 tanzhenchao 51CTO博客,原文链接:http://blog.51cto.com/cmdschool/1716067,如需转载请自行联系原作者

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
7月前
|
传感器 算法 物联网
《移动互联网技术》第三章 无线定位技术:掌握位置服务和室内定位的基本概念和工作原理
《移动互联网技术》第三章 无线定位技术:掌握位置服务和室内定位的基本概念和工作原理
102 0
|
3月前
|
调度
【技术探讨】无线通信模块拉距测试,是否一定要带笔记本电脑?
对于Sub-G的无线模块通常通信距离较远可以达到公里级甚至数公里之远,而笔记本的续航时间通常是2-3个小时,很多用户测试到一半,不得不提前终止测试,回去给笔记本电脑充电
|
4月前
|
数据采集 搜索推荐 JavaScript
Uniapp连接iBeacon设备——实现无线定位与互动体验(理论篇)
Uniapp连接iBeacon设备——实现无线定位与互动体验(理论篇)
98 0
|
数据采集 传感器 编解码
物联网控制期末复习2:第三章-物联网控制系统的过程通道设计
过程通道是计算机与被控对象交换信息的桥梁,分为输出通道与输入通道。输出通道与输入通道通常又分为模拟和数字两大类
物联网控制期末复习2:第三章-物联网控制系统的过程通道设计
|
人工智能 运维 物联网
5G 承载技术|带你读《5G无线网络规划与设计》之八
在性能方面,5G承载网需具有更大带宽、超低时延和高精度同步,以满足 5G 三大应用场景的需求。在组网及功能方面,5G 承载网应实现多层级承载网络、灵活化连接调度、层次化网络切片、智能化协同管理、4G/5G 混合承载以及低成本高速组网等,促进承载资源的统一管理和灵活调度。
5G 承载技术|带你读《5G无线网络规划与设计》之八
|
存储 机器学习/深度学习 边缘计算
MEC|带你读《5G无线网络规划与设计》之六
在 5G 的服务化架构中,NF 既是服务的提供者,又是服务的使用者。任何NF 都可以提供一个或多个服务。5G 系统架构提供了对服务的使用者进行身份验证和对服务请求授权所必需的功能,并支持高效灵活的公开和使用服务。对于简单的服务或信息请求,可以使用请求-响应模型。对于长期存在的进程,5G架构还支持订阅-通知模型。
MEC|带你读《5G无线网络规划与设计》之六
|
存储 传感器 缓存
极简系统控制面 | 《5G移动无线通信技术》之十
5G 系统的控制信令必须重新设计来容纳三个典型 5G 服务要求,实现必要的频谱灵活性和能耗性能。
极简系统控制面 | 《5G移动无线通信技术》之十
|
定位技术 Windows
【物联网智能网关-06】GPS定位+星图显示(WinForm库应用实例)
GPS不仅可以双向通信,还可以以二进制格式收发数据,并且可以配置需要发送数据的种类和发送间隔,当然必要的时候,还可以用专门的工具,更新GPS模块的固件。
1085 0
|
测试技术 iOS开发