phpMyFAQの設定方法
この文書は、アリエルの若き魔法使い、葛西さんによって書かれました。
phpMyFAQの設定に関するドキュメントです。
アリエルのトラブルシューティングのサイトはphpMyFAQに手を加えたものです。
以下、
1. インストール
2. 基本設定
3. 運用にあたっての実用的な設定
の順に紹介します。
1.インストール
必要な環境: Webサーバ(Apache1.3/2.0/IIS),php 4.1.0+,MySQL 3.23.23+ or 4.0.x
phpMyFAQは名前の通り、バックエンドとしてMySQLを使用しています。
phpMyFAQで指定されたバージョンをあらかじめインストールして、専用のユーザー、データベースを作成しておく必要があります。
mysqlを正しくインストールしてから、MySQLのユーザ・DB作成をします。
mysql> create database xxx(データベース名);
mysql> use xxx;
mysql> grant all privileges on xxx.* to 'yyy@localhost' identified by 'zzz';
mysql> flush privileges;
phpMyFAQのソース(zip)をダウンロード・解凍し、必要なファイルをwebサーバー(apacheを仮定します)にコピーします。
$ unzip phpmyfaq.1.4.4.full.zip
$ cp -a phpmyfaq.1.4.4.full /usr/local/apache/htdocs/phpmyfaq
phpが実行できることを確認してください。
ブラウザ経由でインストーラを起動します。(例:localhost)
URL: http://localhost/phpmyfaq/install/installer.php
この画面でMySQLのユーザーやデータベース名などを入力します。MySQLのユーザー権限を正しく与えていないとインストールに失敗します。
[インストーラ実行時の確認項目]
* MySQLのユーザー権限
* php実行環境の設定(Apache、phpのインストール、LoadModuleでの組み込みなど)
* phpMyFAQ関連ファイルのowner, group, permission
2.基本設定
http://localhost/admin/index.php
にアクセスして、インストール時点で入力したユーザーとパスワードを入力してます。
>構成編集(Edit configuration)
が基本的な設定になるのでタイトルなどを編集します。
3.運用にあたっての実用的な設定
* 全文検索の問題(日本語)
イ
ンストール後、そのままでは日本語のキーワード検索はできません。これはphpMyFAQの問題というよりもMySQLの問題です。MySQLは日本語に
は対応していますが、日本語の全文検索(fulltext
search)には対応していません。処理が遅くなりますが、日本語検索を利用したい場合には、
phpmyfaq/inc/function.php の
>function searchEngine($begriff)
のSQL(変数 $query)
// Search with MySQL 3.23.23+ $query = "SELECT id, lang, rubrik, thema,
content FROM ".SQLPREFIX."faqd ata WHERE MATCH (thema,content,keywords)
AGAINST ('".$begriff."') AND active = ' yes'";
または、
//
Search with MySQL 4.0.1+ $query = "SELECT id, lang, rubrik, thema,
content FROM ".SQLPREFIX."faqd ata WHERE MATCH (thema,content,keywords)
AGAINST ('".str_replace(" ", "* ", trim ($begriff))."*' IN BOOLEAN
MODE) AND active = 'yes'"; }
の部分を、like演算子を使って、
$query =
"SELECT id, lang, rubrik, thema, content FROM ".SQLPREFIX."faqd ata
WHERE thema like '%".$begriff."%' or content like '%".$begriff."%' or
keyword s like '%".$begriff."%' AND active = 'yes'";
などのように書き換える必要があります。
* 言語ファイルの問題
phpMyFAQは多国語対応になっています。ブラウザの言語の設定に応じて、その言語に対応したメッセージを表示します。内部的には、ブラウザの言語を見て、その言語を記憶したcookieを作っているようです。
日本語のみのサイトを作る際には、ブラウザの言語が"英語"でも日本語を表示する設定にするといいかもしれません。
> phpmyfaq/lang/language_en.php -> language_ja.php
のシンボリックリンクなどで設定可能です。
* レイアウト、表示項目の変更(css,html,js)
見
た目の設定を変更したい場合、phpmyfaq/template以下のファイルを変更します。ほとんどhtml/css/jsで書かれたテンプレートに
なっているので、そこに変更を加えます。投票機能や投稿機能などが不要な場合は、表示しないようにすることもできます。
{writeNews} {writeNumberOfArticles} などの部分には、自動的にhtmlが入ります。それ以上の細かい部分を変更するには、この場合writeNewsを呼び出している部分を探し、phpのソースを編集する必要があります。
* メッセージの変更
上
に挙げた"言語ファイル"には、(現状では全てではないですが)日本語化されたメッセージが書かれています。
このメッセージはテンプレートの中で置き換えに使われます。
language_ja.phpファイルを編集すれば、日本語化・メッセージの編集などができます。