【ハウツー】

手軽にFAQシステムを構築"phpMyFAQ"

1 phpMyFAQとは

    富田宏昭  [2006/08/23]

    The phpMyFAQ teamは18日(ドイツ時間)、いくつかのバグを修正したphpMyFAQ 1.6.4をリリースした。このリリースでは、日本語の翻訳版もアップデートされている。本稿では、誰でも簡単にWebベースのFAQシステムを構築することが可能だとされているphpMyFAQを紹介する。phpMyFAQはその名のとおり、PHPで開発されている。

    phpMyFAQはMozilla Public License version 1.1のもとで公開されているオープンソースソフトウェア。PHPで作成されており、検索やRSS配信などの実用的な機能も搭載している。データベースにMySQLを採用しているが、PostgreSQLやFirebirdを使用することもできる。

    PHPとデータベースの環境さえ構築しておけば、すぐにインストールして使用することができる。また、phpMyFAQは複数の言語に対応しており、日本語のメッセージもデフォルトで表示することができる。

    phpMyFAQの必要動作環境は次のとおり(抜粋)。

    • PHP 4.1.0以降
    • Apache 1.3.xやIISなどのWebサーバ
    • MySQL 4.1.xやPostgreSQL 7.4.xなどのデータベースサーバ
    • 正しいアクセス権設定

    PHPにはここで紹介するphpMyFAQのように、簡単にデプロイできてすぐに使いはじめることができるプロダクトが多い。ためしにここではMySQL 4.1.21とPHP 4.4.2を使用して、実際にphpMyFAQ 1.6.4を動作させてみた。ここでの詳細な動作環境は次のとおり。

    • OS: Microsoft Windows XP SP2
    • Webサーバ: Apache/2.0.59 (Win32)
    • PHP: Version 4.4.2
    • DB: MySQL 4.1.21

    現行のPHPは5系が最新であり、現在次期バージョンとして6系の開発が進んでいる。しかし、実際に現場で採用されているバージョンには依然として4系が多い。4系と5系でいくつかの仕様変更がおこなわれているため、移行できないデベロッパが多いとみられている。ここではそうした事情を鑑み、4系でシステムを構築してみた。なお、4系はすでに基本的にセキュリティフィックスやバグフィックス以外の更新はおこなわれていない。

    事前準備から実際に動作させるまで

    MySQLは4.1以降、パスワードの仕様が変更されている。そのため、PHP 4系と連携させる際には注意が必要だ。MySQLのパスワードの仕様を変更前に戻して動作させるには、my.iniの[mysqld]内に次の文を追加する。

    [mysqld]
    old-passwords

    次に、既存のユーザのパスワードをOLD_PASSWORDを使用して、4.1以前のパスワードを生成する。

    mysql> SET PASSWORD FOR (ユーザID) = OLD_PASSWORD(パスワード);

    上記の設定で、PHP 4系とMySQL 4.1.xを連携させることができるようになった。

    続いて、phpMyFAQで使用するデータベースを作成する。ここでは「phpmyfaq」というデータベースを作成する。

    mysql> create database phpmyfaq

    ここまで来たら、次はいよいよアプリケーションを配置して動作だ。

    新着記事

    特設サイトの情報

      人気記事

      一覧

        イチオシ記事

        新着記事

        特別企画

        マイナビニュースマガジン