dポイントプレゼントキャンペーン実施中!

RedHat Linux9でWebサーバーをつくり、Perlを使ったCGIプログラムもアップしています。しかし、CGIプログラムはWindowsで作成し、Linuxにアップしているので、そのままだとコードが違い表示されないので、
dos2unix < DOS_FILE >UNIX_FILE
とLinux側でやってコードを変換しています。
これをいちいちやらないようにするためにはどうすれば良いのでしょうか。
何かをLinuxにインストールするなどしたら大丈夫になりますか?

A 回答 (5件)

最近この質問が多い理由にやっと気がつきました。



問題は vsftpd の初期設定(ASCIIモードでの転送が許可されない)にあるようです

/etc/vsftpd.conf を編集して、以下の行のコメントを外すと良いかもしれません

#ascii_upload_enabled=YES
#ascii_download_enabled=YES

この回答への補足

やってみましたが、だめでした。
編集後、再起動もしてみましたが。。
購入したサーバーだと、dos2unixをやらなくてもいいのですが、私が構築したサーバーだとdos2unixをやらないとだめです。何か設定をしなくてはいけないみたいです。

補足日時:2003/09/02 17:13
    • good
    • 0

ほう,そうですか.今手元で検証したら,



・vsftpdをrpmでインストール -> ASCII転送が出来ない.
・ascii_upload_enabled=YES を有効にして vsftpd を再起動
・FFFTPで再度ファイルをアップロード

で,ASCII転送ができることを確認しました.ファイルをいったん削除する必要もありませんでした.

きっと,何かつまらないミスをしているのでしょうね.
    • good
    • 0
この回答へのお礼

何度もご回答、ありがとうございました。
他のPCでやってみたらうまくいきました。
astronautさんのご回答で良いようです。
ただ、なぜか私のPCでがうまくいかない。。
別のPCからvsftpd.confのみを上書きしてやってみたりもしたのですが。。
何か違うミスをおかしているようです。

お礼日時:2003/09/10 10:22

http://oshiete1.goo.ne.jp/kotaeru.php3?q=644185

の方は,

・vsftpdの設定変更
・一度ファイルを削除して再度アップロード

でうまくいったようですが.
相変わらず手元では確認してないので悪しからず.

この回答への補足

>vsftpの設定を変更しtest.cgiをアップし、サーバも立ち上げなおしました。それでもうまくいかなかったので、サーバにあるtest.cgiを削除し再度転送しなおしたら見れるようになりました。(muxicさん)

とありますが、たぶんこの方は、

>なお,転送後に改行コードを変換するには,dos2unixという便利なコマンドがあります。(astronautさん)

とあるので、それをやったのではないでしょうか。。

私がvsftpd.confを編集御後、再起動し、cgiのファイルを新たにアップしましたが、
cat -v でファイルを見たところ、^Mというのが一杯、でてきました。

補足日時:2003/09/02 18:02
    • good
    • 0

私の場合、


(1)FTPが使える場合はアスキーモードで転送
(2)FD等で持ち込む場合は、一旦秀丸でEUCモードで保存
を使い分けてます。

アップロードするときにコード変換する(1)、
Windowsで作成する時点でコード変換しておく(2)、
ですね。

この回答への補足

エディタはQXを使用しています。QXでEUCとCFで保存し、
FTPソフトはFFFTPを使用しています。ホストの設定の文字コードのところで、
ホストの漢字コードはEUC(半角カナを全角に変換)にし、
ファイル名の漢字コードもEUC(半角カナを全角に変換)にしました。
転送はcgiはアスキーモード転送になっています。
しかし、それでは直っていませんでした。なぜでしょうか?

補足日時:2003/09/01 10:58
    • good
    • 0

最初にWindows側でCGIを作成する際に、UNIX形式(文字コードEUC/改行コードLF)で保存できるエディタを利用するのが一番簡単だと思います。



EUC+LFに対応しているエディタでもっともメジャーなのは、おそらく"秀丸"だと思います。
秀丸を利用するのであれば、ファイルを保存するときに"EUC(改行=LF)"を選択して保存を行えば、そのままLinux側で利用することが出来ます。

参考URL:http://www.vector.co.jp/soft/win95/writing/se086 …

この回答への補足

エディタはQXを使用しています。QXでEUCとCFで保存し、
FTPソフトはFFFTPを使用しています。ホストの設定の文字コードのところで、
ホストの漢字コードはEUC(半角カナを全角に変換)にし、
ファイル名の漢字コードもEUC(半角カナを全角に変換)にしました。
転送はcgiはアスキーモード転送になっています。
しかし、それでは直っていませんでした。なぜでしょうか?

補足日時:2003/09/01 10:58
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!