WindowsにsqliteでFAQサイト(phpMyFaq)を構築する


インストール環境

今回は以下の環境にphpMyFaqをインストールする手順を紹介します。

  • OS:Windows10
  • IIS:10.0
  • PHP:7.3
  • phpMyFaq:2.9
  • SQLite:3.30

事前作業

以下の作業は完了しているものとして説明を割愛します。
調べればいくらでも手順が見つかるので…

  • IISのインストール、およびCGIの有効化
  • PHPのインストール、php.iniの作成
  • SQLiteのインストール、パスの追加

手順

php.iniの設定変更

phpMyFaqを使用するために設定を変更します。
拡張モジュールの追加と、phpMyFaqインストール時に実行するセットアップスクリプトがタイムアウトしないようにするための設定を変更します。
処理がタイムアウトしてしまうとインストールが中途半端な状態で終わってしまうため、作業をやり直す羽目になります…注意してください!

■既存設定の変更(10時間に変更)
max_execution_time = 36000

■コメントアウトしている箇所を有効化
extension_dir = "ext"
extension=curl
extension=fileinfo
extension=gd2
extension=pdo_sqlite
extension=sqlite3

phpMyFaqをダウンロードして、IISの公開ディレクトリに展開する

公式サイトからzipファイルをダウンロードします。
zipファイルは解凍してリネームします。以下の手順では"faq"というフォルダ名に変更したことにします。

IISの公開ファイルを保存しているフォルダ(デフォルトではC:\inetpub\wwwroot)にリネームしたフォルダを移動します。
phpMyFaqのセットアップスクリプトがフォルダ内のファイルを変更するので、アクセス許可の設定は緩めにしておくとトラブルがなくて済むと思います。

faqフォルダ内に空のフォルダを追加する

faqフォルダ配下に下記のフォルダを作成します。

  • images
  • attachments
  • data

IISマネージャからphpのモジュールマップの追加

IISマネージャを起動します。
すでにIISでPHPが実行可能な状態であれば、この項目はスキップしてください。
左ペインにあるツリーから、サーバ名 > サイト > faqの項目をクリックして、中央ペインにある「ハンドラーマッピング」をダブルクリックします。
右ペインにある「モジュールマップの追加」をクリックして、以下のように設定します。


実行可能ファイルのパスはphpをインストールしたフォルダを指定してください。
名前は適当でOKです。

IISマネージャからFastCGIの設定を変更

左ペインのサーバ名の項目をクリックして、中央ペインの「FastCGIの設定」をダブルクリックします。
先程追加したphpの項目が追加されているのでダブルクリックして、"アクティビティタイムアウト"と"要求タイムアウト"の設定を36000(10時間に変更)にします。

SQLiteのデータベース作成

コマンドプロンプトを起動して、データベースを作成するフォルダに移動します。
sqliteコマンドを実行して、データベースファイルを作成します。

管理が面倒だったので、phpMyFaqのアプリケーション配下に"phpmyfaq.sqlite3"というファイル名で作成しています。
ファイルの置き場所としてはセキュリティ上あまり良くないと思います…
インターネットに公開するサイトにする場合は注意してください。

cd C:\inetpub\wwwroot\faq
sqlite3 phpmyfaq.sqlite3

ここで作成したデータベースファイルはphpMyFaqのセットアップ時に入力するので、フルパス(C:\inetpub\wwwroot\faq\phpmyfaq.sqlite3)をメモしておいてください。

初回セットアップスクリプトの実行

phpMyFaqのトップページ(http://localhost/faq)にアクセスして、セットアップスクリプトを実行します。
SQLite database fileのデータベースファイルは先程作成したものを指定します。
phpMyFAQの設定は適宜入力してください。
また、LDAPのモジュールがphpで読み込まれているとLDAPの設定項目が表示されます。

ここまでできたらあとはインストールボタンを押すだけです。お疲れ様でした!