User Manual

01.13.2026

MANUAL

Install Pleasanter on Amazon EC2's Red Hat Enterprise Linux 10 Using the Installer

## Overview This procedure is for building a Pleasanter operating environment using the "「Installer」". You can also install it using the previous procedure of manually placing modules and setting parameters. Please refer to the following for manual installation procedures. [Installing Pleasanter on Amazon EC2's Red Hat Enterprise Linux 10](getting-started-pleasanter-rhel10-aws) |Target|Body| |---|---| |Service|Amazon EC2 and Amazon RDS| |OS|Red Hat Enterprise Linux 10 (HVM), SSD Volume Type| |DB|MySQL 8.4.5| |Web Server|nginx 1.26.3| |Platform|.NET 8.0.410| |Pleasanter|Pleasanter 1.4.18.0 or later| ## Prerequisites 1. The EC2 instance is set up under the following conditions. 1. The security group rules must allow SSH traffic, HTTP traffic, and HTTPS traffic. 1. The private key of the key pair for the EC2 instance has been downloaded. 1. The default user for the EC2 instance, ec2-user, exists. 1. The RDS instance is assumed to be set up under the following conditions. 1. The connection to the EC2 instance has been configured. 1. The master user name and master password have been set, and password authentication can be performed. 1. This procedure explains the case where .NET is installed in /usr/local/bin. If you install .NET in a different directory because multiple versions of .NET are required in the same environment, change the directory specified in ExecStart when running CodeDefiner or creating a script for the Pleasanter service to match the installation destination. ## Procedure The construction procedure is as follows. 1. SSH connection to EC2 instance 1. Set up .NET 1. Install the installer 1. Set up Pleasanter 1. Run the installer 1. Check that Pleasanter is running 1. Create a script for the Pleasanter service 1. Register as a service and start the service 1. Set up a reverse proxy (nginx) 1. Change SELinux settings 1. Install nginx 1. Set up the reverse proxy 1. Check the operation of Pleasanter ## 1. SSH Connection to EC2 Instance In this procedure, use a client such as TeraTerm and a file transfer tool such as WinSCP to connect to the EC2 instance from the client's PC via SSH. 1. Open the management screen of the EC2 instance and check the public IP address. 2. Start a client such as TeraTerm and a file transfer tool such as WinSCP, and connect to the EC2 instance with the following connection settings. 1. Destination: Public IP address of EC2 instance 2. User name: ec2-user 3. Password: Leave blank 4. Other: Use private key ## 2. Setup .NET Run the following command to install .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 ``` For details, please refer to the official page below, **Installation by script**. https://learn.microsoft.com/en-us/dotnet/core/install/linux-scripted-manual#scripted-install ### Tips When you run the dotnet --version command, you may see an error message requesting the installation of ICU (an open source library that provides various functions related to handling Unicode). ・Example error message `Process terminated. Couldn't find a valid ICU package installed on the system. Please install libicu (or icu-libs) using your package manager and try again. Alternatively you can set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support. Please see https://aka.ms/dotnet-missing-libicu for more information.` In that case, run the following command to install ICU. ・Command to execute ``` sudo yum install libicu-devel wget -y ``` ## 3. Install the installer Execute the following command to install the installer. ``` dotnet tool install -g Implem.PleasanterSetup echo 'export PATH="$PATH:~/.dotnet/tools"' >> ~/.bashrc echo 'export DOTNET_ROOT=/usr/local/bin' >> ~/.bashrc echo 'export PATH=$PATH:$DOTNET_ROOT' >> ~/.bashrc source ~/.bashrc ``` ### If you are not connected to a network environment, install it using the following procedure. <details> <summary> (Click here to open/close details) </summary> 1. Execute the following command to create a folder of your choice to place the .nupkg file. <br/> ※This procedure explains how to create /dotnet-tools. ``` sudo mkdir /dotnet-tools ``` 1. Open the Nuget Gallery for Implem.PleasanterSetup from [here](https://www.nuget.org/packages/Implem.PleasanterSetup/) and download the .nupkg file from "Download package" in the image ①. ![image](https://pleasanter.org/binaries/3ec2711d699e4c9eb1f978122e9bb5fc) 1. Place the .nupkg file downloaded in step 2.2 in **/dotnet-tools**. 1. Copy the command in ② in the image. 1. Execute the following command. ``` <Command copied in step 2.4> --add-source /dotnet-tools echo 'export PATH="$PATH:~/.dotnet/tools"' >> ~/.bashrc echo 'export DOTNET_ROOT=/usr/local/bin' >> ~/.bashrc echo 'export PATH=$PATH:$DOTNET_ROOT' >> ~/.bashrc source ~/.bashrc ``` **Example: If the Implem.PleasanterSetup version is 1.0.1** ``` dotnet tool install --global Implem.PleasanterSetup --version 1.0.1 --add-source /dotnet-tools echo 'export PATH="$PATH:~/.dotnet/tools"' >> ~/.bashrc echo 'export DOTNET_ROOT=/usr/local/bin' >> ~/.bashrc echo 'export PATH=$PATH:$DOTNET_ROOT' >> ~/.bashrc source ~/.bashrc ``` </details> ## 4. Set up Pleasanter ### 1. Run the installer By using the installer, the latest version resources are automatically downloaded and the values ​​in Service.json and Rds.json are automatically set based on the values ​​you enter. #### The procedure when using MySQL is as follows. 1. Execute the following command to run the installer. ```text pleasanter-setup ``` **If you are not connected to a network environment, please follow the steps below** <details> <summary>(Click here to open/close details) </summary> 1. Download the latest version of Pleasanter from the [Download Center](https://pleasanter.org/dlcenter) and place it in "/web/". 1. Run the following command. **/web/** Make sure the configuration under the directory is as follows: /web/Pleasanter_1.4.x.x.zip ```text pleasanter-setup -r /web/Pleasanter_1.4.x.x.zip ``` </details> 2. Enter the directory where you want to install Pleasanter. If you want to install it to "/web/pleasanter", leave it blank and press Enter. ```text Install Directory [Default: /web/pleasanter] :   ``` 3. Enter the user who will start Pleasanter. Enter **ec2-user** and press Enter. ```text Please enter the user who will execute Pleasanter.   ``` 4. Enter the service name. If you are using "Implem.Pleasanter", leave it blank and press Enter. ```text ServiceName [Default: Implem.Pleasanter] :   ``` 5. Enter the number that corresponds to the DBMS you are using. Here, enter "3" (MySQL) and press Enter. ```text DBMS [1: SQL Server, 2: PostgreSQL, 3: MySQL] :   ``` 6. Enter the port number to be used. If it is the default port number for the DBMS, leave it blank and press the Enter key. ```text Please enter port number[Default: 3306]   ``` 7. Enter the value to be set in Server in the connection string. Enter the **endpoint** of the RDS instance and press the Enter key. E.g.: {DB identifier string, etc.}.rds.amazonaws.com ```text ConnectionString Server [Default: localhost] :   ``` 8. Enter the value to be set for UID in SaConnectionString. Enter the **master user name** set for the RDS instance and press the Enter key. ```text SaConnectionString UID [Default: root] :   ``` 9. Enter the value to be set for PWD in SaConnectionString. Enter the **master password** set for the RDS instance and press the Enter key. ※The password will be displayed in a masked state. ```text SaConnectionString PWD : Enter your password:   ``` 10. Enter the value to be set for PWD in OwnerConnectionString. ※The password will be displayed in a masked state. ```text OwnerConnectionString PWD : Enter your password:   ``` 11. Enter the value to be set for PWD in UserConnectionString. ※The password will be displayed in a masked state. ```text UserConnectionString PWD : Enter your password:   ``` 12. Enter the value to be set for MySqlConnectingHost. If it is "%", leave it blank and press the Enter key. ```text MySQL Connecting Host [Default: %] :   ``` **About "MySqlConnectingHost"** For details about "MySqlConnectingHost" in "Rds.json" added in Ver.1.4.18.0 and later, please see below. <details> <summary>(Click here to open/close details) </summary> ・If the following requirements are not met (default value): "%" ・If you want to prohibit access to MySQL from hosts other than the specified external hosts: "Host name/IP address that allows connection (in the case of AWS, set the private IP address)". Multiple names can be specified by separating them with a comma (e.g. "hostname01,hostname02"). </details> 13. Enter the "Default language". Enter the number of the corresponding language. ```text DefaultLanguage [1: English(Default), 2: Chinese, 3: Japanese, 4: German, 5: Korean, 6: Spanish, 7: Vietnamese] :   ``` 14. Enter the "Default time zone". Please enter the number of the corresponding time zone. ※「3」 If you enter "3", please enter a time zone that can be used by the OS you are using. ```text Set the default time zone. TimeZoneDefault [1: UTC(Default), 2: Asia/Tokyo, 3: Other] :   ``` 15. A summary screen will be displayed. If the values ​​entered are correct, enter **y** after "Shall I install Pleasanter with this content? Please enter 'y(yes)' or 'n(no)'. : " and press Enter. ※The password is masked. ```text ――― Summary ――― Install Directory : /web/pleasanter DBMS : MySQL SaConnectionString PWD : *** OwnerConnectionString PWD : *** UserConnectionString PWD : *** Port : 3306 Server : {String such as DB identifier}.rds.amazonaws.com Service Name : Implem.Pleasanter MySqlConnectingHost : % DefaultLanguage : en DefaultTimeZone : UTC [Issues] Class : Num : Date : Description : Check : Attachments : [Results] Class : Num : Date : Description : Check : Attachments : ――――――――― Shall I install Pleasanter with this content? Please enter ‘y(yes)' or 'n(no)’.:   ``` 16. When the message “Type "y" (yes) if the license is correct, otherwise type "n" (no)” appears, enter **y** and execute. When the following log appears, the setup is complete. ```text <SUCCESS> Starter.ConfigureDatabase: Database configuration has been completed. <SUCCESS> Starter.Main: All of the processes have been completed. Setup is complete. ``` 17. When setup is complete, a web browser will launch and display the [Enterprise Edition trial information page](). ★Add a screenshot ### 2. Check that Pleasanter is running 1. Run the following command to start Pleasanter with ec2-user. ``` cd /web/pleasanter/Implem.Pleasanter sudo -u ec2-user /usr/local/bin/dotnet Implem.Pleasanter.dll ``` 2. While it is running, run the following command in another terminal to check that Pleasanter is running. Exit with "Ctrl+C". * Execute command ``` curl -v http://localhost:5000/ ```` * Execution result ``` * Host localhost:5000 was resolved. * IPv6: ::1 * IPv4: 127.0.0.1 * Trying [::1]:5000... * Connected to localhost (::1) port 5000 > GET / HTTP/1.1 > Host: localhost:5000 > User-Agent: curl/8.9.1 > Accept: */* > * Request completely sent off < HTTP/1.1 302 Found < Content-Length: 0 < Date: Tue, 24 Jun 2025 02:59:24 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 ``` ### 3. Create a script for the Pleasanter service Create /etc/systemd/system/pleasanter.service with the following content. ``` [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 = ec2-user Group = root Environment=ASPNETCORE_ENVIRONMENT=Production Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false [Install] WantedBy = multi-user.target ``` ### 4. Register as a Service and Start the Service Execute the following command to start the Presenter service and enable automatic service startup. ``` sudo systemctl daemon-reload sudo systemctl enable pleasanter sudo systemctl start pleasanter ``` ## 5. Set Up Reverse Proxy (nginx) Configure the reverse proxy so that it can be accessed via Port 80, the same as a normal web server. ### 1. Change SELinux settings Execute the following command. ``` getenforce ``` #### a. If the message "Command 'getenforce' not found," "Permissive," or "Disabled" is displayed Proceed to "2. Install nginx." #### b. If "Enforcing" is displayed Execute the following command. ``` sudo setsebool -P httpd_can_network_connect on ``` *Changing the above SELinux Boolean value will allow all network connections by scripts and modules on the server. ### 2. Install nginx Run the following command to install nginx. ``` sudo dnf install -y nginx sudo systemctl enable nginx ``` ### 3. Configure reverse proxy 1. Create /etc/nginx/conf.d/pleasanter.conf with the following contents. Specify the public IP address of the EC instance on the server_name line. **Note** The public IP address will change when the EC2 instance is restarted. Please consider using an Elastic IP address to obtain a fixed IP address. ``` 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. After creating the file, run the following command to restart the service. ``` sudo systemctl restart nginx ``` ## 6. Check the operation of Pleasanter 1. There are two addresses that can be used to check whether Pleasanter is running. You can check the public IP address and public DNS from the EC2 instance management screen. 1. http://{EC2 public IP address} 2. http://{EC2 public DNS} E.g.: http://{character string}.compute.amazonaws.com 2. After starting Pleasanter, enter "Login ID: Administrator" and "Initial password: pleasanter" on the Pleasanter login screen and click the "Login" button. ![image](https://pleasanter.org/binaries/811220448e5e4e5299180030e47a9f73) 3. After logging in, you will be asked to change the password for the "Administrator" user, so enter a password of your choice and click the "Change" button. ![image](https://pleasanter.org/binaries/efdfc3bf5acd4254ad33b19378ec7e39) ### If redirection is not correct Check that the nginx settings are correct. The behavior may change depending on small differences such as the presence or absence of/in the description. ### If the Pleasanter screen does not open If the above steps were completed without any errors, but a page such as "Welcome to nginx!" (not an error message) is displayed when accessed through a browser, the security settings of the browser may be preventing you from transitioning to the Pleasanter login screen. ## Upgrade Pleasanter Please refer to the manual below for the procedure for upgrading Pleasanter installed in this procedure. [Upgrade Procedure Using the Installer (Linux)](version-up-installer-linux) ## Related Information [Upgrade Procedure Using the Installer (Linux)](version-up-installer-linux) ## Supported Versions |Supported versions|Body| |:--|:--| |1.4.18.0 and later|New manual created with the addition of a function to specify a host other than localhost (same server as the DB) as the source host for connecting to the MySQL DB|
TOP