プリザンターをAzure App Serviceにサーバレス構成でインストールする(Azure Database for MySQL利用)
概要¶
Microsoft AzureのApp ServiceとMicrosoft Azure Database for MySQLを利用し、サーバレス構成でプリザンターの動作環境を構築するための手順を示します。
| 対象 | 環境・バージョン |
|---|---|
| Web | Microsoft Azure App Service |
| DB | Microsoft Azure Database for MySQL (MySQL 8.4 LTS) |
| ランタイムスタック | .NET 10 |
| Pleasanter | 1.5.0.0以降 |
注意事項¶
- 引数を指定せずにCodeDefinerを実行した場合、言語:英語、タイムゾーン:UTCでセットアップされます。必要に応じて言語とタイムゾーンを指定してください。
前提条件¶
- Azure Portalへのログインが可能であること
- Microsoft Azure App Service(Windows/.NET 10)を1インスタンス準備できていること
- Microsoft Azure Database for MySQLを1インスタンス準備できていること
- Microsoft Azure Database for MySQLのサーバ名、管理ユーザ名、管理ユーザパスワードを準備できていること
- Microsoft Azure Database for MySQLのファイアウォール設定でApp Service及びローカルPCからの接続が許可されていること
手順¶
構築手順は以下の通りです。
- 事前準備
1..NETの設定 - Azure Database for MySQLのサーバー パラメータ変更
- プリザンターのダウンロードおよびパラメータ設定
- プリザンターの配置
- CodeDefinerの実行
- プリザンターの起動確認
1. .NET の設定¶
- Azure Portalに接続します。
- App Service を開きます。

- 作成済みの App Service インスタンスを選択します。
-
「構成」メニューの「全般設定」を開き、下図の通り設定します。


番号 項目 設定内容 1 構成 (プレビュー) クリックして選択します 2 全般設定 クリックして選択します 3 プラットフォーム 64bit 4 FTPの状態 無効 5 Always On オン(※常時接続と表示されることがあります) 6 スタック設定 クリックして選択します 7 スタック .NET 8 .NETのバージョン .NET 10 (LTS)
2. Azure Database for MySQLのサーバー パラメータ変更¶
- Azure Portalに接続します。
- Azure Database for MySQLを開きます。

- 作成済みの Microsoft Azure Database for MySQL インスタンスを選択します。
- 「設定」メニューの「サーバパラメータ」を開きます。
- 「すべて」タブをクリックします。
- 「sql_generate_invisible_primary_key」を検索します。
- 「sql_generate_invisible_primary_key」を「OFF」に設定します。

- 上部の「保存」ボタンをクリックします。
3. プリザンターのダウンロードおよびパラメータ設定¶
- ダウンロードセンターから、プリザンター最新バージョンをダウンロードします。
- ダウンロードしたzipファイルを解凍します。
-
パラメータファイルを設定します。
-
データベースへの接続情報を設定します。
「pleasanter\Implem.Pleasanter\App_Data\Parameters\Rds.json」を開き、パラメータを下記の通りに設定し、保存します。パラメータ名 値 説明 Dbms MySQL リレーショナル・データベースにMicrosoft Azure Database for MySQLを使用。 Provider Local リレーショナル・データベースにMicrosoft Azure Database for MySQLを使用。 SaConnectionString null データベースインスタンスにSA権限で接続するための接続文字列。
nullを設定する(手順3.3.2参照)。OwnerConnectionString null Pleasanterのデータベースにdbowner権限で接続するための接続文字列。
nullを設定する(手順3.3.3参照)。UserConnectionString null Pleasanterのデータベースにdbreader権限、dbwriter権限で接続するための接続文字列。
nullを設定する(手順3.3.4参照)。SqlCommandTimeOut 0 SQLコマンドタイムアウト時間を無期限にする。 MinimumTime 3 データベースが識別可能な最小時間単位をミリ秒で指定。本パラメータは変更しないでください。 DeadlockRetryCount 4 デッドロック発生時の最大再試行回数。 DeadlockRetryInterval 1000 デッドロック発生時に再試行を行うまでの間隔。 DisableIndexChangeDetection true バージョンアップ時にデータベースのインデックスの差異を検出しない。 SysLogsSchemaVersion 2 システムログの拡張機能を利用する。 MySqlConnectingHost % App Serviceのホストから接続を許可するためワイルドカードを指定。 -
Rds.jsonのパラメータSaConnectionStringにnullを設定し、環境変数Implem.Pleasanter_Rds_MySQL_SaConnectionStringに以下の値を設定します。
{ } の部分は、以下の説明を参考に、適切な文字列へ書き替えてください。
No. 書き替える場所 説明 1 {ServerName} Microsoft Azure Database for MySQLのサーバ名。 2 {UserName} Microsoft Azure Database for MySQLの管理ユーザ名。 3 {Password} Microsoft Azure Database for MySQLの管理ユーザパスワード。 -
Rds.jsonのパラメータOwnerConnectionStringにnullを設定し、環境変数Implem.Pleasanter_Rds_MySQL_OwnerConnectionStringに以下の値を設定します。
Server={ServerName}.mysql.database.azure.com;Port=3306;Database=#ServiceName#;UID=#ServiceName#_Owner;PWD={SetAdminsPWD}{ } の部分は、以下の説明を参考に、適切な文字列へ書き替えてください。
書き替える場所 説明 {ServerName} 上記No.1で設定したMicrosoft Azure Database for MySQLのサーバ名。 {SetAdminsPWD} CodeDefinerで設定する任意のユーザのパスワード。 なお、#ServiceName#はService.jsonのパラメータNameの値を表すプレースホルダで、CodeDefinerで作成する任意のユーザ名を意味します。
-
Rds.jsonのパラメータUserConnectionStringにnullを設定し、環境変数Implem.Pleasanter_Rds_MySQL_UserConnectionStringに以下の値を設定します。
Server={ServerName}.mysql.database.azure.com;Port=3306;Database=#ServiceName#;UID=#ServiceName#_User;PWD={SetUsersPWD}{ } の部分は、以下の説明を参考に、適切な文字列へ書き替えてください。
書き替える場所 説明 {ServerName} 上記No.1で設定したMicrosoft Azure Database for MySQLのサーバ名。 {SetUsersPWD} CodeDefinerで設定する任意のユーザのパスワード。 なお、#ServiceName#はService.jsonのパラメータNameの値を表すプレースホルダで、CodeDefinerで作成する任意のユーザ名を意味します。
-
4. プリザンターの配置¶
- App Serviceにてインスタンスを停止してください。
-
Kudu にアクセスしてください。
-
「2. プリザンターのダウンロードおよびパラメータ設定」で準備したプリザンターファイルをApp Serviceへアップロードします。
- 「pleasanter」フォルダに移動してください。
- 「Implem.Pleasanter」フォルダを「wwwroot」にリネームしてください。
- wwwrootフォルダをzip形式で圧縮してください。(wwwroot.zipとなります。)
- 「Implem.CodeDefiner」フォルダをCodeDefinerにリネームします。
- CodeDefinerフォルダをzip形式で圧縮してください。(CodeDefiner.zipとなります。)
- wwwroot.zipとCodeDefiner.zipをKuduのSizeをターゲットにドラッグアンドドロップし、展開されて格納されたことを確認します。

5. CodeDefiner の実行¶
- Kuduのディレクトリ一覧からCodeDefinerを選択し、 プロンプトがC:\home\site\CodeDefinerとなることを確認します。
-
以下のコマンドを実行して、CodeDefinerを実行します。以下のコマンドは、初回インストール時にのみ実行します。
引数 設定例 説明 /l ja Service.jsonのDefaultLanguageの値を書き換えます /z Tokyo Standard Time Service.jsonのTimeZoneDefaultの値を書き換えます /lに指定できる言語、/zに指定できるタイムゾーンの詳細については、以下のマニュアルを参照してください。
FAQ:プリザンターでサポートしている言語とタイムゾーンのパラメータの設定値を知りたい▼日本語環境で利用する場合の実行例






