2013年11月29日 星期五

安裝 unifi controller on CentOS

Install unifi controller on CentOS


Unifi controller requires:
1. Install mongodb
2. Install java
3. Install UniFi
4. 設定開機啟動UniFi Service

Install MongoDB:
vi /etc/yum.repos.d/10gen.repo
或將下列幾行加入/etc/yum.repos.d/xxx.repo
*************************************************************
#32bit
[10gen]
name=10gen Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686/
gpgcheck=0
#64bit
[10gen]
name=10gen Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
*************************************************************
透過yum 安裝mongodb
yum install mongo-10gen-server
啟動服務
/etc/init.d/mongod start
service mongod start
開機啟動mongod
chkconfig --levels 235 mongod on
Install JRE:
You require Sun's Java JRE or JDK, version 6.x. Older versions won't work.

wget http://javadl.sun.com/webapps/download/AutoDL?BundleId=81811
rpm -ivh jre-7u45-linux-x64.rpm
檢查JAVA版本
java -version

安裝 unifi controller
Install location: /usr/local/src
下載http://dl.ubnt.com/unifi/2.4.6/UniFi.unix.zip
並解壓縮到指定目錄(/usr/local/src)

UniFi/bin/mongod 指向 mongod 所在目錄 (/usr/bin/mongod)
ex:
rm bin/mongod ; ln -s /usr/bin/mongod bin/mongod
啟動unifi controller
java -jar lib/ace.jar start &

netstat -alnp | grep java
確認下列ports is listening
Unifi Management 8443 8080
Unifi Guest Portal 8880 8843

設定開機啟動UniFi Service
vi /etc/init.d/unifi
**********************************************************************
#!/bin/bash
# chkconfig: 2345 95 20
# description: UniFi system
# processname: UniFi

# install dir = /usr/local/src/UniFi_2.4.6/lib/ace.jar

ctrl_start()
{
#nohup java -jar JarFile.jar </dev/null >>myLogFile 2>>myErrorFile&
java -jar /usr/local/src/UniFi_2.4.6/lib/ace.jar start &
}

ctrl_stop()
{
java -jar /usr/local/src/UniFi_2.4.6/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/unifi
service unifi restart
chkconfig unifi on
chkconfig --add unifi

開機啟動 unifi controller
chkconfig --levels 235 unifi on

管理 Unifi controller :
安裝完unifi controller之後
即可自動掃描到 unifi AP
若無法自動掃描到 AP可先停止server上的iptables
service iptables stop

等完成所有設定之後再啟動 iptables
service iptables start

AP先前已被其他controller管理
可參考以下方式 將管理權轉移

需知道APIP位址並透過SSH連線至該AP
使用之前的帳號密碼去發送set-inform command


UniFi - Layer 3 methods for UAP adoption and management

If you can SSH into the AP, it's possible to do L3-adoption via CLI command:
# 1. make sure the AP is running the latest (or 2.1.0+) if it's not, do
AP firmware升級
syswrapper.sh upgrade http://192.168.0.170:8080/dl/firmware/BZ2/2.4.6.2178/firmware.bin
# 2. make sure the AP is in factory default state if it's not, do
AP回復出廠設定
syswrapper.sh restore-default
(default pass: ubnt/ubnt)
# 3. ssh into the device and type
mca-cli
# the CLI interface:
set-inform http://ip-of-controller:8080/inform

201304160233.jpg
假如
set-inform http://192.168.0.252:8080/inform
tail -f /var/log/messages
出現以下log
Jan 1 00:01:24 UBNT user.info kernel: [4294751.330000] br0: port 2(ath0) entering disabled state
Jan 1 00:01:44 UBNT authpriv.notice dropbear[1535]: password auth succeeded for 'admin' from 192.168.0.170:51821
Jan 1 00:02:13 UBNT user.err syslog: mcagent_data.data_decrypt(): header too small. size=0
Jan 1 00:02:13 UBNT user.err syslog: ace_reporter.reporter_fail(): (http://192.168.0.252:8080/inform)
Jan 1 00:02:13 UBNT user.err syslog: ace_reporter.reporter_fail(): inform failed #1 (last inform: 9 seconds ago), rc=7
Jan 1 00:02:22 UBNT user.warn syslog: libubnt_util.hex2uchar(): hex should be double the size of the raw!
Jan 1 00:02:22 UBNT user.err syslog: ace_reporter.reporter_json(): incorrect authkey [tail] specified, ignored

AP還原至出廠設定
syswrapper.sh restore-default
default: ubnt/ubnt

controller管理頁面 refresh
discovery 新的devices按下adopt





沒有留言:

張貼留言