01時17分10秒 [Web関連]
私のウェブサイトは、さくらインターネットのサーバで運営しています。
サイト内のあちこちに設置してあるアクセスカウンタは、にあ氏製作のnpc.cgiを使っています。色やフォントを変更できたり、桁数を指定できたり、アニメーションできたりと高機能です。
大変ありがたく使わせていただいているのですが、3月16日を境にまったく動作しなくなりました。直接CGIにアクセスしても「500 Internal Server Error」が出るのみです。最初は一時的な問題かと思っていたのですが、現在も同様のエラーが出てきます。
Apacheの生アクセスログを覗いてみたところ、npc.cgiの実行時には必ずエラーになっているようです。
これはおかしいぞ……と思って原因を考えていると、ふとあるアナウンスを思い出しました。
「さくらインターネット」で使われているサーバのOSは、従来はFreeBSD 6.1だったのですが、順次FreeBSD 7.1にアップデートされるというアナウンスが先月あたりに届いていたのでした。
早速サポート情報を見てみると、ビンゴでした。
私が使っているサーバでは、3月16日にOSのアップデート(やその他の機能強化)が行われていました。
→ 「さくらのレンタルサーバ」OSバージョンアップメンテナンスのお知らせ
このnpc.cgiは、よくあるフリーのCGIとは違って、PerlではなくC言語で書かれています。C言語なので、ソースの状態では実行できません。動作させるには各OS上でコンパイルして、実行ファイル(バイナリ)を生成する必要があります。
FreeBSD 6.1用のバイナリは、FreeBSD 7.1上では動作しないんですかね……?
もしそうだとしたら、動かなくなったのはOSのバージョンアップが原因ということになるのですが。
うーん。とすると、新OS上でコンパイルしないといけないのかな……?
今使ってるバイナリは、自分でコンパイルした記憶がないので、どこかで配布されていたFreeBSD用のバイナリを拾ってきてアップロードしたんだと思うのですが。
公式サイトで配布されているバイナリは、かなり古いFreeBSD用のしかないんですよね。私はどこで拾ってきたんだろう?(^_^;;;
SSHでサーバにログインして、自分でコンパイルって可能だったかな。どうだったかな。
……と思って検索してみたら、さくらインターネットっていつの間にか、npc.cgiを共通サービスとして提供していたんですね……。
→ 標準で使えるCGIカウンター npc.cgi
うーん。これを使えば、自分のスペース内に自力でバイナリを置いたり設定ファイルを作らなくてもいいんですね……。
これは、自分で作った設定ファイルの参照とかは可能なのかな……?
あ、でも、これを利用するとなると、アクセスカウンタを呼び出している全HTMLソースを修正しないといけないので非常に手間ですね……。^^;;;
……あー、自分のスペース内にあるnpc.cgiファイルを消して、そこへのアクセスを全部さくらインターネット提供のnpc.cgiのある場所にリダイレクトさせるよう.htaccessファイルを記述するという手もある……かな?(^_^;;;
んー、アクセスカウンタにアクセスされるたびにリダイレクトが発生するのはスマートじゃないか……。一時しのぎとしてはいいかも知れないけど。
んあー。今調べたら、さくらインターネットではコンパイラ(gcc)使用可能なようです。
なるほど。やっぱり自分でコンパイルしなさいってことですね。(^_^;;;
とりあえず今は忙しいので後日作業しよう……。
※SSHでサーバにログインできるのは契約コースがスタンダードプラン以上の場合のみです。月額125円のコースの場合は、バイナリを拾ってくるしかないですね。(私はスタンダードプランを契約しています。)
この日記へのコメントはお気軽に! コメント数:2件
ちこさん、どうもです。
コンパイルは実はとても簡単です。
npc.cgiの配布サイトからZIPファイルをダウンロードすると、srcフォルダの中にソースファイルが入っています。それを適当なディレクトリにアップロードしてから、Telnet(SSH)でサーバにログインして、「make」というコマンドを打てば、あとは勝手にコンパイルされてnpc.cgiが生成されます。
もしよろしければ、私がさくらインターネットのサーバ(FreeBSD 7.1)上でコンパイルしたnpc.cgiを差し上げても構いませんが。
投稿者 にしし : 2009年04月20日 17:15
コメント数: 2件
こんにちは。
私も今気づいたのですが、さくらでCGIが動きません。
さくらに問い合わせているのですが、返事もありません・・
それで、こちらにたどり着いたのですが、その後のコンパイルのやり方などをそちらのwebにアップされる予定とかはありませんか???
もし教えていただけるとうれしいのですが・・・
私はプログラム初心者で、Cは触ったことありませんので、すごく困っています。
投稿者 ちこ : 2009年04月13日 22:47