夢幻泡影 - 源本舗

趣味の日記

 
 しょぱん復活奮闘記 vol.4
2012年08月28日(Tue)
サイト

土曜の晩、形だけでもサイトを移転してしまおうと、ファイルのコピーを決行。
CGIのパーミッションも設定し、LAN内からこの日記の動作を確認し就寝しました。


翌日、出先から動いているか確認してみたら、見事にアクセスできない状態に。
やきもきしながら日曜一日を過ごし、晩に帰宅してからチェックしたところ…
ルータのバーチャルサーバ機能の設定を旧サーバのIPから変更した後、リブートしていなかったという…(爆)
ちなみにバーチャルサーバ機能は、特定のポートへのWANからのアクセスを、設定したIPへと転送する機能。
静的(スタティック)ネットワークアドレス変換とも。
今度は念のためにプロキシサーバを経由して、ちゃんとWAN側からアクセス出来ることを確認。


これで一段落かと思いきや…
Apacheに設定した2つのバーチャルホストの内、この日記しかアクセス出来ない状態になっていました。
このバーチャルホスト機能により1つのサーバ上で、複数のサイトをそれぞれ別のURLで設置できるのですが…
もう一つのアドレスにアクセスしても、この日記が表示されてしまいます。
プロキシを経由しても、hostsファイル(C:\windows\system32\drivers\etc\hosts)にIP記述をしてアクセスしてもやはり同じ。


試行錯誤すること1時間あまり。
設定ファイル(httpd.conf)の、VirtualHostの位置を入れ換えたら、何故かちゃんと認識するように。
その後は、位置を戻しても問題無くアクセス出来ました。
う〜ん、なんだったんだろ?


しかし、まだ問題は解決していません。
日記ではちゃんとCGIが動いているのに、もう一つのサイトではCGIが動かない状態。
Apacheのログは「(2)No such file or directory: exec of '○○.cgi' failed」。
そんなファイルは無いよ!って事ですね。
もちろんファイルはありますし、Perlのパスもきちんと設定しています。


Apacheの設定がいけないのかと思い、httpd.confとにらめっこ。
と、色々と調べているとPerlのパスの後ろに「--」をつけると良いという情報が。
(「#!usr/bin/perl --」←こんな感じ)
試してみると…なるほど、確かに動きました。
何故だろう?と調べたところ、どうも文字コードが関係しているらしい。
FTPツールにはアスキーファイルをアップロード・ダウンロードする時、サーバにあわせて文字コードを変換する機能があるのですが…
これが上手くいかなかった様ですね(^^;
日記の方は「nicky!」の説明上、全てバイナリで扱っていたので余計な変換をせずに済んでいた模様。
結局、まだ入手できるCGIは再ダウンロードし、最初から設定し直したところ問題無く使えました。


これで、なんとか一段落と言うところでしょうか。
細かいところを挙げれば、FFFTPで所有者が名前でなく数字(UID)で表示されたりというのもありますが、そこいらへんは追って調べてみるつもりです。

名前  URL 

よろしければ『書き込み』ボタンをクリックしてください(戻る