うちには子供がいないので、今どきの学校教育の環境はわからないですが、大学なんかではe-ラーニングシステムが採用されている事例が多いと聞きます。企業でも従業員の研修用に使われたりとしているみたいです。
嬉しいことにOSSのe-ラーニング用LMSが無償で公開されているので、検証してみることにしました。デモサイトはあるのですが、あくまでも学生(受講者)側の操作に限定されるので、出来ること出来ないことを検証する目的では使用出来ませんでした。
Ubuntuだとちょっと動作が重いのと、旧PCにインストール出来ないというLinux系OSらしからぬ状態だったので、Ubuntu系のLinux Mint 22を使用しました。iroha Boardの要件としては、公式サイトから引用しておきます。Linux Mint22では要件的に問題なしです。
◆ サーバ環境
iroha Boardインストール要件
言語 : PHP 5.4以上 (PHP 7.2以上を推奨)
データベース : MySQL(MariaDB) 5.1以上
Web サーバ : Apache
Apache モジュール : mod_rewrite, mod_headers
PHP モジュール : mbstring, pdo_mysql
※ IIS、Nginx 上でも動作する可能性はありますが、サポートしておりません。
結果、この記事とは別に記した2つの環境設定と、iroha Boardの設置で動作させることが出来ました。これでじっくりと動作(機能)検証にとりかかれます。
Apache2の環境設定(mod_rewrite,mod_headers)
iroha Boardのインストール要件で、mod_rewrite、mod_headersの2つのモジュールが使用できることとありますので、インストール後のApache2を確認してみたのですがモジュールが組み込まれていませんでした。
/etc/apache2/mods-enabledを確認してみるとわかりますが、mod_rewrite、mod_headersがありません(つまりロードされていません)。
コマンド操作でもわかるのですが、直接ファイルを確認する方法を紹介しました。(結局この後でコマンドは使うんですけどね・・)
Apache2にモジュールのロード
モジュールをロードするには、sudoでa2enmodしてやる必要があります。ここはやっぱりコマンド操作した方が良いので、ターミナルから実行します。
~$ sudo a2enmod rewrite
~$ sudo a2enmod headers
その後で、Apache2をリスタートする必要があります。
~$ systemctl restart apache2
ターミナルからコマンドを使ったので、ついでにモジュールのロード結果もコマンドでやってみます。
~$ sudo apache2ctl -M
Apache2に組み込まれたモジュールが表示されます。grepなどで抽出しても良いですが、大した数では無いので目で追えるでしょう。
参考までに付け加えておくと、モジュールを外したい場合は、a2dismodを使います。
a2enmodはenableする意味で、a2dismodはdisableする意味だと思われます。興味のある人は翻訳ツールなどで単語を和訳してみてください。
iroha Boardをダウンロードして設置する
iroha Boardの公式サイトに行って、アプリのzipファイルをダウンロードして来ます。
zipファイルを展開して、ファイルの実体をコピーで、/var/www/htmlにコピーします。テストに使った既存ファイルはバックアップしておくか、リネームして被らない様にしておくと後から戻せます。
構成ファイルには、「.htaccess」が含まれています!
「表示」−「隠しファイルを表示」にレ点を入れて見える状態にして、間違いなく「.htaccess」もコピーしてください。この部分は見落としがちです。(私自身トラップにハマりました)
iroha Boardのプログラムを/var/www/htmlに配置した場合、プログラム自身によって/var/www/html/app/内にtmpフォルダを作ってそこにログなどを残す仕様の様です。パーミッションを確認したところ、想定通りになってなかったので、app内にwww-dataグループ(Apache2)が書き込み権限を持つ様にプロパティから設定変更しました。
ファイルの所有者は自分にしておいた方が便利だと思うので、敢えてwww-dataにしていません。環境が完成したらコマンド一発、www-dataにしておいた方が良いかも知れませんね。
Linux Mintの場合は、下図の様にフォルダを右クリックしてRootとして開くとすれば、権限昇格(sudo権限)で開いて操作が出来ますので、コマンド操作が苦手な人でもなんとかなります。特権での作業はリスクも伴うので、作業が終わったら速やかに閉じましょう。
iroha Boardのデータベース接続情報を記述
iroha Boardのプログラムが、データベース(MariaDB、MySQL)に接続するために必要な情報を記してやる必要があります。テキストファイルで「/var/www/html/app/config/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再起動を実行します。
~$ sudo systemctl restart apache2
これで準備は整ったので、Webブラウザを起動してインストール画面にアクセスします。
http://localhost/install/
Code language: JavaScript (javascript)
初期の管理者ユーザーを設定します。
最初のユーザー(管理者)なのでこの画面を使うのは一回こっきりになります。
無事に管理者としてログインできました。
ちょっと使ってみた感じだと、管理者(教師)、ユーザー(生徒)という感じの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ポートだけ通す様に設定しました。
固定IPにしておいて、LAN内部のWindowsパソコンとスマートフォンからIP直打ちでアクセスしてみましたが良好です。DNS等の名前解決出来る環境があるならそれを使うのも良いですし、台数が限られるならHOSTSに書いて名前解決するのもアリでしょう。
iroha Boardの機能仕様的にシンプルな感じで、限られた機能ながらこれで満足出来るなら、一般的なレンタルサーバーでも十分動作するんじゃないかなという印象です。これは1クラスの人数が30名程度で数クラス程度の学校で使用するにはアリかもしれませんね。
但し感じたのは、教師一人で受け持つ生徒の数が増えると、管理機能が弱いので教師が大変そうです・・
まだ使い込んでないので感覚的な感想で申し訳ありませんが、生徒一人づつの学習状況を確認していく感じのUIしか用意されていない様に見受けられます。(一覧表的なレポートや集計機能が無さそう)
このあとは
既に基本的な環境(Apache、PHP、MySQL(MariaDB)、phpMyAdmin)はセットアップ出来たので、もう一つ試してみたいLMSである「Moodle」のインストールについて、後日また別途のエントリーとして投稿する予定です。
コメント
[…] Jw_cad 現在担当している職場では、Jw_cad(ジェイダブリュー・キャド)を使うのが基本ルールになっているので、AutoCAD育ちな私ですが頑張ってJw_cadを覚えることにして取り組んできました。そろそろ一年経つのでそれなりにJw_… 2018.07.01 2024.09.15PCWindowsお仕事ソフトウェアツールレビュー スポンサーリンク OSSのWebアプリの検証環境(Apache、PHP)~Linux Mint22で行うことにした e-ラーニングシステム・イロハボード(iroha Board)CMSをLinux Mint22で動かす […]
[…] 知人からWeb系の作業依頼がありました。この知人は気の合う仲間を集めて会社を立ち上げて一年が経過したのですが、なんとか一年やってこれたことから積極的に仕事を取りやすくするためにWebを活用したいという考えがある様です。 Web系と言っても色… 2024.07.07 2024.08.18LinuxPCWindowsオープンソース系 スポンサーリンク e-ラーニングシステム・イロハボード(iroha Board)CMSをLinux Mint22で動かす […]