iPLAssをInstall and Run（MySQL8.0.17＋Windows10）で構築する

# iPLAssについて

詳細は公式サイトを参照してください。
https://iplass.org/

# 本手順について

公式サイトにも導入手順がありますが、ここでは画像を交えて以下の環境での構築手順を載せていきます。

## 構築環境等について

- Windows10
- iPLAss 3.0.16
- JavaおよびTomcatは以下を利用して準備済み（解凍済み）
  - eclipse 2019-09、JavaのFull Edition を導入（[Pleiades All in One](http://mergedoc.osdn.jp/)）
  - 配置先：E:\eclipse\pleiades2019-09
  - 公式指定によりTomcatは8を利用する
- MySQL 8.0.17（8.0.18でも同様の設定でできます）

公式が推奨する最新環境の情報は以下にあります。
利用し始めるiPLAssのバージョンに合わせて環境を準備してください。
https://iplass.org/docs/environment/index.html


## 「Install and Run」について

公式で案内のある、iPLAssの構築方法の１つ。
必要最低限の環境でiPLAssが構築可能で、iPLAssの簡単な動作確認やGroovyでの開発が行えます。
公式の構築手順URLは以下です。
https://iplass.org/docs/gettingstarted/gettingstarted/index.html

## 本構築での制限について

- MySQLを前提にしています。
  - ただし、設定などが諸々わかれば、OracleやPostgreSQLでも構築は可能です。
- 本手順で構築された環境**のみ**で開発を行う場合、Groovyでの開発が前提となります。
  - Javaで開発を行う場合は、別の構築手順を行うか、本手順を行った後に別の作業が必要になります。

Javaで開発を行う場合は、本手順を実施後に以下URLの手順を行ってください。
[iPLAss SDKを使ってEclipse環境で開発できるようにする](https://qiita.com/systie/items/b40d3346013bc47cc1a7)


# MySQLのインストール

設定の変更が不要な一部画面はスクリーンショットをアップしていません。

## MySQLのインストール 01/12

以下のサイトからインストーラーのダウンロードします。
https://dev.mysql.com/downloads/mysql/
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/c42ac9f1-aef0-f1a4-e218-abe00c79c0b2.jpeg" width=70%>
以下の選択肢は、
上がインストール時にインターネット接続が必要、
下がインストールにインターネット接続不要（本ダウンロードで必要分すべてダウンロードしてしまう）、
という違いとのこと。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/1c847471-18fd-3b95-e584-eddfad4c39d7.jpeg" width=70%>
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/7ba6ca9e-1b64-e85c-2111-49e28ed2b2dd.jpeg" width=70%>

## MySQLのインストール 02/12
ここでは、インストール先をCではなくDへ変更するための対応を行います。
もしCのままで問題ない場合は、本対応は不要です。

以下のフォルダを作成してください。
※「ProgramDate」フォルダは隠しフォルダのため、フォルダ設定で表示することで内部にフォルダを作成することができます。
※「8.0」はバージョンなので、これからインストールするMySQLのバージョンに合わせて設定してください。
```
C:\ProgramData\MySQL\MySQL Server 8.0
```

## MySQLのインストール 03/12

**Setup Type = Server only**
![スクリーンショット 2023-05-31 204758.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/e50173ec-8732-2686-bea4-3ddf41618509.png)

## MySQLのインストール 04/12
パスを任意の値へ変更します。
「MySQLのインストール 02/12」の対応をした場合のみ表示されます。
デフォルトは以下のパスになっているかと思います。
Install Directory：C:\Program Files\MySQL\MySQL Server 8.0
Data Directory：C:\ProgramData\MySQL\MySQL Server 8.0\Data
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/0d9e1a8b-4c18-d999-5202-8d437554100f.jpeg" width=70%>

## MySQLのインストール 05/12

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/98f906af-914b-02d9-99ed-c045e2df9e1c.jpeg" width=70%>

## MySQLのインストール 06/12

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/bd9c2ea4-6729-e800-0ea7-a090f3656324.jpeg" width=70%>

## MySQLのインストール 07/12

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/d3a637b7-3163-5fb1-fe80-dd52cf3d4914.jpeg" width=70%>

## MySQLのインストール 08/12

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/7239b1f2-86e7-7d94-ec57-c1e8e8e39ad3.jpeg" width=70%>

## MySQLのインストール 09/12

**Type and Networking:ConfigType = Dedicated Machine**
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/5407f6fd-48a2-535d-fecb-c74e512a46ab.jpeg" width=70%>

## MySQLのインストール 10/12

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/95d920f2-470d-d564-cd8a-09dd9345e94b.jpeg" width=70%>

## MySQLのインストール 11/12

rootアカウントのパスワードを設定します。（あとで利用します）
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/18e78bf4-3577-7d5e-f4d9-bb52caf74a25.jpeg" width=70%>

## MySQLのインストール 12/12

あとは最後まで特に変更不要で進めます。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/02ce0d22-9b46-a5c5-4cf9-13edbfeab2a4.jpeg" width=70%>
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/f7a4c11d-5011-1b17-7e3d-2c461053a81b.jpeg" width=70%>
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/afdb8558-0526-d5ed-bba1-fbe9ae76e53f.jpeg" width=70%>
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/8aafc7da-2a70-34af-6aaa-abf88e443c22.jpeg" width=70%>
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/3f282d35-564b-fffc-e0d1-de61bcd4ac7a.jpeg" width=70%>

# MySQLのtimezoneの追加設定

## MySQLのtimezoneの追加設定 01/05

iPLAss公式での標準案内は「Asia/Tokyo」となっています。
この設定するために、MySQLへの追加設定が必要になります。
本timezoneでなくてよい場合は、スキップしてください。

## MySQLのtimezoneの追加設定 02/05

以下のサイトからzipファイルのダウンロードします。
https://dev.mysql.com/downloads/timezones.html
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/602245ed-3d82-aece-1776-718f55f88672.jpeg" width=70%>

## MySQLのtimezoneの追加設定 03/05

任意の場所へ解凍します。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/76096c91-bac2-e8f5-a370-46d4d7c6275e.jpeg" width=100%>

## MySQLのtimezoneの追加設定 04/05

コマンドプロンプトを起動し、MySQLインストール先にあるbinフォルダまで移動します。
その後以下コマンドを実行します。

```
mysql --user=root --password mysql < ≪解凍先≫\timezone_posix.sql
```

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/488f7a5d-02a5-460a-3cb9-154c847fbd44.jpeg" width=100%>

## MySQLのtimezoneの追加設定 05/05

実行すると、パスワードを求められるため、インストール時に設定したパスワードを入力し、Enterを押下します。
応答が返ってくれば完了した証拠です。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/81cee666-f433-e4a0-135b-bea260d00a72.jpeg" width=100%>

# MySQLの設定変更

## MySQLの設定変更 01/03

インストール時に設定したパス（Data Directory）配下にある「my.ini」を開きます。
デフォルトの場合は以下ディレクトリ配下になります。
C:\ProgramData\MySQL\MySQL Server 8.0\
※「ProgramData」ディレクトリはWindowsの隠しフォルダ。
　見当たらない場合はエクスプローラーの設定で隠しフォルダを表示する設定へ変更することで参照可能。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/127c3a60-5cda-b4db-d336-86d39f830de4.jpeg" width=100%>

## MySQLの設定変更 02/03

変更内容は以下の通り。
[xxx]の記述は既存であるため、探してその下に追記します。
（下記に注意点あり）

```
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
character-set-server=utf8mb4
default-time-zone='Asia/Tokyo'
log_bin_trust_function_creators=1
transaction-isolation=READ-COMMITTED
max_allowed_packet=100M
```

- MySQL8.0.17での設定であり、MySQLのバージョンによる差は公式へ
- default-time-zoneは、APサーバの時間と一致させてください
- 本バージョンだとバイナリログがデフォルト有効のため、「log_bin_trust_function_creators」を追加で設定しています
- 「max_allowed_packet」はデフォルト4Mとなっているため、検索して書き換えてくだい

## MySQLの設定変更 03/03

MySQLサービスの再起動します。
Windowsの検索ボックスに「サービス」と入力し、該当アプリを起動します。
- 「検索ボックス」はWindowsの「スタート」の横にある虫眼鏡のこと。
- ない人は「Windows 10 で検索ボックスを表示する」などで検索を。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/13528959-0723-88ac-8d2d-172e3334a288.png" width=100%>
一覧から「MySQL80」を探し、選択すると左にリンクが出てくるため、「サービスの再起動」を押下します。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/a0ca3fb9-55b9-39ad-11bf-6fd85beefbb8.jpeg" width=100%>

## MySQLの設定変更（補足）

タイムゾーンの反映確認します。
コマンドプロンプトを起動し、MySQLインストール先にあるbinフォルダまで移動します。
その後以下コマンドを実行します。

```
mysql -u root -p
※パスワード入力
show variables like '%time_zone%';
```

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/40af4676-7b46-2e78-3115-e738406a5385.jpeg" width=100%>
設定した値が正しく表示されていればOK。

# JDBCのダウンロードと配置

## JDBCのダウンロードと配置 01/02

以下サイトから、アプリ→DBへ接続するためのAPIをダウンロードします。
https://dev.mysql.com/downloads/connector/j/
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/0e0909aa-9f1e-d3c1-4f5e-a951cf3edf8b.jpeg" width=100%>
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/bb478020-3b70-bf15-7b09-5e5dadbcf78c.jpeg" width=100%>

## JDBCのダウンロードと配置 02/02

ダウンロードしたものを任意の場所へ解凍し、内部にあるjarファイルをTomcat8のlibフォルダ内へコピーします。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/4e9378c6-0f01-c60f-d979-358a385c69b7.jpeg" width=100%>

# iPLAssの起動準備

## iPLAssの起動準備 01/07

以下サイトから、「iPLAss Installer」をダウンロードします。
https://iplass.org/downloads/
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/619f6708-3a97-a725-b465-f9e2aaa4a001.jpeg" width=100%>

## iPLAssの起動準備 02/07

ダウンロードしたwarをTomcatの「webapps」フォルダ内へ配置します。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/179ba7b4-bfe4-eddd-852d-71052daebddd.jpeg" width=100%>

## iPLAssの起動準備 03/07

Tomcatサーバを起動します。
ここまで本手順と同様（Pleiades All in OneでJavaとTomcatを導入している）の方で起動がわからない人は以下を参考にしてみてください。

### （１）コマンドプロンプトを起動し、以下コマンドを実行。

```
set JAVA_HOME=≪Eclipseを解凍したところ≫\java\11
```

本手順では「解凍先：E:\eclipse\pleiades2019-06」のため、

```
set JAVA_HOME=E:\eclipse\pleiades-2019-09\java\11

```
となります。

### （２）Tomcatのbinフォルダまで移動し、「startup.bat」を実行する

Tomcatのbinフォルダまで移動します。
本手順では「解凍先：E:\eclipse\pleiades2019-06」のため、以下まで移動します。

```
E:\eclipse\pleiades-2019-09\tomcat\8\bin
```

その後、そのままコマンドプロンプトで「startup.bat」を指定してEnterを押せばOKです。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/7422e9fb-0294-ec25-c231-f71fbd46f3e8.jpeg" width=100%>
すると、別のコンソール画面が立ち上がります。
それがTomcat起動のログです。
また、その画面を閉じるとTomcatが停止してしまうため、注意してください。

## iPLAssの起動準備 04/07

以下URLに接続して必要箇所を入力します。
http://localhost:8080/iplass
もし後続で処理が失敗し、改めてこの画面から行いたい場合は、以下ディレクトリ配下のファイルを削除してから、URLにアクセスしてください。
C:\Users\ユーザ名&#092;.iplass

テナント名は、任意（かつ、iPLAssを利用するDB内で一意）の値設定してください。
後のURLの一部になります。
初めの構築の場合、「テーブル自動生成」に必ずチェックをつけてください。
<font color="Red">**注意：3.1.x系以上を利用する場合は、Tomcat9以上を指定してください。**</font>
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/18bb24a4-2fcf-e98e-18a0-117e724a4764.jpeg" width=100%>
## iPLAssの起動準備 05/07

入力完了後、「セットアップ開始」ボタンを押下する。
<font color="Red">**注意：
「テーブル自動生成」にチェックをつけた場合、処理完了まで時間がかかる可能性があります。
押下後、画面は変わりませんが処理は動いています。再度ボタンを押下する、F5を押す等はしないようにしてください。**</font>

## iPLAssの起動準備 06/07

セットアップが正常に完了した場合は「<font color="Red">アプリケーションサーバを再起動してください。</font>」のメッセージが表示されるので、tomcatを再起動します。
startup.batを実行してTomcatを起動した場合、実行した際に立ち上がったコンソール画面を閉じて、再度コマンドプロンプトで「startup.bat」を実行してください。

## iPLAssの起動準備 07/07

再度、以下URLに接続します。
http://localhost:8080/iplass
ここでもセットアップのため、少し時間がかかります。
セットアップ完了後、自動で以下画面へ転送されます。
※転送された後のURLが今後アクセスするためのURLになります。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85658/eb4ffcce-af54-0d9f-333c-023e5d70f018.jpeg" width=100%>


以上でiPLAss構築は完了です。