.. _install guide:

インストールガイド
*******************

ここでは、OSSTechが提供する
Unicorn ID Manager のインストール要件とインストール方法を記載します。

.. _requirements:

インストール要件
------------------

.. _hardware-requirements:

ハードウェア要件
^^^^^^^^^^^^^^^^^

* CPU

  * Intel Xeon 2.0GHz 以上あるいは互換 CPU
  * 内部で MongoDB を利用するため、 `MongoDB の推奨要件`_ もあわせて確認してください。

* メモリ

  * 4GB 以上

* ディスク

  * /opt/osstech (ソフトウェア): 512MB 以上
  * /var/opt/osstech (データ、ログ): 20GB以上 (推奨)

.. _supported-os:

サポート OS
^^^^^^^^^^^^^^

* RedHat Enterprise Linux 8 / AlmaLinux 8 / RockyLinux 8 (x86_64)
* RedHat Enterprise Linux 9 / AlmaLinux 9 / RockyLinux 9 (x86_64)
* RedHat Enterprise Linux 10 / AlmaLinux 10 / RockyLinux 10 (x86_64)

.. _install-unicornIDM:

インストール方法
------------------

次の手順で実施してください。

0. 事前準備

   * root 権限を持つユーザーでログインしてください
   * ``dnf`` コマンドが利用可能であることを確認してください
   * Firewall が有効である場合、以下のポートを開放してください

     * TCP 443 (HTTPS)

1. OSSTechが提供した
   パッケージバンドルをインストールするサーバーの任意のディレクトリに展開し、
   そのディレクトリに移動してください。
   例として ``osstech-unicornidm-3.22.1-189.el10.x86_64.tar.gz`` というファイルの場合は、以下のコマンドになります。
   ファイル名やディレクトリ名はパッケージバージョンやOSによって異なります。
   適宜読み替えてください。

   .. code-block:: shell-session

       # ls
       osstech-unicornidm-3.22.1-189.el10.x86_64.tar.gz
       # tar zcvf osstech-unicornidm-3.22.1-189.el10.x86_64.tar.gz
       # ls
       osstech-unicornidm-3.22.1-189.el10.x86_64
       osstech-unicornidm-3.22.1-189.el10.x86_64.tar.gz
       # cd osstech-unicornidm-3.22.1-189.el10.x86_64
       # ls
       doc  install.sh  x86_64

2. 以下のコマンドを実行して、パッケージインストールを実施してください。

   .. code-block:: shell-session

       # ./install.sh

3. デフォルト構成では Apache HTTP Server を利用するため、必要に応じてインストールしてください。

   .. code-block:: shell-session

       # dnf install httpd mod_ssl

.. _update-unicornIDM:

アップデート方法
----------------

次の手順で実施してください。

1. Apache HTTP サーバーの停止

   .. code-block:: shell-session

       # systemctl stop httpd.service

2. バックアップの取得

   アップデート前にバックアップを取得してください。
   内部データベースのバックアップは :ref:`backup` を参照してください。
   例として ``/root/`` 配下にバックアップファイルを取得する場合は、以下のコマンドを実行します。

   .. code-block:: shell-session

       # /opt/osstech/sbin/unicornidm-tool backup -d /root/

   バックアップファイルは ``unicornidm-<YYYY-MM-DD>T<HH:MM:SS>.gz`` という形式で保存されます。

   .. code-block:: shell-session

      # ls /root/
      unicornidm-2025-12-19T10:18:41.gz

3. OSSTechが提供したパッケージバンドルを、アップデートするサーバーの任意のディレクトリに展開し、
   そのディレクトリに移動してください。
   例として ``osstech-unicornidm-3.22.1-189.el10.x86_64.tar.gz`` というファイルの場合は、以下のコマンドになります。
   ファイル名やディレクトリ名はパッケージバージョンやOSによって異なります。
   適宜読み替えてください。

   .. code-block:: shell-session

       # ls
       osstech-unicornidm-3.22.1-189.el10.x86_64.tar.gz
       # tar zcvf osstech-unicornidm-3.22.1-189.el10.x86_64.tar.gz
       # ls
       osstech-unicornidm-3.22.1-189.el10.x86_64
       osstech-unicornidm-3.22.1-189.el10.x86_64.tar.gz
       # cd osstech-unicornidm-3.22.1-189.el10.x86_64
       # ls
       doc  install.sh  x86_64

4. 以下のコマンドを実行して、パッケージアップデートを実施してください。

   .. code-block:: shell-session

       # ./install.sh

5. Apache HTTP サーバーの再起動

   .. code-block:: shell-session

       # systemctl start httpd.service

6. アップデート完了後、システムの動作を確認してください。

.. _rollback-unicornIDM:

ロールバック方法
^^^^^^^^^^^^^^^^

アップデート後予期せぬ問題が発生し、ロールバックが必要な場合は以下の手順で実施してください。

0. 事前準備

   * :ref:`アップデート手順 <update-unicornIDM>` で取得したバックアップファイルを用意してください
   * アップデート前のバージョンのパッケージバンドルを用意してください。

1. アップデート前のパッケージバンドルを、ロールバックするサーバーの任意のディレクトリに展開し、
   そのディレクトリに移動してください。

2. サービスの停止

   .. code-block:: shell-session

       # systemctl stop osstech-unicornidm.service
       # systemctl stop httpd.service

3. 以下のコマンドを実行して、パッケージダウングレードを実施してください。

   .. code-block:: shell-session

       # dnf downgrade x86_64/*.rpm

4. 内部データベースの初期化

   .. code-block:: shell-session

       # rm -rf /opt/osstech/var/lib/unicornidm/mongodb/*

5. ``osstech-unicornidm`` サービス再起動

   .. code-block:: shell-session

       # systemctl start osstech-unicornidm.service

6. バックアップからのデータ復元

   .. code-block:: shell-session

       # /opt/osstech/sbin/unicornidm-tool restore /root/<BACKUP FILE>

7. Apache HTTPD サーバーの再起動

   .. code-block:: shell-session

       # systemctl start httpd.service

8. システムの動作を確認してください。

.. _MongoDB の推奨要件: https://www.mongodb.com/ja-jp/docs/v8.0/administration/production-notes/#platform-support
