vsftpd 2.0.1 をRPM でRHL9 にインストール

永らく"vsftpd-1.1.3-8" のまま放置していたので、さすがにそろそろバージョン上げるか、と思い立ち、いつものごとくFC3 から"vsftpd-2.0.1-9.src.rpm" を頂いてくる。とりあえずのダメ元ビルドはやっぱりエラーが出て終了。どうやら"-fpie" というコンパイルオプションが引っかかっているらしい。


# for -fpie
BuildPrereq: gcc > gcc-3.2.3-13, binutils > binutils-2.14.90.0.4-24, glibc-devel >= 2.3.2-27

binutils こそこないだついうっかり入れ替えました が、gcc とglibc-devel のバージョンが古いので、このままではコンパイルが通らない。なので、RHL9 用の"vsftpd-1.1.3-8.src.rpm" からSPEC ファイルを抜き出して比較検討した結果、"-fpie" オプションを外すことでビルド通りました。"-fpic" も出来ればあったほうが良さそうですが、ないものは仕方がないので、これ以上はあんまり深く考えない。
で、変更した箇所。39行目あたり、上記と同じところをコメントアウト。


# for -fpie
# BuildPrereq: gcc > gcc-3.2.3-13, binutils > binutils-2.14.90.0.4-24, glibc-devel >= 2.3.2-27

70行目あたり、コンパイルオプションから"-fpie" を削除。


make CFLAGS="$RPM_OPT_FLAGS -pipe" \

で、ビルド。出来上がったらアップグレード。


# rpmbuild -ba --target i686 vsftpd.spec
# rpm -Uvh /usr/src/redhat/RPMS/i686/vsftpd-2.0.1-9.i686.rpm

あとはconf ファイルとかを設定すれば完了。体感上、特に何かが変わった感じもしませんが、SSL/TLS サポートなどが追加されてるので、オレオレ証明書でも作れば一応平文FTP よりはマシな運用が出来るかもしれない。これはまたいずれ。
(2005/03/03 19:59 追記)
設定方法が良くまとまっていて、分かりやすいので。xinetd 経由での起動方法が特に参考になりました。

SSL 関係の設定はこっちで確認。