2002/07/01
サーバと奮闘の話5
続きです。
起きてから、しばらく娘の相手をしてからサーバルームに篭り、再びSSI/CGIに挑戦。SSIが動かなかったのは、SSI用のモジュールが追加されていなかったためと判明し、それを追加、なんとか動くようになりましたが、CGIがどうしても動きません。どういうこっちゃねんと思いながら、日曜日は娘と外出の予定があったため、とりあえず動いてると勝手に納得して時間切れで諦めます。さて、夜にもう一度エラーログを確認すると、「httpヘッダが吐き出されなかったエラー」でしたので、FAQを漁ると、改行コードが違うだの、コンテンツタイプを書いてないだの、Perlの位置が違うだのと書かれてありましたが、さすがにそこまでなミスはしていません。原因不明のまま、やはり時間切れ。朝、会社に行く前にスクリプトをもう一度確認してみると、CGIが動いているじゃないですか。ホームページだけは・・・。ホームページに置かれたCGIだけは動作し、ユーザ下のディレクトリにあるCGIは、まったく動かないという怪現象です。同じCGIでも、場所によって動いたり動かなかったりするのです。会社から帰ってきても、サーバの設定を続けていましたが、ついにわかりません。こうなったら最終手段です。2ちゃんねるのLINUX板に質問しました。1分後に付いたレスにより、原因判明。suexecのせいだったのです。suexecというのは、スクリプトをユーザ権限で動かすようにするライブラリモジュールで、これを使うとCGIをユーザ権限で動かせるためセキュリティレベルが上がるのですが、逆に言うとユーザ権限と異なるユーザの作ったスクリプトは実行されないのです。本来、suexecは標準では実行されないはずなのですが、debianは標準で有効になっており、そのために長時間、はまっていたのでした。結局、suexecをリネームしたところ、全てのスクリプトが復帰、現在に至ったわけです。
次のサーバはsolarisの予定なので、今から練習しておかないと・・・。
前 後
Topへ