はじめに
前回までに紹介した Tomcat9 と MySQL8 構築を前提にして、今回は BizRobo! 11.3.0.2 の Management Console(以降、MC) を構築していきます。
本ブログは、BizRobo! v11.3.0.2 の利用を前提に解説します。
環境の準備
MCの構築に必要なファイルやリソースを準備します。細かい調達方法は省略します。
MC構築のための調達リソース
# | リソース | 準備方法 |
---|---|---|
1 | mc.war | BizRobo!のインストールフォルダ配下の📁WebApps から ManagementConsole.war をコピーし、ファイル名を mc.war に変更 |
2 | mc.xml | ファイルを新規作成 |
3 | mysql-connector-java-8.0.22.jar | 「公式サイト」から 検証用のバージョンの Platform Independent ZIP をダウンロードします。1
|
環境構築におけるパラメータ一覧
以下を前提として構築作業を実行
パラメータ | 設定値 |
---|---|
DBのホスト名 | localhost |
DB接続ポート | 3306 |
接続先DB | bizrobo_mc |
接続ユーザー名 | bizrobo |
接続パスワード | brpassword |
構築する環境のサーバー構成
ちょっとした検証作業用に、単体のPCへ一式セットアップします。すべてローカルでのアクセス前提なので、通信ポートの解放など細かいことについては考えません。
構築環境のフォルダ構成
📁 apache-tomcat-9.0.x
├─ 📁 conf # Tomcatの設定ファイルが格納されています。
│ └─ 📁 Catalina
│ └─ 📁 localhost
│ └─ 📄 mc.xml
├─ 📁 lib # Tomcatが必要とするライブラリやクラスが格納されています。
│ └─ 📄 mysql-connector-java-8.0.22.jar
├─ 📁 webapps # TomcatにデプロイするWebアプリケーションが格納されています。
│ ├─ 📁 mc
│ └─ 📄 mc.war
:
環境構築の流れ
細かい設定・調整をし始めるときりがないですが、最低限動くものを構築するには以下の4ステップで完了です。
- アプリケーションで利用するデータベースとユーザーの作成
- アプリケーションで利用するコンテキストファイルの作成(主にDBへの接続設定)
- アプリケーションファイルのサーバへの配置
- JDBCコネクターのサーバへの配置
構築手順
サーバ状態の確認
環境セットアップに先駆けて以下を確認します。
- MySQL8 サーバーが起動していること
- Tomcat9 サーバーが停止していること
1.MySQL8 へのデータベースの作成
root
ユーザで MySQL8 サーバにログインし、以下の SQL を実行します。
CREATE DATABASE bizrobo_mc CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'bizrobo'@'localhost' IDENTIFIED BY 'brpassword';
GRANT ALL PRIVILEGES ON bizrobo_mc.* TO 'bizrobo'@'localhost';
-
bizrobo_mc
という名前のデータベースを作成 - localhost からのみアクセス可能な
bizoro
というユーザを作成 -
bizoro_mc
データベースに対してすべての権限を付与
2.Tomcat コンテキストファイルの作成
📁 conf\Catalina\localhost
配下に 📄 mc.xml
という名前でファイルを生成し、テキストエディタで以下記述します。(UTF-8で保存)
BOM なし保存が必須。2
<?xml version='1.0' encoding='utf-8'?>
<Context useHttpOnly="true" mapperContextRootRedirectEnabled="true">
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource name="jdbc/kapow/platform" auth="Container"
type="javax.sql.DataSource"
maxTotal="100" maxIdle="30" maxWaitMillis="-1"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
validationQuery="/* ping */" testOnBorrow="true"
username="bizrobo" password="brpassword"
driverClassName="com.mysql.cj.jdbc.Driver"
url="jdbc:mysql://localhost:3306/bizrobo_mc?useUnicode=yes&characterEncoding=UTF-8&rewriteBatchedStatements=true&serverTimezone=GMT%2B9&useSSL=false&allowPublicKeyRetrieval=true"
/>
</Context>
-
useUnicode=yes&characterEncoding=UTF-8
:データベースとの通信にUnicodeを使用し、UTF-8でエンコーディングします。3 -
useSSL=false&allowPublicKeyRetrieval=true
:MySQL8 で推奨の caching_sha2_password という認証プラグインを使用する場合に必要な設定です。useSSL
については本番環境ではtrue
にする必要がありますが、サッと作る検証環境では、false
でいいでしょう。
3.Web Application aRchive(war)ファイルの配置
📁 webapps
配下に 📄 mc.war
を配置します。
4.jdbc ドライバーの配置
📁 lib
配下に 📄 mysql-connector-java-8.0.22.jar
を配置します。
Tomcat の開始
Tomcat を起動して Management Console へアクセスします。以下のログイン画面が表示されれば完了です。
その後、MCの設定
MC の起動を確認したら、ログイン画面から admin でログインし、ライセンスの登録、ログデータベースの設定、その他もろもろ検証に必要な他サーバとの連携や各種設定を MC で実施します。
本項では省略しますが、必要に応じて利用者が判断して実施ください。
インストール・フリー な MC を使った開発・検証
現場や客先で発生した事象の再現を行う際に、バージョンのそれぞれ異なる MC、RS、DAS などを組み合わせて実行するときなど、手軽に特定バージョンの環境が要素ごとに手早く構築できると便利ですね。
ん?構成自体もインシデントが発生した環境と合わせないと意味がないのではないか?と?
それは、アプリの機能レベルで再現できなかった時の話で、初動で事象と製品の機能的な挙動を確認するのであれば、同一構成の準備に拘って時間を掛けるよりも、インストール・フリーな環境を手早く起動して本来やるべきことに集中した方がいい派です。
まとめ
事象の確認とその後の調査・対応を別のメンバーが実施するような場合、ポータブルな環境で再現させたうえで、その環境(ファイル)一式を後続ステップのメンバーに渡してあげると、連係プレーで調査が捗りそうですね。
-
以下が画面のイメージ。下段のZIPをダウンロードします。
↩
-
characterEncoding
を指定しない場合にはデータベースサーバーのcharacter_set_server
システム変数の値に依存するようです。厳密には JDBCコネクターのバージョンによっても異なるようですが。。MySQL8では、デフォルトの文字エンコーディングはutf8mb4
で、MySQL5.7 ではlatin1
のようです。併せて、JDBCのバージョンごとに色々と 「文字セットとユニコードの使用」には書かれており、結局環境に依存してわけわからなくなってしまいそうなので、いろんな環境で検証的に手軽に使うためには、明示的にパラメータとして設定しておくのがよさそうです。 ↩