【CGI】人気記事ランキングとCRON設定
人気の記事をランキング形式にて、ブログ上へ表示を行ないたいので
いろいろと調べました。
あれやこれやとありましたが…
設置の仕方がよく分らない。
ガーん。
説明を読んで分りそうなものを探し続けました。
そのなかでも
「人気ページ一覧/リンク元一覧」Version 0.3
というものが簡単そうでしたのでインスコしました。
説明書に言われるがまま、設定しました。
が、ランキング表示がされません。
「更新は、update_statistics.cgi を起動することで実行できます。」
とあるので、起動してみましたが、エラーが発生!
分らない。
説明書の下の方に
「また、ブラウザから http://サーバ/cgi-bin/update_statistics.cgi?dummy
のようにダミーパラメタを付加した URL を叩くと手動更新ができます。」
なるほど、叩いてみました。
その後、ランキングを表示させると表示されました。
しかし、トップページもカウントされるので、頭でっかちな数値になります。
説明書を読みましたが、それを除外する方法がわかりません。
いちいち、ダミーパラメーターを手動で叩くのも面倒だし。
「cron を設定するのがよいです。
私は以下のようにしています。
$ crontab -e
1,31 * * * * cd /path/to/cgi/dir;./update_statistics.cgi」
これまた、意味が分らん。
とりあえず、XREAのcron設定で、update_statistics.cgiを叩くように設定。
エラーで返ってきます。
調べると
XREA管理画面でのCRON設定で直接perlを動かすことはできません。
直接叩くことは出来ないようです。
そこには、まずshellを指定します。
例えば、/virtual/username/cron-1.sh
中身は/virtual/username/cron_exe.pl
また、エラーが返ってきます・
どうやら、cgiの中で指定しているファイルが見つからないようだ。
絶対パスですべて書き直してみました。
update_statistics.cgiの4行目の
require '/ref.pl’;
ref.plの39行目
# アクセス元統計情報ファイル置き場のディレクトリ
$dir = 'data/’;
の2つを絶対パスで書き直しました。
どうやら、これで自動更新されるようになりました。
プログラムの意味が何を意図としているのか分かりませんが
取り敢えず、動いているようなので良しとしよう。
何かおかしいところがあればコメントをください。