アクセス解析ソフトをStatTraqとかmoguraとか色々と試してみたんですが、どれもうまいこといかないんですよね…
おそらく、当サイトの設定環境が悪さをしているようなのです。
当サイトの環境:
WordPress のアドレス:http://example.com/wordpress
ホームページアドレス:http://example.com
のように、wordpressのインストール先と、ブログのURLを別けているのですが、
どの解析ツールを使っても、取得されたログのURIが/index.phpとなってしまうのです。
これでは、解析できませんT_T
(解決策をご存知の方いませんかー?)
というわけで、生ログを使って解析するAWStatsを導入する事にしました。
ちなみに、さくらにはデフォルトでWebalizerによるアクセス解析がついてます。
では、当サイトでの導入手順を説明します。
現在の最新バージョンは日本語対応してるそうなのですが、
今回は、ここで公開されているAWStats 6.6完全日本語版を使う事にしました。
※説明中に[example][example.com]のと表記されている部分については、ご自信の環境に合わせて読み替えてください。
[example.com]→ドメイン名
[example]→さくらのアカウント名
■上記サイトより[AWStats66_Jpn.tar.gz]をダウンロードして解凍します。
いっぱい展開されますが、とりあえず使うのはcgi-binフォルダとiconフォルダのみです。
※厳密にはtoolsの中のプラグインも1つだけ使います。
□ AWStats66_Jpn
├ □ docs
├ □ tools
├ □ wwwroot
│ ├ ■ cgi-bin
│ │ ├ awredir.pl
│ │ ├ awstats.model_en.conf
│ │ ├ awstats.model_jp.conf
│ │ ├ awstats.pl
│ │ ├ utf8_decode.pl
│ │ ├ □ lang
│ │ ├ □ lib
│ │ └ □ plugins
│ ├ □ classes
│ ├ □ css
│ ├ ■ icon
│ └ □ js
├ awstats.cron
├ README.TXT
└ READMEJ.txt
■解凍後、まず以下のファイルをリネームします。
awstats.model_jp.conf
↓
awstats.example.com.conf※自分のドメイン名に書き換えます。
■[awstats.example.com.conf]を編集します。
- 生ログのパスを指定
55行:LogFile="/var/log/httpd/mylog.log"
↓
55行:LogFile= "/home/example/log/access_log_%YYYY-0%MM-0%DD-0"※exampleの部分はさくらのアカウント名に置き換えてください。
- ドメイン名の指定
167行:SiteDomain=""
↓
167行:SiteDomain="example.com" - 実行ファイル(本体)を設置するディレクトリを指定
232行:DirCgi="/cgi-bin"
↓
232行:DirCgi="/awstats" - 画像等を格納したフォルダのパスを指定。
243行:DirIcons="/icon"
↓
243行:DirIcons="/awstats/icon" - タイトル名取得の為のプラグインの有効化
1494行:#LoadPlugin="urlalias"
↓
1494行:LoadPlugin="urlalias"※コメント[#]を取ります。
以上、設定が終わったらファイルを保存してテキストエディタを終了します。
■タイトル取得プラグインスクリプトの修正
対象ファイル:[AWStats66_Jpn\tools\urlaliasbuilder.pl]
- [Jcode]の追加(タイトル文字化け回避の処置)
use LWP::UserAgent;の記述を探して、次の行に[use Jcode;]を追加
↓use LWP::UserAgent;
use Jcode;次に以下の記述を探して
my $newAliasEntry = &Generate_Alias_List_Entry($newAlias);
$fileOutput .= $newAliasEntry . "\n";この2行の間に、
[Jcode::convert(\$newAliasEntry, 'utf8');]を追加
↓my $newAliasEntry = &Generate_Alias_List_Entry($newAlias);
Jcode::convert(\$newAliasEntry, 'utf8');
$fileOutput .= $newAliasEntry . "\n"; - [awstats.example.com.net.conf]で用いたドメイン名を指定
# you can set this manually if you will only grep one site
my $SITECONFIG = "example.com"; - ファイル転送先の絶対パスを指定
# Where the default input is located.
my $awStatsDataDir = "/home/example/www/awstats";
以上で修正完了です。保存して終了してください。
■plファイルをcgiとして実行させる為に[.htaccess]を作成します。
AddHandler cgi-script pl
この1行を追加して、ファイル名[.htaccess]として保存終了。
これで、転送準備完了です。
■FTPソフトで、以下のようにファイルを転送します。
まず、wwwの直下にフォルダ[awstats]を作成します。
/home/example/www/awstats
awstatsフォルダに
[AWStats66_Jpn\wwwroot\cgi-bin]直下のファイルを全て転送
[AWStats66_Jpn\wwwroot\icon]フォルダごと転送
[AWStats66_Jpn\tools\urlaliasbuilder.pl]このファイルを転送
転送後、各plファイルの属性を705または755に設定してください。
転送先の構造は以下のようになります。
□ home
└ □ example
└ □ www
└ ■ awstats
├ .htaccess
├ awredir.pl [705 or 755]
├ awstats.example.com.conf
├ awstats.model_en.conf
├ awstats.pl [705 or 755]
├ urlaliasbuilder.pl [705 or 755]
├ utf8_decode.pl [705 or 755]
└ ■ icon
転送作業が終わったら、以下のURLへアクセスしてください。
http://example.com/awstats/awstats.pl
※example.comは、あなたのURL
解析画面が表示されたらここまでの作業は成功です。
※まだログがないので、解析結果は出力されません。
■CRONの設定
- AWstats用ログ生成の準備
さくらのコントロールパネルから
[CRON設定ファイルの編集]→[新規項目の追加]で設定画面を表示します。
「実行するコマンド」に、以下のコードを入力してください。/home/example/www/awstats/awstats.pl -config=example.com -update
さくらサーバーでは、毎朝5時ごろにログの更新が行われてるので、
CRONの実行時間を6時に設定する事にします。
※各項目はサンプル画像と同じように設定して問題ありません。必要項目の入力が完了したら「送信する」ボタンで設定を完了してください。
- タイトル表示用のファイル生成
同じように、[新規項目の追加]で設定画面を表示します
「実行するコマンド」に、以下のコードを入力してください。/home/example/www/awstats/urlaliasbuilder.pl -site=example.com -urlaliasfile=/home/example/www/awstats/urlalias.example.com.txt
このCRONは、6時30分に設定してます。
※各項目はサンプル画像と同じように設定して問題ありません。
これで、全ての作業が完了です!
CRON実行後に[http://example.com/awstats/awstats.pl]へアクセスしてください。
解析結果が表示されていれば、OKです。
最後に注意点として、解析画面へのURLをたたけば、誰でもアクセス出来るので、必要に応じてベーシック認証などで、パスワードを設定しましょう。
追記
過去コメントでも記載しておりますが、シングル・ダブルクォーテーション「'」「"」などは、
Wordpressが自動で全角に変換してしまうため、そのままコピペしてもエラーとなります。
面倒ですが、適宜修正してください。
よろしくお願いしますm(_ _)m