Linux で自宅サーバ [ Home Server Techncial ]

>>トップページに戻る

BBS 過去ログ No.0002に戻る

タイトル: CGIの漢字・改行コードについて
記事No: 603
投稿日: 2003/06/25(Wed) 21:48
投稿者: ぽじ
はじめまして、ぽじと申します。

RedHat9でWebサーバを構築したのですが、CGIスクリプト(KENT-WEBさ
んの日計カウンタ2)を設置しようとしたところ、httpd.confやパーミッ
ションの設定をちゃんと設定しているにもかかわらず、InternalServer
Errorで動作しません。

そこでこのBBSの過去ログを調べたところ、原因はCGIスクリプトの漢
字・改行コードがShift JISやCR+LFだからではないか、というような記
事があったので、さっそくTeraPadで変換(.cgiのファイルのみ)してみ
ると無事動作しました(NextFTPで転送する際にバイナリモードにしない
と動作しないのがなぜか不明ですが)。

ということで一応動作するようにはなったのですが、疑問なのは、な
ぜ漢字・改行コードを変換しないと動作しない場合と、変換しなくても
(Shift JIS,CR+LFのままでも)動作する場合があるのかということです(
レンタルサーバも契約しているのですがこちらは変換せずに動作してい
ます)。

この違いはPerlによるものなのでしょうか、それともApacheでしょう
か。milowebさんのサイトのCGIスクリプトはShift JISで動作している
ようなので、ディストリビューションの違いなのでしょうか。

長くなりましたがよろしくお願いします。

タイトル: FTPの転送モードの話だと思いますが
記事No: 604
投稿日: 2003/06/25(Wed) 23:07
投稿者: もりもり@神戸 URL: http://www.mok2.net/HServer/
もりもりです。

こんばんは。

私も昔ホームページのアップのルールを作ったときは、
漢字コードはJISで改行コードはLFにすると決めておりました。

最近は、別にSJISでもブラウザで自動認識してくれるので問題が
なくなりましたね。

あと、今回の件は、転送モードの話だと思うのですが、
*.txt, *.cgi, *.html, *.css, *.ini, *.htm などの拡張子のある
ファイルはアスキーモード転送しないと文字化けを起こします。

FFFTPのwindows
FetchのMacでは
これらのファイルは自動認識してくれますが、特にFetchは優秀です。

linuxのemacsなどで編集後、ftpする場合は、アスキー転送に変更
しわすれる場合が多いです。

ですから、漢字コードではありません。
ディストリでもありません。
FTPの転送モードの設定だけだと思います。

タイトル: 解決しました
記事No: 607
投稿日: 2003/06/26(Thu) 14:32
投稿者: ぽじ
もりもりさん、こんにちは。

結論から言うと無事解決しました。

今使っているRedHat9はFTPサーバがvsFTPdというものなのですが、こ
のFTPサーバはデフォルトでASCIIモードのアップロードとダウンロード
を許可していなかったことが原因のようです(ということはhtmlファイ
ルもバイナリで転送されていたはずなのですが、正常でした)。

で、設定ファイル(vsftpd.conf)で許可するようにしてあげたらShift
JIS,CR+LFだろうがEUC,LFだろうが関係なく、CGIスクリプトが動作する
ようになりました。

しかし、いくら"very secure ftpd"とはいえASCIIモードの通信をデフ
ォルトでOFFにするなんて・・・(DoSアタック対策らしいですが)。かな
りはまりました^^;

▲ページの最上部に戻る

Copyright© Home Server Technical. All Right Reserved.
webmaster@miloweb.net