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/
选择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
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/