はじめに
この記事では、WindowsServer環境でUniFi NetworkアプリケーションをWindowsサービスとして設定する手順を紹介します。通常はUniFi Network Applicationをインストールした状態だとランチャーとしてフォアグラウンドで実行されてしまいますが、UniFi Network Applicationをバックグラウンドで実行することで、より安定した運用や自動起動の実現が可能となります。
なお、公式でも同様の手順を英語で紹介しています。
ほとんど日本語訳したものになりますが、少しだけ手順を追加していたり、私なりのアレンジを加えたりしています。
【公式ドキュメント】
Self-Hosted UniFi Network Server as a Windows Service (Advanced)
https://help.ui.com/hc/en-us/articles/205144550-UniFi-Run-the-Network-Application-as-a-Windows-Service
ランチャーとWindowsサービス
- ランチャー:UniFi Network Applicationが前面で実行されます(デフォルト)
- Windowsサービス:UniFi Network Applicationがバックグラウンドで実行されます(高度な設定)
注意事項と要件
公式サイトの動作保証範囲を超える内容ですので、注意が必要です。
- Windows Server環境でUniFi Network Application ver7.3.83.0を利用していますが、公式サイトではWindows 10/11での動作が保証されています。
- 本記事では、Windows Server環境でのUniFi Network Applicationの設定方法について説明しています。
- UniFi Network Applicationが使用するポートをWindowsファイアウォールで許可するようにしてください。詳細については、UniFi Network - Required Ports Referenceの記事を参照してください。
説明概要
- UniFi Network Applicationのダウンロード
- Java 11のインストールと設定
- UniFi Network Applicationの新規インストール
- サービスのインストール
- サービスの起動と動作確認
- UniFi Network Applicationの既存インストールからのアップグレード手順
新しいUniFi Network Applicationをサービスとして設定する
注意
- 最新バージョンのUniFi Network Application(7.3)では、Java 11が必要です。
- 以前のバージョン(7.2)では、Java 8が使用されます。
- 【x64 Javaリリース】のみをインストールし、Javaのバージョンは1つだけにしてください。
UniFi Network Applicationのダウンロード
ダウンロードページから最新のUniFi Networkアプリケーションをダウンロードしておきます。
Java 11のインストールと設定
こちらのサイトで以下のオプションを選択し、Windows用のx64 .msiファイルをダウンロードします。
ダウンロードするファイル
- OS:Windows
- アーキテクチャ:x64(それぞれの環境に合わせてください)
- パッケージタイプ:JRE
- バージョン:11
注意
JAVA_HOME変数が正しく設定されていない場合、サービスのインストールは成功しません。
Java 11インストーラーや変数に問題がある場合は、システムに存在する他の/古いJavaバージョンを削除してください。
インストールを実行し、カスタムセットアップ画面で「Set JAVA_HOME variable」を「ローカルハードドライブにインストール」に設定します。
設定出来たら次へを押していき、インストールを完了させて下さい。
UniFi Network Applicationの新規インストール
ダウンロードしたUniFi Network Applicationの.exeファイルを実行して案内のままインストールを実行してください。
インストールが完了したら、ランチャーは起動せずに完了してください。もし起動してもランチャーを閉じれば問題ありません。
サービスのインストール
管理者権限のあるWindowsコマンドプロンプト(cmd)ウィンドウを開きます。
UniFi Network Applicationのインストール場所にディレクトリを変更します。
cd "%UserProfile%\Ubiquiti UniFi"
UniFiフォルダーのルートに入ったら、以下のコマンドを実行してサービスをインストールします。
java -jar lib\ace.jar installsvc
インストールが完了するまで待ちます。完了したことを示す「Complete Installation」のログメッセージが表示されます。
サービスにUniFiNetworkアプリケーションが追加されたか確認しましょう。
Windowsキー + Rキーを押して「実行」ダイアログボックスを開き、ダイアログボックスに「services.msc」と入力して「OK」ボタンをクリックしてください。
サービス管理コンソールが開くのでUniFiNetworkアプリケーションを探します。
画像の様に見つかれば問題ありません。
※画像では状態が「実行中」になっていますが、この段階では「停止」になっているはずです。
サービスの起動と動作確認
以下のコマンドでサービスを起動します
java -jar lib\ace.jar startsvc
ブラウザを開き、アプリケーションのIPアドレスまたはhttps://localhost:8443に移動します。
404ERRORが出たら
1分ほど待ってからもう一度アクセスしてみてください。
サービス起動から少し時間がかかります。
UniFi Network Applicationの既存インストールからのアップグレード手順
バックアップ
UniFi Network Applicationのバックアップファイルをダウンロードします。
サービスのアンインストール
管理者権限のあるWindowsコマンドプロンプト(cmd)ウィンドウを開きます。
UniFiのインストール場所にディレクトリを変更します。
cd "%UserProfile%\Ubiquiti UniFi"
UniFiフォルダーのルートに入ったら、以下のコマンドを実行してサービスをアンインストールします。
java -jar lib\ace.jar uninstallsvc
サービスのアンインストールプロセスが完了するまで待ちます。
この後は新規インストール手順と同じです。
おまけ「\Program Filesにサービスをインストールする方法」
サービスを特定のユーザーにインストールせずにProgram Filesにインストールする方法があります。
あくまでもおまけなので箇条書きです。
- サービスを停止します。
- コマンドプロンプトを起動し、「Ubiquiti UniFi」ディレクトリにディレクトリを変更します。
- javaコマンドでサービスをアンインストールします。
- 「Ubiquiti UniFi」ディレクトリを切り取り、「\Program Files」ディレクトリに貼り付けます。
- コマンドプロンプトで「\Program Files\Ubiquiti UniFi」にディレクトリを移動します。
- Javaコマンドでサービスをインストールします。
- サービスを起動します。
最後にWebブラウザからアクセスできれば完了です。
各種コマンド
- サービスインストールコマンド
java -jar lib\ace.jar installsvc
- サービスアンインストールコマンド
java -jar lib\ace.jar uninstallsvc
おわりに
今回はUniFi NetworkをWindowsServerでサービスとして利用する手順を紹介しました。
もちろん、WindowsServerでUniFiNetwork Applicationをランチャーとして起動しても問題なく利用できますが、高度な設定が出来ません。もし高度な設定をする方はサービスで起動させた方がおすすめです。