e-ラーニングシステム・イロハボード(iroha Board)LMSをインストール~Linux Mint22で動かす

Linux Mintのロゴ画像 Linux

ラーニングシステムの普及

うちには子供がいないので、今どきの学校教育の環境はわからないですが、近年は大学なんかではe-ラーニングシステムが採用されている事例が多いと聞きます。教育機関だけでなく企業でも従業員の研修用に使われたりとしているみたいです。

嬉しいことにOSSのe-ラーニング用LMSが無償で公開されているので、検証してみることにしました。公式にデモサイトはあるのですが、あくまでも学生(受講者)側の操作に限定されるので、出来ること出来ないことを検証する目的ではデモでは検証出来ませんでした。

Ubuntuだとちょっと動作が重く旧PCにインストール出来ないというLinux系OSらしからぬ状態だったので、Ubuntu系のLinux Mint 22を使用しました。iroha Boardの要件としては、公式サイトから引用しておきます。今回検証に使用するLinux Mint22では要件的に問題なしです。

◆ サーバ環境
言語 : PHP 5.4以上 (PHP 7.2以上を推奨)
データベース : MySQL(MariaDB) 5.1以上
Web サーバ : Apache
Apache モジュール : mod_rewrite, mod_headers
PHP モジュール : mbstring, pdo_mysql
※ IIS、Nginx 上でも動作する可能性はありますが、サポートしておりません。

iroha Boardインストール要件

結果、この記事とは別に記した2つの環境設定と、iroha Boardの設置で動作させることが出来ました。これでじっくりと動作(機能)検証にとりかかれます。

Apache2の環境設定(mod_rewrite,mod_headers)

iroha Boardのインストール要件で、mod_rewrite、mod_headersの2つのモジュールが使用できることとありますので、インストール後のApache2を確認してみたのですがモジュールが組み込まれていませんでした。

/etc/apache2/mods-enabledフォルダを確認してみるとわかりますが、mod_rewrite、mod_headersがありません(つまりApacheに機能がロードされていません)。

コマンド操作でもわかるのですが、直接ファイルを確認する方法を紹介しました。(結局この後でコマンドは使うんですけどね・・)

Apache2にモジュールのロード

モジュールをApacheにロードするには、sudoでa2enmodしてやる必要があります。ここはやっぱりコマンド操作した方が良いので、ターミナルから実行します。

~$ sudo a2enmod rewrite
~$ sudo a2enmod headers

その後で、Apache2をリスタートする必要があります。

~$ systemctl restart apache2
ターミナルからコマンド操作でapache2にモジュールのロードを有効化してApache2をリスタートさせている様子のキャプチャ画像

ターミナルからコマンドを使ったので、ついでにモジュールのロード結果もコマンドでやってみます。

~$ sudo apache2ctl -M
ターミナルからコマンド操作で、Apache2にロードされたモジュールを表示させて確認している様子のキャプチャ画像

Apache2に組み込まれたモジュールが表示されます。grepなどで抽出しても良いですが、大した数では無いので目で追えるでしょう。

参考までに付け加えておくと、モジュールを外したい場合は、a2dismodを使います。
a2enmodはenableする意味で、a2dismodはdisableする意味だと思われます。興味のある人は翻訳ツールなどで単語を和訳してみてください。

iroha Boardをダウンロードして設置する

iroha Boardの公式サイトに行って、アプリのzipファイルをダウンロードして来ます。

iroha boardをダウンロードしてきたのでダウンロードフォルダを確認しているキャプチャ画像

zipファイルを展開して、ファイルの実体をコピーで、/var/www/htmlにコピーします。テストに使った既存ファイルはバックアップしておくか、リネームして被らない様にしておくと後から戻せます。

構成ファイルには、「.htaccess」が含まれています!
「表示」−「隠しファイルを表示」にレ点を入れて見える状態にして、間違いなく「.htaccess」もコピーしてください。この部分は見落としがちです。(私自身トラップにハマりました)

iroha boardには.htaccessも含まれているが、隠しファイルになっていうrのでファイルマネージャの設定によっては不可視になっていることがある。その状態をスクリーンショット

iroha Boardのプログラムを/var/www/htmlに配置した場合、プログラム自身によって/var/www/html/app/内にtmpフォルダを作ってそこにログなどを残す仕様の様です。パーミッションを確認したところ、想定通りになってなかったので、app内にwww-dataグループ(Apache2)が書き込み権限を持つ様にプロパティから設定変更しました。

iroha boardのファイルを配置した後にパーミッション(アクセス権)を設定している様子のキャプチャ画像

ファイルの所有者は自分にしておいた方が便利だと思うので、敢えてwww-dataにしていません。環境が完成したらコマンド一発、www-dataにしておいた方が良いかも知れませんね。

Linux Mintの場合は、下図の様にフォルダを右クリックしてRootとして開くとすれば、権限昇格(sudo権限)で開いて操作が出来ますので、コマンド操作が苦手な人でもなんとかなります。特権での作業はリスクも伴うので、作業が終わったら速やかに閉じましょう。

ファイルマネージャでRootとして開く(特権)の操作を示した画面キャプチャ

iroha Boardのデータベース接続情報を記述

iroha Boardのプログラムが、データベース(MariaDB、MySQL)に接続するために必要な情報を記してやる必要があります。テキストファイルで「/var/www/html/app/config/database.php」を開いてユーザ名とパスワード、データベース名を編集して保存します。

database.phpファイルを編集している様子のスクリーンショット

私のテスト環境では、ユーザ名:irohaboard、パスワード:password、データベース名:irohaboardなので上図の様に編集して保存しました。

Apache2の設定で.htaccessが機能する様に変更

これもトラップになりかねない箇所でして、iroha Boardでは.htaccessによるReWriteモジュールを使った動作がとても重要っぽいです。しかしApache2のデフォルトインストール状態では、Apache2の設定がそれを許可していません。apache2.confの編集が必要です。

権限を昇格して、/etc/apache2/apache2.confを開くことにします。そして下の部分を見つけ出します。

<Directory /var/www/>
    ...
    AllowOverride None
    ...
</Directory>Code language: HTML, XML (xml)

それを書き換えます。
行コピーして、#で不要行をコメントアウトしておくクセを付けておいた方が良いです。いざという時に簡単に戻せますからね。

<Directory /var/www/>
    ...
    #AllowOverride None
    AllowOverride All
    ...
</Directory>Code language: HTML, XML (xml)
apache2.confファイルの設定例をスクリーンショットした画像

保存したら、お約束のApache2再起動を実行します。

~$ sudo systemctl restart apache2

これで準備は整ったので、Webブラウザを起動してインストール画面にアクセスします。

http://localhost/install/Code language: JavaScript (javascript)

初期の管理者ユーザーを設定します。

Linux Mintによる検証環境でifoha boardが動作し、Webブラウザで初期設定が表示されている様子のスクリーンショット

最初のユーザー(管理者)なのでこの画面を使うのは一回こっきりになります。

iroha boardの初期ユーザー登録をユーザー一覧画面から設定している様子のスクリーンショット画像

無事に管理者としてログインできました。

ちょっと使ってみた感じだと、管理者(教師)、ユーザー(生徒)という感じの2種類の権限しか無いみたいです。

生徒用のURLは(http://localhost/users/loginに転送されますが)

http://localhost/Code language: JavaScript (javascript)

教師用のURLは

http://localhost/admin/Code language: JavaScript (javascript)

という感じで別れているみたいです。後は生徒用のユーザーを作ったりして、納得行くまで機能検証を行えます。何となく直感的に管理画面が弱い(そういう仕様ではなさそう)に感じました。

iroha Boardのインストールを終えてみて

Intel Core2Duo Mem:4GB、SSD:240GBという、古いノートパソコンにLinux Mint 22をインストールして、Apache2、PHP8.3、MariaDB(MySQL)、phpMyAdminをセットアップし、iroha Boardを設置しましたが、思いの外サクサク動いてくれる感じです。動作の遅さは感じません。もちろん実運用では何十人という生徒、それが何クラス分か必要な訳ですからそれなりのサーバーマシンを用意する必要があるでしょう。

Linux Mintのファイヤウォールは簡単に80ポートだけ通す様に設定しました。

Linux Mintのファイヤウォール設定画面のスクリーンショット

固定IPにしておいて、LAN内部のWindowsパソコンとスマートフォンからIP直打ちでアクセスしてみましたが良好です。DNS等の名前解決出来る環境があるならそれを使うのも良いですし、台数が限られるならHOSTSに書いて名前解決するのもアリでしょう。

iroha boardにスマートフォンのWebブラウザでアクセスした時のスクリーンショット

iroha Boardの機能仕様的にシンプルな感じで、限られた機能ながらこれで満足出来るなら、一般的なレンタルサーバーでも十分動作するんじゃないかなという印象です。これは1クラスの人数が30名程度で数クラス程度の学校で使用するにはアリかもしれませんね。

但し感じたのは、教師一人で受け持つ生徒の数が増えると、管理機能が弱いので教師が大変そうです・・
まだ使い込んでないので感覚的な感想で申し訳ありませんが、生徒一人づつの学習状況を確認していく感じのUIしか用意されていない様に見受けられます。(一覧表的なレポートや集計機能が無さそう)

このあとは

既に基本的な環境(Apache、PHP、MySQL(MariaDB)、phpMyAdmin)はセットアップ出来たので、もう一つ試してみたいLMSである「Moodle」のインストールについて、後日また別途のエントリーとして投稿する予定です。

「Moodle」はちょっと設置にクセがありますがLinux Mint上でも無事に動作することは既に確認済です。ブログ記事にするのがかなり面倒なので需要があれば・・・

コメント

Comment spam is annoying.

There has been an increase in comment spam, but we decline it. It’s pointless because we use Akismet to block spam comments. Spam comments will not be posted.

コメントスパムが増えていますがお断りします。akismetでスパムコメントを弾いているので無意味です。スパムコメントは掲載されません。

ブロックしたスパム

DMM広告

タイトルとURLをコピーしました