ユーザマニュアル





2024/04/29

MANUAL

FAQ:WebサーバをApacheにしてPleasanterをインストールしたい

## 前提条件 1. OSのセットアップ方法については記載しません。予めOSはセットアップされていることとします。 1. 動作環境やスペックについての詳細はこちらをご確認ください。 [FAQ:プリザンターの動作環境や推奨スペックが知りたい](/manual/faq-recommended-specifications) ## 概要 本説明は、以下に示す環境にプリザンターの動作環境を構築するための手順を示したものです。 |対象|内容| |---|---| |OS|Red Hat Enterprise Linux 9.1| |DB|PostgreSQL 14| |Webサーバ|Apache| |Platform|.NET 6.0| |Pleasanter|プリザンター 1.3.37.0| ## 操作手順 ### 1. .NET6.0 のインストール #### ASP.NET Core ランタイムのインストール ```bash sudo dnf install aspnetcore-runtime-6.0 ``` #### GDI+のインストール ```bash sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm sudo dnf install -y libgdiplus ``` ### 2. PostgreSQLのセットアップ #### パケージリポジトリの登録 ```bash sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm ``` #### PostgreSQLのインストール ```bash sudo dnf module -y disable postgresql sudo dnf install -y postgresql14-server postgresql14-contrib ``` #### データベースの初期化 ```bash sudo su - postgres -c '/usr/pgsql-14/bin/initdb -E UTF8 --locale=C -A scram-sha-256 -W' ``` 補足: - -A: 認証方式の指定 - -W: パスワード入力プロンプトを表示するオプション - このタイミングでDBの postgres ユーザのパスワードを指定する #### ログの出力設定 /var/lib/pgsql/14/data/postgresql.conf を開き、以下を設定します。 ```conf log_destination = 'stderr' logging_collector = on log_line_prefix = '[%t]%u %d %p[%l]' ``` ※ ログファイルは /var/lib/pgsql/14/data/log に保存されます。 #### サービス有効化 ```bash sudo systemctl enable postgresql-14 ``` #### OSのPostgreSQLユーザー設定 PostgreSQL管理用のユーザー postgres (OSのユーザー)にパスワードを設定します。 ```bash sudo passwd postgres ``` #### 全⽂検索⽤モジュール(pg_trgm)のインストール テキストの全⽂検索に必要なモジュール(pg_trgm)をインストールします。 1. ユーザー postgres に切り替え、PostgreSQLへ接続します。 ```bash su - postgres psql -U postgres ``` 2. データベース Implem.Pleasanter を作成します。 ```sql create database "Implem.Pleasanter"; ``` 3. データベース Implem.Pleasanter に切り替えます ```sql \c "Implem.Pleasanter"; ``` 4. pg_trgm をインストールします ```sql create extension pg_trgm; ``` #### 外部からDBへのアクセスを許可する場合の設定 1. /var/lib/pgsql/14/data/postgresql.conf の以下の2行のコメントを解除して下記のように設定します。 ```conf # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on; port = 5432 # (change requires restart) ``` 2. /var/lib/pgsql/14/data/pg_hba.conf に以下の行を追加します。 Address欄にはアクセスを許可するIPアドレスの範囲を指定します。 ```conf # TYPE DATABASE USER ADDRESS METHOD host all all 192.168.1.0/24 scram-sha-256 ``` 3. 設定後、PostgreSQLのサービスを再起動します。 ```bash sudo systemctl restart postgresql-14 ``` ### 3. プリザンター 1.3の導入 #### アプリケーションの準備 [プリザンター 1.3](https://pleasanter.org/dlcenter)をダウンロードします。 ルートディレクトリ("/")に "/web" フォルダーを作成し、そこに "pleasanter" フォルダーを配置するものとして記述します。 - /web/pleasanter/Implem.Pleasanter - /web/pleasanter/Implem.CodeDefiner - /web/pleasanter/Tools #### データベースの構成 1. /web/pleasanter/Implem.Pleasanter/App_Data/Parameters/Rds.json を以下のように設定します。 ```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 } ``` 1. CodeDefinerを実行 ```bash cd /web/pleasanter/Implem.CodeDefiner dotnet Implem.CodeDefiner.dll _rds ``` 1. Pleasanterの起動 ```bash cd /web/pleasanter/Implem.Pleasanter dotnet Implem.Pleasanter.dll ``` 1. 別のターミナルで http://localhost:5000/ にアクセスし、正常なレスポンスが帰ってくることを確認します。 ```bash curl -v http://localhost:5000/ ``` レスポンスの例 ```text * About to connect() to localhost port 5000 (#0) * Trying ::1... * Connected to localhost (::1) port 5000 (#0) > GET / HTTP/1.1 > User-Agent: curl/7.29.0 > Host: localhost:5000 > Accept: */* > < HTTP/1.1 302 Found < Date: Mon, 25 May 2020 15:13:08 GMT < Server: Kestrel < Content-Length: 0 < Location: http://localhost:5000/users/login?ReturnUrl=%2F ``` 確認できたらCtrl+Cで終了します。 #### Pleasanterサービス用スクリプトの作成 /etc/systemd/system/pleasanter.service を以下の内容で作成します。 ```text [Unit] Description = Pleasanter Documentation = Wants=network.target After=network.target [Service] ExecStart = /usr/bin/dotnet Implem.Pleasanter.dll (※1) 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 ``` **(※1)** この例はRed Hat Enterprise Linux 8の場合の例です。その他のバージョンでご利用の場合、dotnet コマンドのPATHを確認してから環境に応じて変更してください。以下のコマンドを実行して dotnet の実行パスを確認できます。 ```bash whereis -b dotnet ``` 例えば上記のコマンドを実行した結果が /usr/local/bin/dotnet である場合は、(※1)の行は以下のように設定する必要があります。 ```text ExecStart = /usr/local/bin/dotnet Implem.Pleasanter.dll ``` #### サービスとして登録・サービスの起動 ```bash sudo systemctl daemon-reload sudo systemctl enable pleasanter sudo systemctl start pleasanter ``` #### リバースプロキシ(Apache)の設定 通常のwebサーバと同じ Port80 でアクセスできるようにリバースプロキシの設定を行います。 ##### Apacheのインストール 次のコマンドでApacheをインストールします。 ``` dnf install -y httpd systemctl enable httpd ``` ##### リバースプロキシの設定 /etc/httpd/conf/httpd.conf の最終行に以下の内容を追記します。 ``` ProxyRequests Off ProxyPass / http://localhost:5000/ ProxyPassReverse / http://localhost:5000/ ``` ファイルを追記後、Apacheを再起動します。 ``` systemctl restart httpd ``` ##### 80番へのアクセス許可 クライアントからWebサービスへアクセスさせるため、 http(port: 80)へのアクセス許可の設定を行って下さい。 設定は各環境により異なりますので適宜お調べ下さい。 ### 4. その他設定 #### 初期アカウント ログインID: Administrator が初期ユーザーとして作成されます。 初期ユーザーのパスワードは、既定では pleasanter です。初回ログイン時にパスワード変更ダイアログが表示されますので、任意のパスワードを設定してください。 このパスワードは、/web/pleasanter/Implem.Pleasanter/App_Data/Parameters/Service.json の DefaultPassword で指定可能です。 ## プリザンター バージョン 1.3.7.0以降でリマインダー機能を有効化する手順 以降のService.jsonおよびBackgroundService.jsonのパラメータ設定値を変更してください。なお、パラメータ変更時はマニュアル「[パラメータ変更時の確認事項](/manual/parameter-edit)」をご確認ください。 #### Service.json マニュアル「[パラメータ設定:Service.json](/manual/service-json)」を参照し、Service.jsonファイル内の設定を下記の設定値に変更してください。 |項目|設定値|説明| |:--|:--|:--| |AbsoluteUri|例)"http://pleasanter.example.local"|通知やリマインダーに記載されるURLの先頭部分を記入してください。(nullは使えません。)| #### BackgroundService.json マニュアル「[パラメータ設定:BackgroundService.json](/manual/background-service-json)」を参照し、BackgroundService.jsonファイル内の設定を下記の設定値に変更してください。 |項目|設定値|説明| |:--|:--|:--| |Reminder|true|リマインダー機能の有効化| #### データベースの移行 SQL ServerからPostgreSQLに移行する場合の手順は以下のマニュアルをご参照ください。 [プリザンターのDBをSQL ServerからPostgreSQLへ移行する手順](/manual/migrate-sql-server-to-postgresql)
TOP
このページをシェアする
記載された商品名、各製品名は各社の登録商標または商標です。 © Implem Inc.