うちには子供がいないので、今どきの学校教育の環境はわからないですが、大学なんかではe-ラーニングシステムが採用されている事例が多いと聞きます。企業でも従業員の研修用に使われたりとしているみたいです。
嬉しいことにOSSのe-ラーニング用CMSが無償で公開されているので、検証してみることにしました。デモサイトはあるのですが、あくまでも学生(受講者)側の操作に限定されるので、出来ること出来ないことを検証する目的では使用出来ませんでした。
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)が書き込み権限を持つ様にプロパティから設定変更しました。
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)
という感じで別れている様です。後は納得行くまで機能検証を行えます。
最後に
Intel Core2Duo Mem:8GBという、古いノートパソコンにLinux Mint 22をインストールして、Apache2、PHP8.3、MariaDB(MySQL)、phpMyAdminをセットアップし、iroha Boardを設置しましたが、思いの外サクサク動いてくれる感じです。動作の遅さは感じません。
固定IPにしておいて、LAN内部のWindowsパソコンとスマートフォンからIP直打ちでアクセスしてみましたが良好です。DNS等の名前解決出来る環境があるならそれを使うのも良いですし、台数が限られるならHOSTSに書いて名前解決するのもアリでしょう。
iroha Boardの機能仕様的にもシンプルな感じで、限られた機能ながら、これで満足出来るなら、一般的なレンタルサーバーでも十分動作するんじゃないかなという印象です。これは1クラスの人数が30名程度の学校(教室)で使用するにはアリかもしれませんね。
このあとは
比較検証のため、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で動かす […]