LoginSignup
2
1

More than 3 years have passed since last update.

小型LMS irohaboardをIIS上で動かす

Last updated at Posted at 2021-04-02

概要

小型LMSであるirohaboardは手軽なeラーニングシステムとして、ときどき利用させていただいている。
v.0.10.3からはCakePHPも内蔵されて、ほぼ設置するだけでインストールが終わるPHPの良さをいかした改善がなされている。
基本的にはapacheがサポート対象ということだったが、どうしてもIISを使わないといけないケースがあったのでgithub上で質問したところ設定方法を教えていただいたので、メモの共有。

IISの準備

URLリライトモジュールの準備

別途ダウンロード&インストールが必要。
https://www.iis.net/downloads/microsoft/url-rewrite の下のほうにある Download URL Rewrite Module 2.1 よりJapaneseのインストーラを利用した。

ググって調べたページ類だとバージョン違いのせいかURL rewriteというアイコンだったが、「URL書き換え」という名前で追加されていた。

PHPのインストール

  1. ZIPファイルで提供されているPHP7.4をダウンロードする。Non-Thread-SafeことNTS版を選択する。
  2. リンク先にあるようにアーカイブを展開後、コマンドプロンプト上で実行できるか確認し、VCランタイムが必要といわれたら、そちらも併せてインストールする。
  3. IIS でハンドラマッピングを追加する
    • 要求パス *.php がきたとき、FastCGImodule で、php-cgi.exe が実行されるように設定
  4. IISマネージャで「既定のドキュメント」にindex.phpを追加。
  5. 定番の動作確認
test.php
<?php
phpinfo();

irohaboardのインストール

※事前に接続先mysqlなりmariadbなりの設定は済ませておく

ファイル設置

今回は /apps/irohaboard という場所にした(d:\inetpub\wwwroot\apps\irohaboard)。
該当場所にirohaboardのアーカイブを展開。

上記例でいうところの d:\inetpub\wwwroot\apps\irohaboard の場所に、次の内容で web.config ファイルを設置。

web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Rewrite requests to test.php" stopProcessing="true">
                    <match url="^test.php(.*)$" ignoreCase="false" />
                    <action type="Rewrite" url="app/webroot/test.php{R:1}" />
                </rule>
                <rule name="Exclude direct access to app/webroot/*" stopProcessing="true">
                    <match url="^app/webroot/(.*)$" ignoreCase="false" />
                    <action type="None" />
                </rule>
                <rule name="Rewrite routed access to assets (img, css, files, js, favicon)" stopProcessing="true">
                    <match url="^(img|css|files|js|favicon.ico)(.*)$" />
                    <action type="Rewrite" url="app/webroot/{R:1}{R:2}" appendQueryString="false" />
                </rule>
                <rule name="Rewrite requested file/folder to index.php" stopProcessing="true">
                    <match url="^(.*)$" ignoreCase="false" />
                    <action type="Rewrite" url="index.php" appendQueryString="true" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

DB接続先設定

app/Config/database.phpを適宜書き換える

インストーラを起動

あとは通常どおり /install にブラウザからアクセスすればセットアップ画面になるので、指示にしたがい初期設定。

まとめ

irohaboardはCakePHPベースなので、そちらを参照すればよかったらしい。
- CakePHP2 URLリライティング 「IIS7 (Windows ホスト) での URL 書き換え」

apache用の.htaccessは /, /app, /app/webroot にあるので、IISでも同様に読み替えればよいのかとおもったが、/ 相当の場所のみの設定でOKだった。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1