Skip to content

Install Pleasanter on Azure App Service with serverless configuration

Overview

This is a step-by-step guide to building an operating environment for Pleasanter in a serverless configuration using Microsoft Azure's App Service and SQL Database.

Subject Environment/version
Web Microsoft Azure App Service
DB Microsoft Azure SQL Database
Runtime stack .NET 10

Notes

When installing version 1.4.6 or later, if you run CodeDefiner without specifying arguments, it will be set up with the language set to English and the time zone set to UTC. Please specify the language and time zone as necessary.

Prerequisites

  1. Be able to log in to the Azure portal
  2. One instance of Microsoft Azure App Service (Windows/.NET 10) is ready
  3. One instance of Microsoft Azure SQL Database is ready
  4. Microsoft Azure SQL Database connection string is ready
  5. Microsoft Azure SQL Database firewall settings allow connections from App Service and PC

Procedure

The construction procedure is as follows.

  1. Prepare
  2. .NET settings
  3. Download Pleasanter and Set Parameters
  4. Place Pleasanter
  5. Run CodeDefiner
  6. Check that Pleasanter is running

1. .NET Settings

  1. Connect to the Azure Portal.
  2. Open App Service.
    The Azure Portal with App Service open
  3. Select the App Service instance you created.
  4. Open "General Settings" in the "Configuration" menu and set it as shown in the image below.
    The "General settings" screen of the App Service "Configuration" menu
    The "General settings" screen of the App Service, continued

    Number Item Setting Content
    1 Configuration (Preview) Click to select
    2 General settings Click to select
    3 Platform 64bit
    4 FTP state Disabled
    5 Always On On (※May be displayed as "Always Connected")
    6 Stack settings Click to select
    7 Stack .NET
    8 .NET version .NET 10 (LTS)

2. Download the Pleasanter and Set Parameters

  1. Download the latest version of Pleasanter from the GitHub release notes.
  2. Unzip the downloaded zip file.
  3. Set the parameter file.
  4. Set the connection information to the database.
    Open "pleasanter\Implem.Pleasanter\App_Data\Parameters\Rds.json", set the parameters below and save.

    Parameter name Value Description
    Dbms SQLServer Uses Microsoft Azure SQL Database as the relational database.
    Provider Azure Uses Microsoft Azure SQL Database as the relational database.
    SaConnectionString **** Connection string for Microsoft Azure SQL Database.
    OwnerConnectionString **** Connection string for Microsoft Azure SQL Database.
    UserConnectionString **** Connection string for Microsoft Azure SQL Database.
    SqlCommandTimeOut 0 Sets the SQL command timeout to unlimited.
    MinimumTime 3 Specifies the minimum time unit that the database can identify in milliseconds. This Parameter cannot be changed.
    DeadlockRetryCount 4 Maximum number of retries when a deadlock occurs.
    DeadlockRetryInterval 1000 Interval before retrying when a deadlock occurs.
    DisableIndexChangeDetection true Do not detect differences in database indexes when upgrading.
  5. Set the service information.
    The settings will differ depending on the version you are using.
    Open "pleasanter\Implem.Pleasanter\App_Data\Parameters\Service.json", set the parameters as shown below and save it.

    ### Up to ver.1.4.5

     |Parameter name|Value|Description|
     |:--|:--|:--|
     |Name|(Database name)|Set the name of the database created in Azure|
     |TimeZoneDefault|Tokyo Standard Time|Specify the default time zone with a name that is valid in Windows (※1)|
    

    (※1) For the time zone, please refer to the following manual page.
    FAQ: I want to know the language and time zone parameter settings supported by Pleasanter

    ### ver.1.4.6 and later

     |Parameter name|Value|Description|
     |:--|:--|:--|
     |Name|(Database name)|Set the name of the database created in Azure|
    

3. Placement of Pleasanter

  1. Stop the instance in App Service.
  2. Visit Kudu
  3. Click "Advanced Tools" from "Development Tools" in the left menu of App Service.
    The left menu of App Service, with "Advanced Tools" under "Development Tools"
  4. Click the Move link
    The "Advanced Tools" screen of App Service, with the link that opens Kudu
  5. Click “Debug console” > “CMD” from the Kudu header menu
    The Kudu header menu, choosing "CMD" under "Debug console"
  6. Click "site" from the directory list. After making your selection, make sure the prompt reads "C:\home\site". (Depending on the user, it may be D:\home\site. In that case, please read it as appropriate.)
    The Kudu debug console with "site" selected in the directory list

  7. Upload the Pleasanter file prepared in "2. Download the Pleasanter and Set Parameters" to App Service.

  8. Go to the "Pleasanter" folder.
  9. Rename the "Implem.Pleasanter" folder to "wwwroot".
  10. Compress the wwwroot folder in zip format and make it "wwwroot.zip".
  11. Rename the "Implem.CodeDefiner" folder to "CodeDefiner".
  12. Compress the CodeDefiner folder in zip format and make it "CodeDefiner.zip".
  13. Drag and drop wwwroot.zip and CodeDefiner.zip to Kudu's Size target and ensure they are expanded and stored.
    The Kudu debug console after wwwroot.zip and CodeDefiner.zip have been extracted

4. Run CodeDefiner

  1. Select CodeDefiner from the Kudu directory listing and verify that the prompt is C:\home\site\CodeDefiner.
  2. Execute the following command to run CodeDefiner.
    The command you execute will vary depending on the version you are using.

Up to ver.1.4.5

dotnet Implem.CodeDefiner.dll _rds /p C:\home\site\wwwroot

ver.1.4.6 and later

※The following command is executed only during the initial installation.

dotnet Implem.CodeDefiner.dll _rds /p C:\home\site\wwwroot /l "<language>" /z "<timezone>"
Argument e.g. Description
/l en Rewrites the DefaultLanguage value in Service.json (*1)
/z UTC Rewrites the TimeZoneDefault value in Service.json (*1)

(*1) For language and timezone, please refer to the following manual page.
FAQ: I want to know the language and timezone parameter settings supported by Pleasanter

If you are using it in a English environment, use the following command.

dotnet Implem.CodeDefiner.dll _rds /p C:\home\site\wwwroot /l "en" /z "UTC"

5. Confirm the Startup of Pleasanter

  1. Start an instance in App Service.

  2. Open the Pleasanter login screen in your browser, enter "Login ID: Administrator" and "Initial Password: pleasanter", then click the "Login" button.
    The Pleasanter login screen, where the login ID and initial password are entered

  3. After logging in, you will be asked to change the password for the "Administrator" user. Enter your desired password and click the "Change" button.
    The password change screen for the Administrator user, shown after the first login