見出し画像

DXの手始めに「プリザンター」


インストール環境は、以下となります。
Ubuntu 22.04 LTS
PostgreSQL 14.7
Nginx 1.18
Pleasanter 1.3.47(最新は1.3.48なのでほぼ最新です)

以下のURLからログインします。
http://172.20.1.**/users/login
ID: Administrator
PW: ********

Superuser
Admin 

-----------------------------------------------------------------------------
(半日程度で可能)

①.NETをインストール

# wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh
# chmod +x ./dotnet-install.sh
# ./dotnet-install.sh -i /usr/local/bin
# apt install -y libgdiplus

② Postgresを導入しデータとユーザなどを作る
# apt -y install vim bash-completion
# wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add
# echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" |sudo tee /etc/apt/sources.list.d/pgdg.list

# apt install -y postgresql-14 postgresql-client-14
# cd /etc/postgresql/14/main/

PostgreSQLの認証方式の設定
# cp -ip pg_hba.conf pg_hba.conf.20231109

# vi pg_hba.conf
METHODの設定を以下のように修正する。
----
# IPv4 local connections:
host all all 127.0.0.1/32 scram-sha-256→md5
# IPv6 local connections:
host all all ::1/128 scram-sha-256→md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
host replication all 127.0.0.1/32 scram-sha-256→md5
host replication all ::1/128 scram-sha-256→md5
----

PostgreSQLのログ出力設定
# cp -ip postgresql.conf postgresql.conf.20231109

# vi postgresql.conf
以下のように修正する。
-----
log_destination = 'stderr'
logging_collector = on
log_line_prefix = '[%t]%u %d %p[%l]'
-----

PostgreSQLのサービス再起動、サービス化
# systemctl restart postgresql
# systemctl enable postgresql
Synchronizing state of postgresql.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable postgresql

PostgreSQLユーザの設定
PostgreSQL管理用のユーザー"postgres"(OSのユーザー)にパスワードを設定します。
# passwd postgres
New password: ←パスワード
Retype new password: ←パスワード
passwd: password updated successfully

# su ? postgres
$ psql -U postgres
psql (14.3 (Ubuntu 14.3-0ubuntu0.22.04.1))
Type "help" for help.

postgres=#

PostgreSQLの管理ユーザー "postgres" のパスワードを設定
postgres=# alter role postgres with password 'パスワード';
ALTER ROLE

プリザンター用のデータベース "Implem.Pleasanter" を作成します。
postgres=# create database "Implem.Pleasanter";
CREATE DATABASE

以下のコマンドで作成したDBの確認を行います。
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-------------------+----------+----------+-------------+-------------+-----------------------
Implem.Pleasanter | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(4 rows)

全文検索用モジュール(pg_trgm)のインストール
テキストの全?検索に必要なモジュール(pg_trgm)をインストールします。
postgres=# \c "Implem.Pleasanter"
Implem.Pleasanter=# create extension pg_trgm

③Pleasanterを導入する
#  wget
https://github.com/Implem/Implem.Pleasanter/releases/download/P
leasanter_1.3.47.0/Pleasanter_1.3.47.0.zip
# apt install -y unzip
# unzip Pleasanter_1.3.47.0.zip
# mkdir /web
# mv pleasanter/ /web/.

# cd /web/pleasanter/Implem.Pleasanter/App_Data/Parameters
# cp -ip Rds.json Rds.json.20231109
# vi Rds.json
以下を修正する。
---
{
"Dbms": "PostgreSQL",
"Provider": "Local",
"TimeZoneInfo": "Asia/Tokyo", ←追記
"SaConnectionString": "Server=localhost;Database=postgres;UID=postgres;PWD=パスワード", ←修正
"OwnerConnectionString": "Server=localhost;Database=#ServiceName#;UID=#ServiceName#_Owner;PWD=SetAdminsPWD",
"UserConnectionString": "Server=localhost;Database=#ServiceName#;UID=#ServiceName#_User;PWD=SetUsersPWD",
"SqlCommandTimeOut": 600, ←修正
"MinimumTime": 3,
"DeadlockRetryCount": 4,
"DeadlockRetryInterval": 1000,
"DisableIndexChangeDetection": true
}
---
④CodeDefinerの実行
# cd /web/pleasanter/Implem.CodeDefiner
# dotnet Implem.CodeDefiner.dll _rds

⑤Pleasnterの起動確認
# cd /web/pleasanter/Implem.Pleasanter
# dotnet Implem.Pleasanter.dll

以下のコマンドで動作確認したら、「Ctrl+C」で終了します。

別のターミナルで以下のコマンドを実行し、プリザンターが起動していることを確認します。
# curl -v http://localhost:5000/
* Trying 127.0.0.1:5000...
* Connected to localhost (127.0.0.1) port 5000 (#0)

⑥Pleasanterサービス用スクリプトの作成
/etc/systemd/system/pleasanter.service を以下の内容で新規作成します。
# vi /etc/systemd/system/pleasanter.service
---
[Unit]
Description = Pleasanter
Documentation =
Wants=network.target
After=network.target

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

[Install]
WantedBy = multi-user.target

⑦サービスとして登録・サービスの起動
# systemctl daemon-reload
# systemctl enable pleasanter
# systemctl start pleasanter

⑧リバースプロキシ(NginX)のセットアップ
# apt install -y nginx
# systemctl enable nginx

# vi /etc/nginx/conf.d/pleasanter.conf
---
server {
listen 80;
server_name 192.168.X.X;
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;
}
}
---

# systemctl restart nginx

Verup  2024/8/29  Ver1.4へ


基本的に、プリザンターのサイトの通りで良い
https://pleasanter.org/ja/manual/release-notes-core

データのバックアップ
サービス停止
Ver1.3から1.4へは .net8のインストールが必要
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
Webフォルダーを別フォルダーへ移動(web_oldとか)
対象となるVerのZIPを落として、Webフォルダーへ解凍

/web/pleasanter/Implem.Pleasanter/App_Data/Parameters/Rds.json
"SaConnectionString": "Server=localhost;Port=5432;Database=postgres;UID=postgres;PWD=<2.2.3.で設定したパスワード>",

cd /web/pleasanter/Implem.CodeDefiner sudo -u <プリザンターを起動するユーザ> /usr/local/bin/dotnet Implem.CodeDefiner.dll _rds
 
元の各種.json が置き換わるので、必要に応じて修正、もしくは古い方から入れ替え

・サービス再開

Excelからの脱却、プリザンターを活用して、みなさんも業務効率化をしていきましょう!


この記事が気に入ったらサポートをしてみませんか?