更新时间:2022-04-12 18:30:20
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/
选择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
|
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
浏览器测试
以上网页操作不再详述,请参阅官方文档或论坛。
----------------------------------