アクセス解析

僕がアクセス解析をする時は、BBCloneをよく使っているのですが、今回はそれをPukiWikiに設置する方法です。
BBCloneは、PHPで書かれており、同じPHPで書かれているPukiWikiやNucleusなどから呼び出すことが出来ます。


まずはBBCloneのインストール方法からです。
http://bbclone.de/を開き、Downloadページを開いて下さい。
次のように3種類あると思いますが、圧縮形式が違うだけで中身は同じです。

bbclone-0.4.9b.tar.gz
1270067 bytes, last modified: Wed Aug 15 10:15:53 2007

bbclone-0.4.9b.zip
1814200 bytes, last modified: Wed Aug 15 10:21:43 2007

bbclone-0.4.9b.tar.bz2
1090757 bytes, last modified: Wed Aug 15 10:25:48 2007

ここにあるのはEUC版なので、UTF-8がいい場合は、[ utf8 ]を開いてそちらからダウンロードして下さい。

Directory [ utf8 ]
last modified: Mon Feb 26 11:59:16 2007

設置の仕方は簡単で、まず設定を変更します。
confフォルダの中のconfig.phpをテキストエディタで開いて、

$BBC_LANGUAGE = "en";

$BBC_LANGUAGE = "ja";

に変更します。
これで表示が日本語になります。
他の部分は、インストールが完了してから「設定」ページを見れば、現在の設定状況が分かるので、そこを見ながら変更するといいでしょう。

次にサーバにアップロードします。
BBCloneはPHPで呼び出すことになるので、呼び出し元となるPukiWikiと同じサーバにアップロードして下さい。

アップロードした後、パーミッションを変更します。
varディレクトリを777に設定し、その中のファイルを全て666に設定します1
このとき、.htalockに書き込み権限を与えないとエラーが出るので注意して下さい。

ここまで出来たら、呼び出す側の設定です。
今回はPukiWikiがターゲットなので、まずPukiWikiをインストールしてあるディレクトリに、bbclone.phpというファイルを作り、中に以下のように記述します。赤字で書いてある部分は、各自の状況に合わせて変更して下さい。

<?php
$page = $_GET['page'];
if (strlen($page) == 0) {
$req = $_SERVER["REQUEST_URI"];
$i = strpos($req, "?");
if ($i != FALSE) $page = substr($req, $i + 1);
else $page = "FrontPage";
}
$page = rawurldecode($page);
if ($_GET['plugin'] || $_POST['plugin']) return;
if ($_GET['cmd'] == "rss") return;
define("_BBC_PAGE_NAME", $page);
define("_BBCLONE_DIR", "bbclone/");
define("COUNTER", _BBCLONE_DIR."mark_page.php");
if (is_readable(COUNTER)) include(COUNTER);
?>

ここではページ名の取得を行い、BBCloneに渡しています。
RSSとプラグイン呼び出しまで記録されると面倒なので、その2つは省いています。
もしPukiWikiがEUCで、UTF-8版のBBCloneを使いたい場合は、

$page = rawurldecode($page);

$page = mb_convert_encoding(rawurldecode($page), "UTF-8", "EUC-JP");

のようにして、文字コードを変更するようにして下さい。

そして最後に、このbbclone.phpをPukiWikiのindex.phpから呼び出します。
index.phpの適当なところ(例えば<?phpのすぐ下)に、以下の1行を追加して下さい。

include('bbclone.php');

これで完了です。
インストールしたbbcloneディレクトリの中のindex.phpをブラウザから呼び出せば、統計結果がみられるはずです。

  1. .htaccessは644とかでもいいです

アクセス解析」への1件のフィードバック

  1. ゆうあん

    もしUTF-8版を使っていて、$BBC_LANGUAGE = "ja"; に設定しただけでは文字化けしてしまう場合は、language/ja.phpの文字コードをUTF-8に変換して下さい。

コメントを残す