はじめに

INTER-Mediatorの試用や学習用に、簡単な操作でサーバとして実行できるWebアプリケーションについての情報をこの文書に記載します。Dockerを利用するか、phpのサーバモード等で直接実行することを想定したWebアプリケーションです。後者の方法は「ダイレクトホスティング」と呼ぶことにします。いずれかの方法で稼働することができます。

Webアプリケーションでは、INTER-Mediatorのサンプルプログラムを稼働することができると同時に、稼働に必要なファイルをWebブラウザ上で編集して実行できるようになっており、自分でHTMLや設定を作って実行することもできます。INTER-Mediatorのハンズオンや学習用教材での利用を見込んでいます。

従来は試用や学習用にVMを用意していましたが、Ver.9以降はフリーかつプラットフォームに依存しないVM環境が整わないため、VMよりDockerベースに移行しました。Webアプリケーション自体は、INTER-Mediator Ver.10以降で利用できますが、基本的にはインストール作業をしたときの最新版が稼働するようになっています。

Dockerでインストールして稼働する

まず、お使いのプラットフォーム上でDocker Desktopを起動しておく必要があります。Docker Desktopのインストール方法はこちらを参考にしてください。Docker Desktopが稼働可能な状態になったら以下のコマンドを実行します。

git clone https://github.com/inter-mediator/IMApp_Trial
cd IMApp_Trial
docker-compose up -d

コンテナのビルドに10分以上かかるかもしれません。しかし、これだけでINTER-Mediatorの開発環境が実行可能になりました。データベースを含むサーバ一式及びINTER-Mediatorのインストール等は全て自動的に行われています。

Creating network "imapp_trial_default" with the default driver
Creating imapp_trial_db_1 ... done
Creating php-apache_im    ... done

上のようなメッセージが確認できたら、Webブラウザで http://localhost:9080/ を開いてください。INTER-Mediatorのデモアプリのトップページが表示されます。トップページに解説がありますので、そちらを参照すれば使用方法等が示されています。

編集可能なページや定義ファイルはDockerコンテナの外側のファイルに格納されているので、永続的に表示されます。 MySQLはDockerコンテナとして起動し、スキーマも割り当て済みですが、DBは永続的ではないので、コンテナ起動後に追加したデータはIMコンテナを停止すると消えます。

ダイレクトホスティングによるインストール

OSにセットアップしたWebサーバやデータベースを利用して稼働する方法を「ダイレクトホスティング」と総称します。サーバやデータベースのソフトウエアにはさまざまなものがありますが、ApacheとMySQLを使用する想定でここでは手順を紹介しましょう。

準備

PHP、git、composer、MySQL、Node.jsをインストールして稼働できるようにしてください。

データベースにはINTER-Mediatorのサンプルデータベース(データベース名'test_db')を以下のMySQL用スキーマで用意します。すでにINTER-Mediatorを使用している場合は、このサンプルDBを既にセットアップしていると思われるので、それをそのまま使用しても構いません。

https://raw.githubusercontent.com/INTER-Mediator/INTER-Mediator/master/dist-docs/sample_schema_mysql.txt

MySQLを用意し、rootパスワードを知っている場合、IMApp_Trialリポジトリをクローンした後、以下のようにtest_dbを設定することができます。

cd IMApp_Trial # カレントディレクトリがこのリポジトリのルートであると仮定します。
mysql -u root -p < vendor/inter-mediator/inter-mediator/dist-docs/sample_schema_mysql.txt
# Homebrew ユーザは root のパスワードを設定しないかもしれないので、 -p パラメータを削除してください。
# Windows ユーザは、ディレクトリの区切り文字を / から \ または ¥ に変更する必要があります。

セットアップ

このWebアプリは、composerをベースにしています。IMApp_Trialリポジトリをクローンして、リポジトリのルートで以下のようにcomposerコマンドを実行します。

git clone https://github.com/inter-mediator/IMApp_Trial
cd IMApp_Trial
composer update

Windowsの場合の追加セットアップ

Windows Subsystem for Linux (WSL) があれば、macOS/Linux と同じように設定できます。 Windows PowerShellなどを使っていない場合、composer updateコマンドの最後でエラーになります。 IMApp_Trialのカレントディレクトリで、以下のコマンドを手動で実行する必要があります。 この2つのコマンドは、shを使ったシェルスクリプトですので、bashアプリケーションが自動的に立ち上がります。

cd .¥vendor¥inter-mediator¥inter-mediator
npm install
cd .¥dist-docs
./generateminifyjshere.sh
cd ..¥..¥..¥..¥lib
./trialsetup.sh
cd ..

アプリケーションのスタートアップ

Webアプリを手っ取り早くホストするには、phpコマンドのサーバーモードが便利です。IMApp_Trialディレクトリがカレントディレクトにして、以下のコマンドを実行します。

php -S localhost:9000

これで、同じホストで実行されているブラウザから、 http://localhost:9000/ という url でアプリケーションにアクセスできるようになります。トップページに解説がありますので、そちらを参照すれば使用方法等が示されています。