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设置管理工具和解压软件

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)根据系统类型安装

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

可见以下内容:

[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参数(要不无法安装):

[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

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

2.2.3、安装openjdk

yum -y install java-1.7.0-openjdk

2.2.4、下载源unifi控制器源码

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

项目笔录-实战ubnt企业无线unifi控制器_第1张图片

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

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

2.3、配置部分

2.3.1、step1

配置MongoDB

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

2.3.2、step2

配置源代包

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

2.3.3、step3

制作服务脚本

vim编辑/etc/init.d/unifid

#!/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

配置启动脚本权限

chmod 755 /etc/init.d/unifid

2.3.4、step4

启动服务并设置自启动

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

2.3.5、step5

设置防火墙

1)查询开启的服务端口

netstat -anp | grep java

项目笔录-实战ubnt企业无线unifi控制器_第2张图片

2)开启相应的端口

vim编辑/etc/sysconfig/iptables

添加如下语句:

-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)重启防火墙

/etc/init.d/iptables restart

2.3.6、step6

浏览器测试

http://10.168.0.178:8080

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

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

参阅原文:

http://www.charleslabri.com/installing-ubiquiti-unifi-controller-on-centos-6-x/