コンテンツにスキップ
「プリザンター入門」発売中!

インストーラでプリザンターをAmazon EC2のRed Hat Enterprise Linux 10にインストールする

概要

本手順はインストーラを使用してプリザンターの動作環境を構築する手順です。モジュールの配置やパラメータ設定を手動で行う今までの手順でもインストール可能です。手動インストールの手順は以下を参照ください。
プリザンターをAmazon EC2のRed Hat Enterprise Linux 10にインストールする

対象 内容
サービス Amazon EC2 および Amazon RDS
OS Red Hat Enterprise Linux 10 (HVM), SSD Volume Type
DB MySQL 8.4.5
Webサーバ nginx 1.26.3
Platform .NET 8.0.410
Pleasanter プリザンター 1.4.18.0以降

前提条件

  1. EC2インスタンスは以下の条件でセットアップされているものとします。
    1. セキュリティグループのルールでSSHトラフィック、HTTPトラフィック、HTTPSトラフィックを許可していること。
    2. EC2インスタンスのキーペアの秘密鍵をダウンロードしていること。
    3. EC2インスタンスの既定ユーザec2-userが存在すること。
  2. RDSインスタンスは以下の条件でセットアップされているものとします。
    1. EC2インスタンスと接続設定を行っていること。
    2. マスターユーザー名とマスターパスワードを設定し、パスワード認証を行えること。
  3. 本手順では.NETを /usr/local/bin にインストールする場合として説明します。同一環境に複数バージョンの.NETが必要などの理由で.NETを異なるディレクトリにインストールする場合は、CodeDefinerの実行時やPleasanterサービス用スクリプトの作成でExecStartに指定するディレクトリをインストール先に合わせて変更してください。

手順

構築手順は以下の通りです。
1. EC2インスタンスへのSSH接続
1. .NETのセットアップ
1. インストーラのインストール
1. プリザンターのセットアップ
1. インストーラの実行
1. プリザンターの起動確認
1. Pleasanterサービス用スクリプトの作成
1. サービスとして登録・サービスの起動
1. リバースプロキシ(nginx)のセットアップ
1. SELinuxの設定変更
1. nginxのインストール
1. リバースプロキシの設定
1. プリザンターの動作確認

1. EC2インスタンスへのSSH接続

本手順ではTeraTerm等のクライアントおよびWinSCP等のファイル転送ツールを用いて、クライアントのPCからEC2インスタンスにSSH接続を行います。

  1. EC2のインスタンスの管理画面を開きパブリックIPアドレスを確認します。

  2. TeraTerm等のクライアントおよびWinSCP等のファイル転送ツールを起動し、以下の接続設定でEC2インスタンスに接続します。

    1. 接続先:EC2インスタンスのパブリックIPアドレス
    2. ユーザ名:ec2-user
    3. パスワード:空欄
    4. その他:秘密鍵を使う

2. .NETのセットアップ

以下コマンドを実行して、.NET をインストールします。

sudo wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh
sudo chmod +x ./dotnet-install.sh
sudo ./dotnet-install.sh -c 8.0 -i /usr/local/bin
dotnet --version

詳細につきましては以下公式ページの スクリプトでのインストール をご参照ください。
https://learn.microsoft.com/ja-jp/dotnet/core/install/linux-scripted-manual#scripted-install

Tips

dotnet --version コマンドを実行した際にICU(Unicodeの取り扱いに関するさまざまな機能を提供するオープンソースのライブラリ)のインストールを要求するエラーが表示される場合があります。

・エラーメッセージ例
Process terminated. Couldn't find a valid ICU package installed on the system. Please install libicu (or icu-libs) using your package manager and try again. Alternatively you can set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support. Please see https://aka.ms/dotnet-missing-libicu for more information.

その場合は、以下コマンドを実行してICUをインストールします。

・実行コマンド

sudo yum install libicu-devel wget -y

3.インストーラのインストール

以下コマンドを実行して、インストーラ をインストールします。

dotnet tool install -g Implem.PleasanterSetup
echo 'export PATH="$PATH:~/.dotnet/tools"' >> ~/.bashrc
echo 'export DOTNET_ROOT=/usr/local/bin' >> ~/.bashrc
echo 'export PATH=$PATH:$DOTNET_ROOT' >> ~/.bashrc
source ~/.bashrc

ネットワーク環境に接続されていない場合は下記手順でインストールしてください。

(こちらをクリックすると詳細が開閉します)
  1. 以下コマンドを実行して.nupkgファイルを配置する任意のフォルダを作成します。
    ※本手順では/dotnet-toolsを作成する場合として説明します。
    sudo mkdir /dotnet-tools
    
  2. こちら からImplem.PleasanterSetupのNuget Galleryを開き、画像の①「Download package」より.nupkgファイルをダウンロードします。
    Implem.PleasanterSetup の NuGet ギャラリーのページ。「Download package」がある
  3. 手順2.2でダウンロードした.nupkgファイルを/dotnet-toolsに配置します。
  4. 画像の②のコマンドをコピーします。
  5. 以下コマンド実行します。
    <手順2.4でコピーしたコマンド> --add-source /dotnet-tools
    echo 'export PATH="$PATH:~/.dotnet/tools"' >> ~/.bashrc
    echo 'export DOTNET_ROOT=/usr/local/bin' >> ~/.bashrc
    echo 'export PATH=$PATH:$DOTNET_ROOT' >> ~/.bashrc
    source ~/.bashrc
    

例:Implem.PleasanterSetupのVersionが1.0.1の場合

dotnet tool install --global Implem.PleasanterSetup --version 1.0.1 --add-source /dotnet-tools
echo 'export PATH="$PATH:~/.dotnet/tools"' >> ~/.bashrc
echo 'export DOTNET_ROOT=/usr/local/bin' >> ~/.bashrc
echo 'export PATH=$PATH:$DOTNET_ROOT' >> ~/.bashrc
source ~/.bashrc

4. プリザンターのセットアップ

1. インストーラの実行

インストーラを使用することで、最新バージョン資源を自動でダウンロードし、入力した値を元にService.json、Rds.jsonの値を自動設定します。

MySQL使用時の手順は以下の通りです。

  1. 以下コマンドを実行して、インストーラを実行します。

pleasanter-setup

ネットワーク環境に接続されていない場合は、以下手順を実施してください
(こちらをクリックすると詳細が開閉します) 1. [ダウンロードセンター](https://pleasanter.org/dlcenter)から最新バージョンのプリザンターをダウンロードし、「/web/」に配置します。 1. 以下コマンドを実行します。 **/web/** ディレクトリ配下の構成が以下のようになっていることを確認してください。 /web/Pleasanter_1.5.x.x.zip ```text pleasanter-setup -r /web/Pleasanter_1.5.x.x.zip ```

  1. プリザンターをインストールするディレクトリを入力します。
    「/web/pleasanter」 にインストールする場合は空白で Enter キーを押下してください。

    Install Directory [Default: /web/pleasanter] :
    

  2. プリザンターを起動するユーザを入力します。ec2-user を入力し Enter キーを押下してください

    Please enter the user who will execute Pleasanter.
    

  3. サービス名を入力します。
    「Implem.Pleasanter」の場合は空白で Enter キーを押下してください。

    ServiceName [Default: Implem.Pleasanter] :
    

  4. 使用する DBMS に対応する番号を入力します。
    ここでは「3」(MySQL)を入力しEnterキーを押下してください。

    DBMS [1: SQL Server, 2: PostgreSQL, 3: MySQL] :
    

  5. 利用するポート番号を入力します。
    DBMSのデフォルトのポート番号の場合は空白で Enter キーを押下してください。

    Please enter port number[Default: 3306]
    

  6. 接続文字列の Server にセットする値を入力します。
    RDSインスタンスの エンドポイント を入力し、 Enter キーを押下してください。
    例:{DB識別子等の文字列}.rds.amazonaws.com

    ConnectionString Server [Default: localhost] :
    

  7. SaConnectionString の UID にセットする値を入力します。
    RDSインスタンスに設定した マスターユーザー名 を入力し Enter キーを押下してください。

    SaConnectionString UID [Default: root] :
    

  8. SaConnectionString の PWD にセットする値を入力します。
    RDSインスタンスに設定した マスターパスワード を入力し Enter キーを押下してください。
    ※パスワードはマスクされた状態で表示されます。

    SaConnectionString PWD :
    Enter your password:
    

  9. OwnerConnectionString の PWD にセットする値を入力します。
    ※パスワードはマスクされた状態で表示されます。

    OwnerConnectionString PWD :
    Enter your password:
    

  10. UserConnectionString の PWD にセットする値を入力します。
    ※パスワードはマスクされた状態で表示されます。

    UserConnectionString PWD :
    Enter your password:
    

  11. MySqlConnectingHost にセットする値を入力します。
    「%」の場合は空白で Enter キーを押下してください。

    MySQL Connecting Host [Default: %] :
    

"MySqlConnectingHost"について

Ver.1.4.18.0以降で追加された「Rds.json」の"MySqlConnectingHost"について詳細は下記を参照ください。

(こちらをクリックすると詳細が開閉します)

・以下の要件が特段ない場合(既定値) : "%"
・指定の外部のホスト以外からMySQLへのアクセスを禁じる場合 : "接続を許可するホスト名/IPアドレス(AWSの場合はプライベートIPアドレスを設定します)"。半角カンマ区切りで複数指定可(例:"hostname01,hostname02")

  1. 「既定の言語」を入力します。
    対応する言語の番号を入力してください。

    DefaultLanguage [1: English(Default), 2: Chinese, 3: Japanese, 4: German, 5: Korean, 6: Spanish, 7: Vietnamese] :
    

  2. 「既定のタイムゾーン」を入力します。
    対応するタイムゾーンの番号を入力してください。
    ※「3」 を入力した場合は、使用するOS で利用できるタイムゾーンを入力してください。

    Set the default time zone.
    TimeZoneDefault [1: UTC(Default), 2: Asia/Tokyo, 3: Other] :
    

  3. サマリ画面が表示されます。
    入力した値に間違いがない場合は、「Shall I install Pleasanter with this content? Please enter ‘y(yes)' or 'n(no)’. : 」 の後に y を入力しEnterキーで実行してください。
    ※パスワードはマスクされています。

    ――― Summary ―――
    Install Directory         : /web/pleasanter
    DBMS                      : MySQL
    SaConnectionString PWD    : ***
    OwnerConnectionString PWD : ***
    UserConnectionString PWD  : ***
    Port                      : 3306
    Server                    : {DB識別子等の文字列}.rds.amazonaws.com
    Service Name              : Implem.Pleasanter
    MySqlConnectingHost       : %
    DefaultLanguage           : ja
    DefaultTimeZone           : Asia/Tokyo
    [Issues]
        Class       :
        Num         :
        Date        :
        Description :
        Check       :
        Attachments :
    [Results]
        Class       :
        Num         :
        Date        :
        Description :
        Check       :
        Attachments :
    ―――――――――
    Shall I install Pleasanter with this content? Please enter ‘y(yes)' or 'n(no)’.:
    

  4. 「Type "y" (yes) if the license is correct, otherwise type "n" (no).」 と表示されたら y を入力して実行してください。
    下記ログが表示されたらセットアップは終了です。

    <SUCCESS> Starter.ConfigureDatabase: Database configuration has been completed.
    <SUCCESS> Starter.Main: All of the processes have been completed.
    Setup is complete.
    

  5. セットアップが終了すると、Webブラウザが起動してEnterprise Editionトライアルの案内ページが表示されます。

    ★画面を追加する

2. プリザンターの起動確認

  1. 以下コマンドを実行して、ec2-userでプリザンターを起動します。
cd /web/pleasanter/Implem.Pleasanter
sudo -u ec2-user /usr/local/bin/dotnet Implem.Pleasanter.dll
  1. 起動中に別のターミナルで以下コマンドを実行し、プリザンターが起動していることを確認します。「Ctrl+C」で終了します。

  2. 実行コマンド

curl -v http://localhost:5000/
  • 実行結果
* Host localhost:5000 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
*   Trying [::1]:5000...
* Connected to localhost (::1) port 5000
> GET / HTTP/1.1
> Host: localhost:5000
> User-Agent: curl/8.9.1
> Accept: */*
>
* Request completely sent off
< HTTP/1.1 302 Found
< Content-Length: 0
< Date: Tue, 24 Jun 2025 02:59:24 GMT
< Server: Kestrel
< Location: http://localhost:5000/users/login?ReturnUrl=%2F
< X-Frame-Options: SAMEORIGIN
< X-XSS-Protection: 1; mode=block
< X-Content-Type-Options: nosniff
<
* Connection #0 to host localhost left intact

3. Pleasanterサービス用スクリプトの作成

/etc/systemd/system/pleasanter.service を以下の内容で作成します。

[Unit]
Description = Pleasanter
Documentation =
Wants=network.target
After=network.target

[Service]
ExecStart = /usr/local/bin/dotnet Implem.Pleasanter.dll
WorkingDirectory = /web/pleasanter/Implem.Pleasanter
Restart = always
RestartSec = 10
KillSignal=SIGINT
SyslogIdentifier=dotnet-pleasanter
User = ec2-user
Group = root
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false

[Install]
WantedBy = multi-user.target

4. サービスとして登録・サービスの起動

以下コマンドを実行してプリザンターのサービス起動およびサービス自動起動を有効化します。

sudo systemctl daemon-reload
sudo systemctl enable pleasanter
sudo systemctl start pleasanter

5. リバースプロキシ(nginx)のセットアップ

通常のwebサーバと同じ Port80 でアクセスできるようにリバースプロキシの設定を行います。

1. SELinuxの設定変更

以下コマンドを実行します。

getenforce

a. 「コマンド 'getenforce' が見つかりません。」、「Permissive」、「Disabled」のいずれかが表示された場合

「2. nginxのインストール」に進みます。

b. 「Enforcing」が表示された場合

以下コマンドを実行します。

sudo setsebool -P httpd_can_network_connect on

※SELinuxの上記ブール値を変更することで、該当のサーバにおいてスクリプトやモジュールによるネットワーク接続がすべて許可されます。

2. nginxのインストール

以下コマンドを実行して、nginxをインストールします。

sudo dnf install -y nginx
sudo systemctl enable nginx

3. リバースプロキシの設定

  1. /etc/nginx/conf.d/pleasanter.conf を以下の内容で作成します。 server_name 行にはECインスタンスのパブリックIPアドレスを指定します。

注意
パブリックIPアドレスはEC2インスタンスの再起動時に変更されてしまいます。固定IPアドレス取得はElastic IP アドレスの利用をご検討ください。

server {
    listen  80;
    server_name   192.168.1.100;
    client_max_body_size 100M;
    location / {
       proxy_pass         http://localhost:5000;
       proxy_http_version 1.1;
       proxy_set_header   Upgrade $http_upgrade;
       proxy_set_header   Connection keep-alive;
       proxy_set_header   Host $host;
       proxy_cache_bypass $http_upgrade;
       proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header   X-Forwarded-Proto $scheme;
    }
}

2. ファイルを作成後、以下コマンドを実行して、サービスを再起動します。

sudo systemctl restart nginx

6. プリザンターの動作確認

  1. プリザンターの起動を確認可能なアドレスは2種類あります。
    パブリックIPアドレスおよびパブリックDNSは、EC2のインスタンスの管理画面から確認します。

    1. http://{EC2のパブリックIPアドレス}
    2. http://{EC2のパブリックDNS}
      例:http://{文字列}.compute.amazonaws.com
  2. プリザンターを起動後、プリザンターのログイン画面にて「ログインID: Administrator」、「初期パスワード: pleasanter」を入力し、「ログイン」ボタンをクリックします。
    プリザンターのログイン画面。ログインIDと初期パスワードを入力する

  3. ログイン後に「Administrator」ユーザーのパスワード変更を求められるので、任意のパスワードを入力し、「変更」ボタンをクリックします。
    初回ログイン後に表示される、Administrator のパスワード変更画面

正しくリダイレクトされない場合

nginxの設定が正しいか確認してください。記述内容の / の有無など細かな違いで動作が変わる場合があります。

プリザンターの画面が開かない場合

上記までの手順において特にエラーも出ずに完了したにも関わらず、ブラウザでアクセスすると「Welcome to nginx!」といったページ(エラー表示ではない)が表示される場合、ブラウザのセキュリティ設定により、プリザンターのログイン画面に遷移できていない可能性があります。
お使いのブラウザのセキュリティ設定を確認してください。

プリザンターのバージョンアップ

本手順でインストールしたプリザンターのバージョンアップ手順は以下マニュアル参照してください。
インストーラを利用したバージョンアップ手順(Linux)

関連情報

インストーラを利用したバージョンアップ手順(Linux)

対応バージョン

対応バージョン 内容
1.4.18.0 以降 MySQLのDBへの接続元ホストにlocalhost(DBと同一のサーバ)以外を指定する機能の追加に伴いマニュアル新規作成