アクセス解析の設定 (ToraToraWikiManual/ja/Administration/Analyzer)
このページはWebサーバーの管理者でOSの操作に慣れている方を対象としています.
ToraToraWikiではWebサーバーのアクセスログを集計することで, アクセスカウンターや人気のページ の機能を実現しています. そのため,これらの機能を使用する場合は, 一定の間隔でアクセスログを集計するスクリプトを実行させる必要があります.
集計スクリプト
集計するスクリプトは以下のように使用します.
$ php <install dir>/app/tool/analyze_weblog <path to index.php> <URL> <path to resume file> <log file>
- <install dir>
- ToraToraWikiをインストールしたディレクトリ
- <path to index.php>
- サイトのindex.phpへのパス(すなわちサイトの設定ファイル)
- <URL>
- サイトのURL
- <path to resume file>
- 再開情報ファイルへのパス. 存在している必要はありませんが,このファイルを作成,書き込みできる権限必要です. このファイルはどのアクセスログをどこまで集計済みなのかが記録されています. 消してしまったり,別のファイルを指定して集計すると二重カウントになる恐れがあります.
- <log file>
- Webサーバーのアクセスログへのパス. 現在対応している形式はcommon, combinedとこれらの先頭にバーチャルホストのホスト名をつけた形式です. 再開情報ファイルをもとに前回集計した箇所まで読み飛ばして集計を行いますので同じログファイルに対して何度実行されても 二重カウントにはなりません. ログファイルは必ず相対パス,絶対パスどちらか一方をで指定して使用して下さい. このスクリプトはパスが異なると違うログファイルと認識して,二重カウントしてしまいます. 前回の集計と比べてinode番号が変わっていたり,ファイルサイズが小さくなっている場合はログがローテーションされたと認識し, ファイルの最初から集計を行います. もし二重カウントされてしまう場合はログのローテーションのタイミングで再開情報ファイルを削除するとうまくいく可能性があります.
スクリプトはToraToraWikiのディレクトリへの書き込み権限とアクセスログの読み込み権限を持ったユーザーで実行して下さい.
アクセスログが残っている場合に限りますが,もし二重カウントしてしまった場合は
$ php <install dir>/app/tool/analyze_weblog <path to index.php> <URL> <path to resume file> --delete-all
を実行するとすべての集計結果と再開情報ファイルが削除されますので,最初から再集計を行うことができます.
スクリプトを一定の間隔で実行させる
自動で実行させる前に手動でコマンドを実行し,問題がないか確認しておくことをおすすめします.
例えばcronを使用して10分間隔で実行する場合,crontabに以下のような設定をします(ユーザーの権限に注意).
# ToraToraWikiアクセスログ集計 */10 * * * * php /var/www/toratorawiki/app/tool/analyze_weblog /var/www/html/index.php http://example.jp/wiki/ /var/www/toratorawiki-resume.txt /var/log/httpd/access_log >/dev/null 2>&1
集計の結果
集計の結果は,管理ツール -> アクセス解析で確認できます.