在 Raspberry Pi 樹莓派安裝 UniFi Controller

之前入坑 UniFi 的各種 AP 以後,就嘗試過 macOS 與 DSM Docker 版本的 UniFi Controller

在 macOS 安裝不太現實,因為電腦不是經常開機,而且 Macbook 隨時有可能會拿到外面使用

所以也嘗試過在 Docker 安裝,當時使用的是 goofball222/unifi ,很長一段時間都運行的很棒

直到一次大版本更新,goofball222 的最新映像檔沒辦法在我機器上順利跑起來了,只要吃下我的備份檔

它就當機。。。

具體原因沒有去深究,轉頭看看自己的樹莓派效能還有餘力,所以乾脆直接在樹莓派上面搞一套~

當然如果你預算充裕,直接入一個 UniFi Cloud Key 也是可以的。。。

在我穩定運行一段時間後發現,便宜又大碗的 Raspberry Pi 樹莓派真的很適合拿來當 UniFi Controller 啊!

工作環境

開始之前

在開始安裝 UniFi Controller 以前,請先把系統升級到最新版,並且語言最好設定到「en_US.UTF-8 UTF8」

不然在安裝 MongoDB 的時候有可能會出現錯誤

1
2
3
$ sudo apt-get update && sudo apt-get upgrade -y
$ sudo rpi-update
$ sudo reboot

接著要去確認語言是不是修改到「en_US.UTF-8 UTF8」,在「Localisation Option」裡面的「Change Locale」

1
$ sudo raspi-config

/media/2017/12/snipaste_20171228_155559.png

找到「en_US.UTF-8 UTF8」,然後按下鍵盤的空白鍵,並去掉其他語系

/media/2017/12/snipaste_20171229_095747.png

以上修改完畢後,記得再重新 reboot 一次,確保系統語言已經變成英語

開始安裝

我們先把 UBNT UniFi 加入軟件庫

1
2
3
4
$ sudo apt install dirmngr
$ echo 'deb http://www.ubnt.com/downloads/unifi/debian stable ubiquiti' | sudo tee -a /etc/apt/sources.list.d/ubnt.list > /dev/null
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv C0A52C50
$ sudo apt-get update

第二行的 stable 是 UniFi 穩定版的意思,還可以替換成 oldstable(舊的穩定版)跟 testing(測試版)

接著就可以開始安裝 UniFi Controller 了,這邊我們要安裝 UniFi 跟 JAVA 8

1
$ sudo apt-get install unifi oracle-java8-jdk -y

安裝過程可能會需要一點時間,可以去泡杯咖啡或者洗個澡。。。

安裝完畢後,我們要關閉 MongoDB 默認的服務,因為 UniFi 會自己啟用

1
2
$ sudo systemctl disable mongodb
$ sudo systemctl stop mongodb

執行完畢後,直接重新啟動樹莓派

1
$ sudo reboot

等個幾十秒,樹莓派啟動後,使用 HTTPS 訪問樹莓派 IP:8443 就能愉快使用了~

關於更新

任何版本的 UniFi Controller 要更新以前,強烈建議留一份備份在自己電腦

打開 UniFi 管理頁面,然後根據下面圖片下載備份到本地電腦

/media/2017/12/snipaste_20171229_090009.png

備份以後,就像更新其他樹莓派軟體一樣,直接輸入以下指令

1
$ sudo apt-get update && sudo apt-get upgrade -y

系統會檢查更新,如果有新版本就會自己開始安裝,非常方便!