# ライセンスサーバーのサービスの設定

> Set up a service to automatically start the Unity Licensing Server on startup.

このタスクは、[Unity Licensing Server を設定](./server-setup.md) するための包括的なプロセスの一部です。

[ライセンスサーバーをテスト](./server-setup-test.md) したら、サービスを設定して、起動時にサーバーが自動的に起動するようにできます。プロセスを手動で一時停止、停止、再起動することもできます。

任意ではありますが、サービスを設定することをお勧めします。

サービスを設定した後で、必ずライセンスサーバー設定のバックアップを作成してください。[バックアップと復元](./server-setup-bkup.md) を参照してください。

## サービスの作成

> **Important:**
>
> Use [サーバーの設定](./server-setup-cfg.md) と [ライセンスアーカイブファイルのインポート](./server-setup-lic.md) に使用したサービスアカウントを使用します。

ライセンスサーバーの停止と起動のためにサービスを作成するには、OS に応じた手順に従います。

* [Linux](#creating-a-service-on-linux)
* [Windows](#creating-a-service-on-windows)

### Linux でのサービスの作成##creating-a-service-on-linux

`create-service` コマンドは以下を行います。

* `unity.licensing.server.service` と呼ばれる `systemd` サービス単位を作成します。
* 現在のルート以外のユーザーアカウントで実行するようにサービスを設定します。
* 起動時に自動的に起動するようにサービスを設定します。
* サービスを起動します。

> **Note:**
>
> If the 選択したポートがすでに別のアプリケーションによって使用され、サーバーが起動できない場合は、再び `setup` コマンドを最初から実行して、違うポートを選択してください。
>
> `create-service` コマンドには管理者権限が必要です。ターミナルに `sudo` を入力し、昇格された特権でこのコマンドを実行してください。

1. サービスを作成するには、以下のコマンドを実行します。

```bash
sudo ./Unity.Licensing.Server create-service
```

以下のような出力が表示されます。

```bash
- - - -
Welcome to Unity Licensing Server create service command line interface.
This command line interface will help you create Unity.Licensing.Server service.
- - - -

Creating service for user 'adminuser' ...
Enabling service to start automatically after (re)boot ... Done
Starting service ... Done
unity.licensing.server.service has been successfully created and running.
```

2. サービスのステータスを調べるには、以下のコマンドを実行します。

```bash
sudo systemctl status unity.licensing.server.service
```

ターミナルの出力で `Active: active running` を確認します。


**Frame:**
![](/api/media?file=/licensing-server/media/images/create-service-linux-status.png)

### Windows でのサービスの作成##creating-a-service-on-windows

`create-service` コマンドには管理者権限が必要です。開始する前に、昇格された特権で PowerShell ウィンドウを開始します。管理者アカウントと空ではないパスワードを使用する必要があります。

1. サービスとしてログオンする権利をユーザーに与えます。ログオンする権利を割り当てるには、以下を行います。

   * Windows Search で `Local Security Policy` を検索し、ポリシーエディターを開きます。
   * 左側のメニューで、**Security Settings** (セキュリティの設定) > **Local Policies** (ローカルポリシー) > **User Rights Assignment** (ユーザー権利の割り当て) に移動し、**Log on as service** (サービスとしてログオン) を選択します。
   * **Add User or Group** (ユーザーまたはグループの追加) をクリックします。
   * テキストボックスにユーザー名を入力し、**Check Names** (名前の確認) > **OK** をクリックします。
   * **OK** をクリックします。

2. サービスを作成するには、昇格された特権で PowerShell ウィンドウを開始し、以下のコマンドを実行します。

   ```bash
   .\Unity.Licensing.Server.exe create-service
   ```

3. サービスの作成に使用した管理者アカウントのパスワードを入力します。`create-service` コマンドは以下のような出力を返します。

   ```bash
   - - - -
   Welcome to Unity Licensing Server create service command line interface.
   This command line interface will help you create Unity.Licensing.Server    service.
   - - - -

   Enter password for user 'HQ\adminuser':  ***********
   Windows service installation successful!
   Service Name = Unity.Licensing.Server
   Description = The Unity Licensing Server is a secure web server to host and
   manage Unity licenses on your local network
   ```

4. サービスのステータスを調べるには、以下のコマンドを実行します。

   ```bash
   sc.exe query Unity.Licensing.Server
   ```

   PowerShell ウィンドウの出力で `STATE` の情報を確認します。

   ```bash
   SERVICE_NAME: Unity.Licensing.Server
           TYPE               : 10  WIN32_OWN_PROCESS
           STATE              : 4  RUNNING
                                   (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
           WIN32_EXIT_CODE    : 0  (0x0)
           SERVICE_EXIT_CODE  : 0  (0x0)
           CHECKPOINT         : 0x0
           WAIT_HINT          : 0x0
   ```

   `STATE` 値に `4 RUNNING` 以外が表示される場合は、Windows サービスを開き、管理するために    `Unity.Licensing.Server` サービスを探します。

## サービスの再起動##restarting-the-service

標準の OS コマンドを使用して、ライセンスサーバーサービスを停止または再起動できます。

> **Note:**
>
> If the 選択したポートがすでに別のアプリケーションによって使用され、サーバーが起動できない場合は、再び `setup` コマンドを最初から実行して、違うポートを選択してください。この操作によって、ライセンスサーバーの可用性が中断されます。この操作は、一般的にトラフィックが少ないとき、または組織のメンテナンス期間に行うようにしてください。

OS に応じた手順に従います。

* [Linux](#restarting-the-service-on-linux)
* [Windows](#restarting-the-service-on-windows)

### Linux でのサービスの再起動##restarting-the-service-on-linux

1. 以下のコマンドを実行して、ライセンスサーバーサービスを起動または再起動します。

```bash
sudo systemctl restart unity.licensing.server.service
```

2. 以下のコマンドを実行して、サービスが実行していることを確認します。

```bash
sudo systemctl status unity.licensing.server.service | grep Active
```

サービスが実行されている場合、コマンドの出力は以下のようになります。

```bash
Active: active (running) since Fri 2020-02-14 16:44:59 EST; 2s ago
```

### Windows でのサービスの再起動##restarting-the-service-on-windows

1. 以下のコマンドを実行して、ライセンスサーバーサービスを起動または再起動します。

```bash
sc.exe query Unity.Licensing.Server | findstr /i State
```

2. 出力に `STATE: 4 RUNNING` と表示されている場合は、以下のコマンドを実行してサービスを停止します。

```bash
sc.exe stop Unity.Licensing.Server
```

3. 出力に `STATE: 1 STOPPED` と表示されている場合は、以下のコマンドを実行してサービスを再起動します。

```bash
sc.exe start Unity.Licensing.Server
```

4. 再びサービスの状態を調べるには、以下のコマンドを実行します。

```bash
sc.exe query Unity.Licensing.Server | findstr /i State
```

出力に `STATE: 4 RUNNING` と表示されている場合、サービスが正常に再起動されています。

## サービスの削除##deleting-the-service

ライセンスサーバーサービスを削除する必要がある場合は、OS に応じた手順に従います。

* [Linux](#deleting-the-service-on-linux)
* [Windows](#deleting-the-service-on-windows)

### Linux でのサービスの削除##deleting-the-service-on-linux

ライセンスサーバーサービスを削除するには、以下を行います。

1. 以下のコマンドを実行してサービスを停止します。

```bash
sudo systemctl stop unity.licensing.server.service
```

2. 以下のコマンドを実行して、サービスを無効にし、次回の起動時に実行しないようにします。

```bash
sudo systemctl disable unity.licensing.server.service
```

3. 以下のコマンドを実行して、サービスが無効になったことを確認します。

```bash
sudo systemctl status unity.licensing.server.service | grep Loaded
```

サービスが無効になった場合、コマンドの出力は以下のようになります。

```bash
Loaded: loaded (/etc/systemd/system/unity.licensing.server.service; **disabled**; vendor preset: enabled)
```

4. 以下のコマンドを実行して、サービス単位を削除します。

```bash
sudo rm -rf /etc/systemd/system/unity.licensing.server.service
```

5. 以下のコマンドを実行して、変更を反映させます。

```bash
sudo systemctl daemon-reload
```

### Windows でのサービスの削除##deleting-the-service-on-windows

ライセンスサーバーサービスを削除するには、以下を行います。

1. 以下のコマンドを実行してサービスを停止します。

```bash
sc.exe stop Unity.Licensing.Server
```

2. 以下のコマンドを実行して、サーバーのステータスを調べます。

```bash
sc.exe query Unity.Licensing.Server | findstr /i State
```

3. 出力に `STATE: 1 STOPPED` と表示されている場合は、以下のコマンドを実行してサービスを削除します。

```bash
sc.exe delete Unity.Licensing.Server
```

サービスを削除すると、以下のメッセージが表示されます。

```bash
[SC] DeleteService SUCCESS
```

## 次のステップ

[バックアップと復元](./server-setup-bkup.md) に進み、ライセンスサーバーの設定を続けます。
