BBClone導入

参考ページ

出会い

アクセス解析にはいろいろな手段があるが、

  • できれば自前で。
  • PHPのみで動く(なぜなら、meteora.ucsd.eduはMySQLサーバではないから)
  • 検索ワード上位とか、そこそこ詳細に。
  • wikiページ毎で集計。
  • コードの挿入は一度きりで。

という条件を満たすものはあまりない。たとえば、

てな具合。 そんな中、出会ったのがBBClone。上記の参考サイト情報でpukiwikiへの導入例もあったので、うまくいきそうです。

手順

1. http://bbclone.de/download.phpから最新版をダウンロード

2. Webサーバの自分のディレクトリにコピー (たとえば~/http/bbclone)

3. 権限変更

$ chmod -R o+w bbclone/var

4. lib/pukiwiki.php書き換え (http://memo.dw.land.to/prog1/access_analysis.phpからほぼ転載)

まず、ソースの先頭は、先頭のコメントの後に挿入します。

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details. 

$useragent
 = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';

if (! defined('DATA_HOME')) define('DATA_HOME', '');

そして、末尾は以下の通りです。

// Output
catbody($title, $page, $body); 

$ua = 'HTTP_USER_AGENT';
${$ua} = $useragent;
$_SERVER[$ua] = $useragent;
$HTTP_SERVER_VARS[$ua] = $useragent;
$ua = $useragent; 

define("_BBC_PAGE_NAME", $page);
define("_BBCLONE_DIR", "bbclone/");
define("COUNTER", _BBCLONE_DIR."mark_page.php");
if (is_readable(COUNTER)) include_once(COUNTER);

exit;
?>

5. 自分のサイト訪問後、URL/bbcloneでチェック。

注意点

通常版を導入すると、検索キーワードが日本語のときに???が出てしまった。UTF8版を導入するとうまくいった。なのでhttp://meteora.ucsd.edu/~kyoshimura/bbcloneはUTF8版。