FTP自体、最近ではあまり使わなくなってしまったプロトコルだけど、その分、情報も取得しづらくなっているので、
ドキュメントとして書き残してみます。
インストール
バージョン1.3.4のインストール
# cd /usr/local/src
# wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.4.tar.gz
# ./configure
# make
# make install
設定ファイル
/usr/local/etc/proftpd.conf
必要に応じて修正
起動スクリプトの作成
Debian/Ubuntu系であれば、
これを/etc/init.d/proftpdとして保存して、実行権限をつけておく。
/etc/init.d/proftpd start
で起動。stopで停止。
日本語対応
上記のインストールだけだと、日本語ファイル名のものをアップロードすると文字化けしてしまう。
バージョン1.3.0のときは、tsujikawa氏の作成したパッチが必要あったが、現在はリンク切れになっている。
ここでは、tujikawa氏のものをベースに、私が個人的に改良したパッチを置いておく。これを利用するためには、
libtoolとjuniversalchardet-1.0.3が必要。
libtoolのインストール
# apt-get install libtool
juniversalchardetのインストール
# wget http://juniversalchardet.googlecode.com/files/juniversalchardet-1.0.3.tar.gz
# tar.gzを展開
# cd juniversalchardet
# cd c
# make install
※ juniversalchardetは、java用の文字判定プログラムだが、/cディレクトリに格納されている
cのライブラリのみ使用するので、javaは使わない。また、必要に応じてldconfigしておくこと
※ gcc 3.4以後では、標準で組み込むライブラリに変化があったため上記のmakeで失敗する。dll.cppのソースコードに
#include <string.h>
を追加すればOK.
日本語化対応パッチ(1.3.4用)をあてる
これをダウンロードして、
proftpd-1.3.4の置いてあるディレクトリの一つ上のディレクトリで
patch -p0 -d . < proftpd-1.3.4.patch
をすればOK
再ビルド
必要に応じて
# make clean
ビルドは
# ./configure --with-modules=mod_codeconv
# make
# make install
設定
設定ファイル(/usr/local/etc/proftpd.conf)
の最後に
CharsetLocal UTF-8
CharsetRemote CP932
CharautoUTF8Remote2Local OK
最後のCharautoUTF8Remote2Localを設定しない場合、クライアント側はCP932,サーバー側はUTF-8で固定。
CharautoUTF8Remote2Localを設定すると、上記に加えて、クライアント側がUTF-8の場合はそのままUTF-8で
送るようになる。
うまく動かない場合は、ldconfigの設定で
/usr/local/lib
が読まれるようにする
設定後は、再起動が必要。
2012/11/20
最終更新:2012年11月20日 20:35