ユーザマニュアル





2024/04/09

MANUAL

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

## 概要 本マニュアルは以下に示す環境にプリザンターの動作環境を構築するための手順を示したものです。 |対象|内容| |---|---| |OS|Ubuntu 22.04| |DB|PostgreSQL 16| |Webサーバ|nginx 1.20.1| |Platform|.NET 8.0| |Pleasanter|プリザンター 1.4| ## 前提条件 1. OSのセットアップ方法については記載しません。予めOSはセットアップされていることとします。 1. 動作環境やスペックについての詳細はこちらをご確認ください。 [FAQ:プリザンターの動作環境や推奨スペックが知りたい](/manual/faq-recommended-specifications) 1. プリザンターを起動するユーザを予め決めておいてください。手順の中で記載している **<プリザンターを起動するユーザ>** はこのユーザを指します。 ## 手順 構築手順は以下の通りです。 1. .NETのセットアップ 1. PostgreSQLのセットアップ 1. PostgreSQLのインストール 1. PostgreSQLユーザの設定 1. PostgreSQLのログ出力設定 1. PostgreSQLのサービス再起動、サービス化 1. 外部からDBへのアクセスを許可する場合の設定 1. プリザンターのセットアップ 1. アプリケーションの準備 1. データベースの構成 1. CodeDefinerの実行 1. プリザンターの起動確認 1. Pleasanterサービス用スクリプトの作成 1. サービスとして登録・サービスの起動 1. リバースプロキシ(nginx)のセットアップ 1. nginxのインストール 1. リバースプロキシの設定 1. Http(80) へのアクセス許可 1. プリザンターの動作確認 ## 1. .NETのセットアップ 以下コマンドを実行して、.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 8.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-ubuntu ## 2. PostgreSQLのセットアップ ### 1. PostgreSQLのインストール 以下コマンドを実行してPostgreSQLをインストールします。 ``` sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt install -y postgresql postgresql-contrib ``` ### 2. PostgreSQLユーザの設定 1. 以下コマンドを実行して、PostgreSQL管理用のユーザー"postgres"(OSのユーザー)にパスワードを設定します。 コマンド実行後にパスワード入力プロンプトが表示しますので、パスワードを入力します。 ``` sudo passwd postgres ``` 2. 以下コマンドを実行して、PostgreSQLにログインします。 ``` sudo su - postgres psql -U postgres ``` 3. 以下コマンドを実行して、PostgreSQLの管理ユーザー "postgres" のパスワードを設定します。ここで設定したパスワードは手順3.2.で使用しますので忘れないように控えてください。 ``` postgres=# alter role postgres with password '<新しいパスワード>'; ``` ### 3. PostgreSQLのログ出力設定 /etc/postgresql/16/main/postgresql.confを開き、以下の設定を編集します。 ``` log_destination = 'stderr' logging_collector = on log_line_prefix = '[%t]%u %d %p[%l]' ``` ### 4. PostgreSQLのサービス再起動、サービス化 以下コマンドを実行してPostgreSQLのサービス再起動およびサービス自動起動を有効化します。 ``` sudo systemctl restart postgresql sudo systemctl enable postgresql ``` ### 5. 外部からDBへのアクセスを許可する場合の設定 1. /etc/postgresql/16/main/postgresql.conf の以下の2行のコメントを解除して下記のように設定します。 ``` # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on; port = 5432 # (change requires restart) ``` 2. /etc/postgresql/16/main/pg_hba.conf に以下の行を追加します。Address欄にはアクセスを許可するIPアドレスの範囲を指定します。 ``` # TYPE DATABASE USER ADDRESS METHOD host all all 192.168.1.0/24 scram-sha-256 ``` 3. 設定後、以下コマンドを実行して、PostgreSQLのサービスを再起動します。 ``` sudo systemctl restart postgresql ``` ## 3. プリザンターのセットアップ ### 1. アプリケーションの準備 1. 以下コマンドを実行して、ルートディレクトリ("/")に "web" ディレクトリを作成します。 ``` sudo mkdir /web ``` 2. [ダウンロードセンター](https://pleasanter.org/dlcenter)から、プリザンター最新バージョンをダウンロードします。 3. ダウンロードしたzipファイルを解凍し、解凍された"pleasanter"フォルダ毎[WinSCP](https://winscp.net/jp/)などのファイル転送アプリケーションでサーバの”/web"に配置してください。 4. 以下コマンドを実行して、pleasanterディレクトリ配下の所有者をあらかじめ決めたプリザンターを起動するユーザに変更します。 ``` sudo chown -R <プリザンターを起動するユーザ> /web/pleasanter ``` ### 2. データベースの構成 /web/pleasanter/Implem.Pleasanter/App_Data/Parameters/Rds.json を以下のように設定します。 ``` { "Dbms": "PostgreSQL", "Provider": "Local", "SaConnectionString": "Server=localhost;Port=5432;Database=postgres;UID=postgres;PWD=<2.2.3.で設定したパスワード>", "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 } ``` ### 3. CodeDefinerの実行 以下コマンドを実行して、あらかじめ決めたプリザンターを起動するユーザでCodeDifinerを実行します。 ``` cd /web/pleasanter/Implem.CodeDefiner sudo -u <プリザンターを起動するユーザ> /usr/local/bin/dotnet Implem.CodeDefiner.dll _rds ``` ### 4. プリザンターの起動確認 1. 以下コマンドを実行して、あらかじめ決めたユーザでプリザンターを起動します。 ``` cd /web/pleasanter/Implem.Pleasanter sudo -u <プリザンターを起動するユーザ> /usr/local/bin/dotnet Implem.Pleasanter.dll ``` 2. 起動中に別のターミナルで以下のコマンドを実行し、プリザンターが起動していることを確認します。「Ctrl+C」で終了します。 * 実行コマンド ``` curl -v http://localhost:5000/ ``` * 実行結果 ``` * Trying 127.0.0.1:5000... * TCP_NODELAY set * Connected to localhost (127.0.0.1) port 5000 (#0) > GET / HTTP/1.1 > Host: localhost:5000 > User-Agent: curl/7.68.0 > Accept: */* > * Mark bundle as not supporting multiuse < HTTP/1.1 302 Found < Date: Tue, 23 Feb 2021 09:04:33 GMT < Server: Kestrel < Content-Length: 0 < 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 ``` ### 5. 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 ``` ### 6. サービスとして登録・サービスの起動 以下コマンドを実行してプリザンターのサービス起動およびサービス自動起動を有効化します。 ``` sudo systemctl daemon-reload sudo systemctl enable pleasanter sudo systemctl start pleasanter ``` ## 4. リバースプロキシ(nginx)のセットアップ 通常のwebサーバと同じ Port80 でアクセスできるようにリバースプロキシの設定を行います。 ### 1. nginxのインストール 以下コマンドを実行して、nginxをインストールします。 ``` sudo apt install -y nginx sudo systemctl enable nginx ``` ### 2. リバースプロキシの設定 1. /etc/nginx/conf.d/pleasanter.conf を以下の内容で作成します。 server_name 行には実際にアクセスするサーバのホスト名またはIPアドレスを指定します。 ``` 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; } } ``` 2. ファイルを作成後、以下コマンドを実行して、サービスを再起動します。 ``` sudo systemctl restart nginx ``` ### 3. Http(80) へのアクセス許可 以下コマンドを実行して、クライアントからWebサービスへアクセスさせるために Http(port:80)へのアクセス許可設定を行います。 ``` sudo ufw allow 80/tcp sudo ufw enable sudo ufw status numbered ``` ## 5. プリザンターの動作確認 1. プリザンターを起動後、プリザンターのログイン画面にて「ログインID: Administrator」「初期パスワード: pleasanter」を入力し、「ログイン」ボタンをクリックしてください。 ![image](/binaries/5477647dc121413190827affdc7fa1ff) 2. ログイン後に「Administrator」ユーザーのパスワード変更を求められるので、任意のパスワードを入力し、「変更」ボタンをクリックしてください。 ![image](/binaries/0ff466031f9f41719bb5eb9f8190c218) ### 正しくリダイレクトされない場合 nginxの設定が正しいか確認してください。記述内容の / の有無など細かな違いで動作が変わる場合があります。 ### プリザンターの画面が開かない場合 上記までの手順において特にエラーも出ずに完了したにも関わらず、ブラウザでアクセスすると「Welcome to nginx!」といったページ(エラー表示ではない)が表示される場合、ブラウザのセキュリティ設定により、プリザンターのログイン画面に遷移できていない可能性があります。 お使いのブラウザのセキュリティ設定を確認してください。 ## 関連情報 [FAQ:PostgreSQLが14以前のバージョンで、1.3.43.0以前のプリザンターをLinuxの環境へ導入したい](/manual/faq-postgresql-14-intall-pleasanter-for-linux)
TOP
このページをシェアする
記載された商品名、各製品名は各社の登録商標または商標です。 © Implem Inc.