当サイトはスタードメインにオマケで付いている無料レンタルサーバーで運営しているが、人気記事のウィジェットを作りたくなったので何とかしてアクセスログを取得したい。
設定してみる
サーバー管理ツールにログインすると [ログファイル] という項目があり、[保存期間設定] で 1 週間から 10 週間までを選択できるようになっているので早速設定してみる。
簡単にアクセスログが取得できるんだなー、スタードメインのオマケの無料レンタルサーバーってすごいんだなーと思うじゃん?
そんなに甘くなかった。
調査してみる
ワンポイントマニュアルによると、
「ホームページ > FTPアカウント設定」より、「/home/サーバー ID/ドメイン名/log/」にアクセス可能な FTP アカウントを用意し、FTP ソフトを用いてダウンロードを行ってください。
このような記載があり、FTP 接続でログファイルのダウンロードが可能となっているらしい。
FTP でログファイルをダウンロードできるなら、ローカルから cron などで定期的にログファイルを取得して記事ごとのアクセス数を調べられそうだ。
なるほど、FTP ソフトで初期アカウントを使って接続しても public_html 配下しかアクセスできないようになっているので、説明のとおり、log 配下にアクセスするための FTP アカウントを別途作成すれば良いんだな。
と思うじゃん?
無料レンタルサーバーは FTP アカウントの追加ができない。
対策してみる
FTP が使えないなら PHP を使えばいいじゃない。
PHPforeach (glob('/home/サーバー ID/ドメイン名/log/*') as $i) {
if (is_file($i)) {
$g = gzfile($i);
foreach ($g as $s) {
echo $s;
}
}
}
確かに log 配下に gz 形式でログファイルが出来ていた。それを適当に展開して表示してみるとうまくいった。
結論
無料レンタルサーバーのサービスは素晴らしい。