hgot07 Hotspot Blog

主に無線LANや認証連携などの技術についてまとめるブログです。ネコは見る専。

UniFi Network ApplicationをUbuntu Server上で動かす

Ubiquiti無線LAN基地局を使うには、基地局と同じサブネットの上にコントローラが要ります。Cloud Keyを使うのが手っ取り早いのですが、このネットワーク仕様がちょっと曲者で、多数拠点にそれぞれ少数の基地局をばら撒こうとするとCloud Keyも多く必要になってしまいます。この問題は別に考えるとして、今回はUbuntu Serverでコントローラを動かしてみる話です。

LinuxWindowsmacOSの上で動くコントローラとして、UniFi Network Applicationが提供されています。無償で使えます。執筆時のバージョンは6.5.55でした。

私は普段openSUSEを使っているのですが、残念、Linux版はDebian/Ubuntu Linuxにしか対応していません!配布されているファイルは .deb 形式ですちょっと頑張ってみたのですが、簡単には移植できないようでした。

仕方がないので、VirtualBoxの上に(慣れない)Ubuntu Serverの小さなVMを作って、そこでUniFi Network Applicationを動かしてみることにします。

Debian/Ubuntuに対応しているなら簡単でしょ?」

あっ、はい、色々とはまったのでこのエントリを起こしているのですよ……

 

結論:

動きます!

 

Ubuntu ServerとUniFi Network Applicationの入手

Ubuntu Serverはこちらから、amd64版をダウンロードしておきます。なんでデスクトップ版じゃないかというと、あちらは色々と余計なものが満載だからです。

ubuntu.com

UniFi Network Applicationは、こちらからダウンロードできます。

www.ui.com

ただし、Ubuntu上にファイル転送するのが面倒だと思うので、後で直接wgetした方が楽だと思います (後述)。

 

VirtualBoxUbuntu Server用の仮想マシン(VM)を作る

VirtualBoxを使わない人は、次章までスキップしても構いません。

なんでVMかというと、PC本体が故障しても、日頃のバックアップさえあれば他のホストに容易に持っていけるからです。

VMのネットワークを外に公開する方法については、VirtualBoxに関する星の数ほどの解説記事から手頃なものを見つけてください。ここには書きません。

まずは、仮想マシンを作成します。名前は適当に。

Ubuntu ServerをVirtualBoxで動かす1

 

Ubuntu ServerをVirtualBoxで動かす2

 

Ubuntu ServerをVirtualBoxで動かす3

ストレージはちょっと増やしておきましょうか。32GBにしていますが、20GBでもよさそう (後述)。

Ubuntu ServerをVirtualBoxで動かす4

 

インストーラ―が起動できるように、Ubuntu Serverのメディアを追加します。

Ubuntuのメディアのマウント

 

Ubuntu Serverのインストール

デスクトップ版のUbuntuは、サーバ用途には余計なものが沢山入っているのもツライですが、何と言ってもネットワーク周りをいじるのに面倒が多いです。サーバ用途では最初からUbuntu Serverにしておくのが、結果的には楽です。

その代わり、Firewallなども自分で後で追加する必要があるので、勉強しましょう。

あと、いきなり日本語環境で入れると痛い目に遭うことがあるので、初期はEnglishで入れて、必要に応じて日本語パッケージを追加していくのが無難でしょう。

Ubuntu Serverのインストール1

 

キーボード配列は、必要に応じて変更しておきましょう。

Ubuntu Serverのインストール2


あと少し情報を入力したらインストール開始です。インストールが済んだらRebootのボタンが現れるので、再起動してログイン、sudo -s でrootになっておきます。

 

UniFi Network Applicationと必要パッケージのインストール

Ubiquitiのウェブサイトで、"UniFi Network Application 6.5.55 for Debian/Ubuntu Linux and UniFi Cloud Key"をダウンロードします。続いて、aptでパッケージをインストールします。dpkgは絶対に使わないこと。

最新版のリンクを使って、例えばこのように↓ (URLは適宜修正)

  # wget https://dl.ui.com/.../unifi_sysvinit_all.deb
  # apt install ./unifi_sysvinit_all.deb

アプリケーションが必要とするパッケージで、素のUbuntu Serverにまだ入っていないものが沢山ありますが、その辺はaptがよきに計らってくれます。

UniFi Network Applicationのインストール1

UniFi Network Applicationのインストール2

 

UniFi Network Applicationが起動できるように修正

とりあえず、インストールしたてでほやほやのアプリケーションを起動してみます。

  # service unifi start
  # service unifi status

あぁ、何かエラーが出てますね。Cannot locate Java Home... _('、3」∠)_

Javaエラー1

Javaエラー2

 

コントローラがJDK 8を想定しているところ、Ubuntuにはopenjdk-17が入っているのが原因です。これを見付けるのに苦労しましたが、/usr/lib/unifi/bin/unifi.init を見たら分かりました。

パッケージを追加してみます。

  # apt install openjdk-8-jre

 

気を取り直して、もういっちょ!

  # service unifi start

今度はプロンプトが帰ってくるまでちょっと(かなり)待たされます。

  # service unifi status

あれ、WARNが出ている?(たぶん初期化の警告)

初期起動時の警告

 

もういっちょ?

  # service unifi restart
  # service unifi status

今度は成功のようです。

起動成功

 

 

コントローラへのアクセス

Ubuntu Server上でコントローラにアクセスしてみるために、必要そうなものを一式入れてみます。

  # apt install net-tools
  # apt install firefox
  # apt install xinit
  # apt install gnome

 

(余談) Gnomeを入れると次回からウィンドウシステムが自動で起動してしまうので、gdmを止めておくのがよさそう。

  # systemctl disable gdm3

 

ここまでで、ファイルシステムの使用量は、10GB弱といったところでした。

ファイルシステム容量

 

いざ、コントローラに接続!

……の前に、ウィンドウシステムを立ち上げておかなくては。

  # startx

はい、本番。

  # firefox https://localhost:8443

ローカルでのアクセス1

ローカルでのアクセス2

 

ヽ(゚∀゚)ノ

はい、後はCloud Keyと同様です。クラウドで使用しているアカウントでログインします。

 

では、クラウド側からコントローラが見えるかどうか、確認してみましょう。

あれ……、いない?🤔

UniFi Portal

 

まさかと思いながら View Legacy Platform に進んでみると、いました! (上の子)

View Legacy Platform

 

というわけで、無事に使えそうですが、ネットワークの本設定がまだなので、例によって未確認で進行形です。

 

(というか、なんでLegacy Platform扱いなのよと、また少し不信感が募りました)

 

おわり

 

 

jp.store.ui.com