之前入坑 UniFi 的各種 AP 以後,就嘗試過 macOS 與 DSM Docker 版本的 UniFi Controller
在 macOS 安裝不太現實,因為電腦不是經常開機,而且 Macbook 隨時有可能會拿到外面使用
所以也嘗試過在 Docker 安裝,當時使用的是 goofball222/unifi ,很長一段時間都運行的很棒
直到一次大版本更新,goofball222 的最新映像檔沒辦法在我機器上順利跑起來了,只要吃下我的備份檔
它就當機。。。
具體原因沒有去深究,轉頭看看自己的樹莓派效能還有餘力,所以乾脆直接在樹莓派上面搞一套~
當然如果你預算充裕,直接入一個 UniFi Cloud Key 也是可以的。。。
在我穩定運行一段時間後發現,便宜又大碗的 Raspberry Pi 樹莓派真的很適合拿來當 UniFi Controller 啊!
工作環境
- Raspberry Pi 3B(樹莓派)
- Raspbian Stretch( https://www.raspberrypi.org/downloads/raspbian/ )
開始之前
在開始安裝 UniFi Controller 以前,請先把系統升級到最新版,並且語言最好設定到「en_US.UTF-8 UTF8」
不然在安裝 MongoDB 的時候有可能會出現錯誤
$ sudo apt-get update && sudo apt-get upgrade -y
$ sudo rpi-update
$ sudo reboot
接著要去確認語言是不是修改到「en_US.UTF-8 UTF8」,在「Localisation Option」裡面的「Change Locale」
$ sudo raspi-config
找到「en_US.UTF-8 UTF8」,然後按下鍵盤的空白鍵,並去掉其他語系
以上修改完畢後,記得再重新 reboot 一次,確保系統語言已經變成英語
開始安裝
我們先把 UBNT UniFi 加入軟件庫
$ 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
$ sudo apt-get install unifi oracle-java8-jdk -y
安裝過程可能會需要一點時間,可以去泡杯咖啡或者洗個澡。。。
安裝完畢後,我們要關閉 MongoDB 默認的服務,因為 UniFi 會自己啟用
$ sudo systemctl disable mongodb
$ sudo systemctl stop mongodb
執行完畢後,直接重新啟動樹莓派
$ sudo reboot
等個幾十秒,樹莓派啟動後,使用 HTTPS 訪問樹莓派 IP:8443 就能愉快使用了~
關於更新
任何版本的 UniFi Controller 要更新以前,強烈建議留一份備份在自己電腦
打開 UniFi 管理頁面,然後根據下面圖片下載備份到本地電腦
備份以後,就像更新其他樹莓派軟體一樣,直接輸入以下指令
$ sudo apt-get update && sudo apt-get upgrade -y
系統會檢查更新,如果有新版本就會自己開始安裝,非常方便!