LoginSignup
14
9

More than 1 year has passed since last update.

Windowsにプリザンター.NET Core(PostgreSQL対応)版をインストールする

Last updated at Posted at 2020-12-13

はじめに

プリザンターのGitHubで、Windowsで.NET Core版のプリザンターを動かしてみたという書き込みを見つけたので試してみました。
.NET Framework版はSQLServer Expressを使うため格納できるデータ量が10GBに制限されてしまいますが、.NET Core版はPostgreSQLを使うのでこの制限を回避できます。
.NET Core版はLinux系OS向けとなっていますが、Windowsで動くか試してみます。

環境

Windows 10 64bit バージョン1809

手順

1. プリザンター(.NET Core版)のダウンロード
2. IISのセットアップ
3. PostgreSQLのインストール
4. PostgreSQLのDB作成
5. .NET Coreのインストール
6. プリザンターのセットアップ
7. プリザンターをIISに配置

1. プリザンター(.NET Core版)のダウンロード

https://pleasanter.org/dlcenter からダウンロードして解凍します。
0.PNG

  • pleasanterフォルダ:プログラムです。適当な場所(C:\inetpub\wwwroot\D:\)に置きます。
  • PDFファイル:CentOS向けのセットアップ手順です。これを参考にWindowsでセットアップします。

2. IISのセットアップ

プリザンターユーザーマニュアルの「機能の有効化」に従いIISをセットアップします。

3. PostgreSQLのインストール

https://www.postgresql.org/download/windows/ からインストーラをダウンロードします。
1-pg-0.PNG

インストーラを実行します。
1-pg-2.png
(以下、変更を加えた箇所のみ記載します)

PostgreSQL管理アカウントのパスワードをセットします。
1-pg-6.png

ロケールをCに変更します。
postgresql-locale-c.png

インストールできました。

4. PostgreSQLのDB作成

プリザンター用DBを作成します。
まず、コマンドプロンプトでPostgreSQLにログインします。

> "C:\Program Files\PostgreSQL\13\bin\psql.exe" -U postgres
ユーザ postgres のパスワード: [PostgreSQL管理アカウントのパスワードを入力]
psql (13.1)
"help"でヘルプを表示します。

postgres=# _

続いて、DBを作成します。

postgres=# create database "Implem.Pleasanter";

\lでDBが作成されたことを確認します。
postgresql-list.png

5. .NET Coreのインストール

.NET Coreをインストールします。

  • プリザンターのセットアップ手順書に合わせて、バージョン3.1をインストールしました。
  • 「うまく動かない場合は32bitに固定する」という記述があったので32bit版にしました。

https://dotnet.microsoft.com/download/dotnet-core/3.1 から、SDKの32bit版とHosting Bundleをダウンロード、インストールしました。
2-dotnetcore.PNG

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

セットアップ手順書「3.2 DBの構成」を実施します。

C:\inetpub\wwwroot\pleasanter\Implem.Pleasanter/App_Data/Parameters/Rds.json を以下の様に設定します。(設定したパスワードに書き換えます)

{
    "Dbms": "PostgreSQL",
    "Provider": "Local",
    "TimeZoneInfo": "Asia/Tokyo",
    "SaConnectionString":"Server=localhost;Port=5432;Database=postgres;UID=postgres;PWD=<設定したパスワード>",
    "OwnerConnectionString":"Server=localhost;Port=5432;Database=#ServiceName#;UID=#ServiceName#_Owner;PWD=SetAdminsPWD","UserConnectionString":"Server=localhost;Port=5432;Database=#ServiceName#;UID=#ServiceName#_User;PWD=SetUsersPWD",
    "SqlCommandTimeOut": 600,
    "MinimumTime": 3,
    "DeadlockRetryCount": 4,
    "DeadlockRetryInterval": 1000
}

コマンドプロンプトでImplem.CodeDefinerフォルダーに移動し、CodeDefinerを実⾏します。

cd C:\inetpub\wwwroot\pleasanter\Implem.CodeDefiner
dotnet Implem.CodeDefiner.NetCore.dll _rds

以下のコマンドでPleasnterを実⾏し、起動確認を⾏います。

cd ..\Implem.Pleasanter
dotnet Implem.Pleasanter.NetCore.dll

Webブラウザで http://localhost:5000 を開いて確認します。
localhost.png
動きました!!!
確認できたらCtrl+cで終了します。

7. プリザンターをIISに配置

IISでプリザンターを動かすようにします。

IISマネージャを起動し、アプリケーションプールを追加します。
.Net CLR バージョンは「マネージドコードなし」を選択します。
iis-1.PNG

Default Web Siteにアプリケーションを追加します。

  • エイリアス:pleasanter-netcore ※物理パスのフォルダ名と重複しないよう-netcoreを付けた
  • アプリケーションプール:NetCoreAppPool
  • 物理パス:C:\inetpub\wwwroot\pleasanter\Implem.Pleasanter iis-7.PNG

「アプリケーションの参照」で動作確認します。
iis-9.PNG

エラーです。。。
iis-4.png

イベントビューアの「Windows ログ > Application」を確認すると、以下のようなメッセージがありました。
Exception Info: System.UnauthorizedAccessException: Access to the path 'C:\inetpub\wwwroot\pleasanter\Implem.Pleasanter\App_Data\Temp\E37A3745F4014141B6A960A24E200A4E.xlsm' is denied.
アクセス権限が原因みたいですね。

C:\inetpub\wwwroot\pleasanter\Implem.Pleasanterに適当な共有設定を追加します。
iis-5.PNG

動きました!!!
iis-8.PNG

まとめ

Windowsにプリザンター.NET Core(PostgreSQL対応)版をインストールして、ログインできることを確認しました。
.NET Framework版のデータを移行して、動作確認していきたいと思います。
(PostgreSQLの全文検索モジュールpg_trgmのインストール方法がわからず、飛ばしてしまいました。インストール方法をご存知の方は教えてもらえると嬉しいです)

追記(2021/08/01)

プリザンター1.2.0.0(.NET Core統合版)を試してみました。
IISやPostgreSQLはセットアップ済みだったので、手順1, 5, 6, 7でいけました。

  1. プリザンター(.NET Core版)のダウンロード ・・・ ver. 1.2をダウンロード
  2. (実施済み)IISのセットアップ
  3. (実施済み)PostgreSQLのインストール
  4. (実施済み)PostgreSQLのDB作成
  5. .NET Coreのインストール ・・・ .NET Core 5.0 Hosting Bundleをインストール
  6. プリザンターのセットアップ ・・・ 同じ手順を実施
  7. プリザンターをIISに配置 ・・・ 同じ手順を実施
14
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
9