Personal tools
You are here: Home コラム 技術コラム phpMyFAQの設定方法
Document Actions

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ファイルを編集すれば、日本語化・メッセージの編集などができます。


Copyright(C) 2001 - 2006 Ariel Networks, Inc. All rights reserved.