ProFTPD


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

トップページ > ProFTPD

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
添付ファイル