2007/10/23(火)wu-ftpd のインストール

2017/10/11 9:06 サーバ運営・管理
IE6で、FTPログインする際、


のようなものが出るようにして欲しいという要望が・・・
正直、途方に暮れたんですが、どうやら、

IE6 にて anonymous FTP でログインを試みる → 失敗したらこのプロンプトが出る。

という仕組みらしい。
ところが FreeBSD 標準の ftpd だと、どうも IE6 が想定していないエラーが返るので、

このプロンプトが出ないらしい。。
FrreBSD 標準の ftpd では、
「anonymous ログインなんでできません」というエラーを返すので、ftpd の挙動としては全く正しいんだが、、、

IE6 が想定している ftpd の挙動は、anonymous ログインのリトライを要求するというもの。
やはり造りはちょっとアマチュア入ってるね、、 < IE6

解決には wu-ftpd が現実的。
ということで、 wu-ftpd をFreeBSD のパッケージからインストールして設定するが、、

ファイル一覧が表示できない

という現象に悩むこと数時間。
どうもパッケージのコンパイル済みバイナリファイルが、現状にあっていない模様・・・
proFTPD に変えても同じ結果。

ということで、wu-ftpd をソースコードからコンパイルです。
wu-ftpd は、ここで入手できます → http://www.wu-ftpd.org/

最新バージョンは 2.6.2 ですが、これが 2001年だったり、、セキュリティfix はパッチファイルという有様。

開発が停止しとる、、、

まずは、入手した wu-ftpd-2.6.2.tar.gz を gzip などで展開。同時にパッチも入手。
そして、作成されたディレクトリ に移動し、
./configure --prefix=/usr/local --enable-ls
とする。--enable-ls (chroot の場合の /bin/lsではなく、内部のlsコマンドを使う)が重要です。
(参考 http://unix-study.com/unix/sol8/install/wu-ftpd/idnex.html)

早速 make すると、エラーが出ます。
2つのファイルを手動で修正する必要あります。
1) src/proro.h
一番最後の行(295行目)
char *strcasestr(register char *s, register char *find);
              ↓
/* char *strcasestr(register char *s, register char *find); */
としてコメントアウト

2) src/ftpcmd.y
= {
 となっている部分の = を削除。
 = と {  は、タブ文字で区切られています。

修正後 make を行い、
エラーが無くなったら make install
FreeBSD 6.2 の場合
/usr/local/sbin 配下に in.ftpd、ckconfig、ftprestart、ftpshut、privatepw

/usr/local/bin 配下に ftpcount、ftpwho
/etc 配下に ftpaccess、ftpconversions
はインストールされます。

ftpd は /usr/local/sbin/in.ftpd がその本体です。
あとはこの in.ftpd を inetd から in.ftpd -a -l として起動できるように設定して、インストール完了。