こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

dos2unix(コード変換)をしなくてもも済むLinuxの設定

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

投稿日時 - 2003-08-29 11:13:43

QNo.640632

困ってます

質問者が選んだベストアンサー

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

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

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

#ascii_upload_enabled=YES
#ascii_download_enabled=YES

投稿日時 - 2003-09-02 12:52:59

補足

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

投稿日時 - 2003-09-02 17:13:35

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.5

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

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

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

きっと,何かつまらないミスをしているのでしょうね.

投稿日時 - 2003-09-02 18:56:33

お礼

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

投稿日時 - 2003-09-10 10:22:58

ANo.4

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

の方は,

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

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

投稿日時 - 2003-09-02 17:31:34

補足

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

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

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

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

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

投稿日時 - 2003-09-02 18:02:53

ANo.2

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

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

投稿日時 - 2003-08-29 13:00:46

補足

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

投稿日時 - 2003-09-01 10:58:08

ANo.1

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

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

参考URL:http://www.vector.co.jp/soft/win95/writing/se086280.html

投稿日時 - 2003-08-29 11:31:06

補足

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

投稿日時 - 2003-09-01 10:58:30

あなたにオススメの質問