ユーザマニュアル





2024/04/09

MANUAL

プリザンターを CentOS にインストールする

## 概要 本マニュアルは以下に示す環境にプリザンターの動作環境を構築するための手順を示したものです。 |対象|内容| |---|---| |OS|CentOS 7.9| |DB|PostgreSQL 15| |Webサーバ|nginx 1.20.1| |Platform|.NET 6.0| |Pleasanter|プリザンター 1.3| ## 制限事項 1. CentOS7は.NET8がサポート対象外となったため、プリザンターバージョン1.4.0.0以降は動作いたしません。 ## 前提条件 1. OSのセットアップ方法については記載しません。予めOSはセットアップされていることとします。 1. 動作環境やスペックについての詳細はこちらをご確認ください。 [FAQ:プリザンターの動作環境や推奨スペックが知りたい](/manual/faq-recommended-specifications) 1. プリザンターを起動するユーザを予め決めておいてください。手順の中で記載している **<プリザンターを起動するユーザ>** はこのユーザを指します。 ## 注意事項 1. CentOS7は.NET8のサポート対象外となっております。詳細につきましては下記のMicrosoft公式ページの**サポートされているディストリビューション**をご参照ください。 - https://learn.microsoft.com/ja-jp/dotnet/core/install/linux-centos#supported-distributions 1. プリザンター 1.4につきましては別ディストリビューション(Ubuntu、RHEL8/9、AlmaLinux)でのインストールをご検討ください。 - [プリザンターを AlmaLinux にインストールする](/manual/getting-started-pleasanter-almalinux) - [プリザンターを Red Hat Enterprise Linux 8 にインストールする](/manual/getting-started-pleasanter-rhel-8) - [プリザンターを Red Hat Enterprise Linux 9 にインストールする](/manual/getting-started-pleasanter-rhel) - [プリザンターを Ubuntu にインストールする](/manual/getting-started-pleasanter-ubuntu) ## .NET6.0 のセットアップ .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 6.0 -i /usr/local/bin dotnet --version ``` 詳細につきましては下記公式ページの **スクリプトでのインストール** をご参照ください。 https://learn.microsoft.com/ja-jp/dotnet/core/install/linux-scripted-manual#scripted-install また、dotnetコマンドを実行した際に特定のファイルに関するエラーが発生するケースがございます。その際は下記ページをご参照ください。 https://learn.microsoft.com/ja-jp/dotnet/core/install/linux-package-mixup?pivots=os-linux-redhat ### GDI+のインストール ``` sudo yum install -y epel-release sudo yum install -y libgdiplus ``` ## PostgreSQLのセットアップ ### PostgreSQLのインストール ``` sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm sudo yum update sudo yum install -y postgresql15-server postgresql15-contrib ``` ### データベースの初期化 データベースの初期化を行います。※ -A: 認証方式の指定、-W: パスワード入力プロンプトを表示するオプション ``` sudo su - postgres -c '/usr/pgsql-15/bin/initdb -E UTF8 --locale=C -A scram-sha-256 -W' ``` パスワードの設定を求められるので、任意のパスワードを設定します。 ![image](/binaries/a7c333f0638843818d925ce4a8e1c83a) ### PostgreSQLのログ出力設定 /var/lib/pgsql/15/data/postgresql.conf を開き、以下の設定を編集します。 ``` log_destination = 'stderr' logging_collector = on log_line_prefix = '[%t]%u %d %p[%l]' ``` ### PostgreSQLのサービス再起動、サービス化 ``` sudo systemctl restart postgresql-15 sudo systemctl enable postgresql-15 ``` ### 外部からDBへのアクセスを許可する場合の設定 /var/lib/pgsql/15/data/postgresql.conf の以下の2行のコメントを解除して下記のように設定します。 ``` # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on; port = 5432 # (change requires restart) ``` /var/lib/pgsql/15/data/pg_hba.conf に以下の行を追加します。Address欄にはアクセスを許可するIPアドレスの範囲を指定します。 ``` # TYPE DATABASE USER ADDRESS METHOD host all all 192.168.1.0/24 scram-sha-256 ``` 設定後、PostgreSQLのサービスを再起動します。 ``` sudo systemctl restart postgresql-15 ``` ## プリザンターのセットアップ ### アプリケーションの準備 プリザンターをダウンロードします。 https://github.com/Implem/Implem.Pleasanter/releases ルートディレクトリ("/")に "web" ディレクトリを作成し、ダウンロードしたzipファイルを展開します。 ``` sudo mkdir /web sudo unzip Pleasanter_1.3.x.x.zip -d /web ``` 下記コマンドでpleasanterディレクトリ配下の所有者をあらかじめ決めたプリザンターを起動するユーザに変更します。 ``` sudo chown -R <プリザンターを起動するユーザ> /web/pleasanter ``` ### データベースの構成 /web/pleasanter/Implem.Pleasanter/App_Data/Parameters/Rds.json を以下のように設定します。 ``` { "Dbms": "PostgreSQL", "Provider": "Local", "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, "DisableIndexChangeDetection": true, "SysLogsSchemaVersion": 1 } ``` ### CodeDefinerの実行 あらかじめ決めたプリザンターを起動するユーザでCodeDifinerを実行します。 ``` cd /web/pleasanter/Implem.CodeDefiner sudo -u <プリザンターを起動するユーザ> /usr/local/bin/dotnet Implem.CodeDefiner.dll _rds ``` ### プリザンターの起動確認 あらかじめ決めたユーザでプリザンターを起動します。 ``` cd /web/pleasanter/Implem.Pleasanter sudo -u <プリザンターを起動するユーザ> /usr/local/bin/dotnet Implem.Pleasanter.dll ``` 起動中に別のターミナルで以下のコマンドを実行し、プリザンターが起動していることを確認します。「Ctrl+C」で終了します。 ``` curl -v http://localhost:5000/ * 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 < Content-Length: 0 < Date: Tue, 25 Jul 2023 05:49:41 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 ``` ### Pleasanterサービス用スクリプトの作成 /etc/systemd/system/pleasanter.service を以下の内容で作成します。下記の **User** にはあらかじめ決めたプリザンターを起動するユーザを指定してください。 ``` [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 = <プリザンターを起動するユーザ> Group = root Environment=ASPNETCORE_ENVIRONMENT=Production Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false [Install] WantedBy = multi-user.target ``` ### サービスとして登録・サービスの起動 ``` sudo systemctl daemon-reload sudo systemctl enable pleasanter sudo systemctl start pleasanter ``` ## リバースプロキシ(nginx)のセットアップ 通常のwebサーバと同じ Port80 でアクセスできるようにリバースプロキシの設定を行います。 ### nginxのインストール ``` sudo yum install -y nginx sudo systemctl enable nginx ``` ### リバースプロキシの設定 /etc/nginx/conf.d/pleasanter.conf を以下の内容で作成します。 server_name 行には実際アクセスする際のホスト名(下記サンプルコードでは192.168.1.100となっています。)を指定します。 ``` 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; } } ``` ファイルを作成後、サービスを再起動します。 ``` sudo systemctl restart nginx ``` ## プリザンターの初期パスワード設定 プリザンターを起動後、プリザンターのログイン画面にて「ログインID: Administrator」「初期パスワード: pleasanter」を入力し、「ログイン」ボタンをクリックしてください。 ![image](/binaries/5477647dc121413190827affdc7fa1ff) ログイン後に「Administrator」ユーザーのパスワード変更を求められるので、任意のパスワードを入力し、「変更」ボタンをクリックしてください。 ![image](/binaries/7a8b1cf69b6d48e9b0237792e80e9440) ### 正しくリダイレクトされない場合 nginxの設定が正しいか確認してください。記述内容の / の有無など細かな違いで動作が変わる場合があります。 ### プリザンターの画面が開かない場合 上記までの手順において特にエラーも出ずに完了したにも関わらず、ブラウザでアクセスすると「Welcome to nginx!」といったページ(エラー表示ではない)が表示される場合、ブラウザのセキュリティ設定により、プリザンターのログイン画面に遷移できていない可能性があります。 お使いのブラウザのセキュリティ設定を確認してください。 ## 関連情報 [FAQ:PostgreSQLが14以前のバージョンで、1.3.43.0以前のプリザンターをLinuxの環境へ導入したい](/manual/faq-postgresql-14-intall-pleasanter-for-linux)
TOP
このページをシェアする
記載された商品名、各製品名は各社の登録商標または商標です。 © Implem Inc.