LANDISK HACKING DIARY
Since2005/8/17
TOPへ戻る

 


   proftpd のインストール

 

 


 proftpd をインストールする。あまり使うことはないんだけど一応念のため。debian.dodes.org にあるのは、1.2.6 なので、1.2.10 のソースをget でしてdeb 化する。データベース認証を用いると、mysql やpostgresql がからんでくるので、依存関係のエラーが発生するだろう。rules を編集するという手もあるだろうが、以下では、足りないパッケージを片っ端からインストールする。

landisk:~# mkdir proftpd
landisk:~# cd proftpd
landisk:~# apt-get source proftpd
landisk:~# cd proftpd-1.2.10
landisk:~# dpkg-buildpackage -rfakeroot
dpkg-checkbuilddeps: Unmet build dependencies: libmysqlclient12-dev (>= 4.0.23) postgresql-dev (>= 7.2) libwrap0-dev


とりあえず、片っ端から apt-get でインストールしていく。

landisk:~# apt-get install postgresql-dev libwrap0-dev


libmysqlclient12-dev は、debian.dodes.org にはなかった。ソースからダウンロードし、dpkg-buildpackage したが、多くの依存関係エラーが発生した。これを全て解決するのは大変なので、apt-line に以下の1行を加えてみることにした。iohack というサイトで、libmysqlclient12-dev が置いてある。

landisk:~# vi /etc/apt/sources.list
deb http://iohack.sourceforge.jp/debian ./


データベースを更新し、インストールする。最後に、dpkg-buildpackage してdpkg -i でインストール。

landisk:~# apt-get update
landisk:~# apt-get install libmysqlclient12-dev
landisk:~# dpkg-buildpackage -rfakeroot
landisk:~# # ls | grep deb
-rw-r--r-- 1 root staff 192192 8月 28 07:28 proftpd-common_1.2.10-15_sh4.deb
-rw-r--r-- 1 root staff 417668 8月 28 07:25 proftpd-doc_1.2.10-15_all.deb
-rw-r--r-- 1 root staff 399188 8月 28 07:28 proftpd-ldap_1.2.10-15_sh4.deb
-rw-r--r-- 1 root staff 414726 8月 28 07:28 proftpd-mysql_1.2.10-15_sh4.deb
-rw-r--r-- 1 root staff 414302 8月 28 07:28 proftpd-pgsql_1.2.10-15_sh4.deb
-rw-r--r-- 1 root staff 388420 8月 28 07:28 proftpd_1.2.10-15_sh4.deb
landisk:~# dpkg -i proftp*.deb


インストールする。認証などを行う予定はないので、DB関連のパッケージはインストールしない。

landisk:~# dpkg -i proftpd-doc_1.2.10-15_all.deb
landisk:~# proftpd_1.2.10-15_sh4.deb
landisk:~# proftpd-common_1.2.10-15_sh4.deb


たまにしか使わないので inetd 経由で起動する。

landisk:~# vi /etc/inetd.conf
ftp     stream  tcp     nowait  root    /usr/sbin/tcpd /usr/sbin/proftpd

/etc/proftpd.conf を編集する。ListOptions を -l にしておくと、ドットで始まるファイル名が一覧できないので、-a としておく。

landisk:~# vi /etc/proftpd.conf
ServerName                      "Debian"
ServerType inetd
Port 21
DefaultServer on
DefaultRoot ~/public_html
#ListOptions "-l"
ListOptions "-a"


■トラブルシューティング

FFFTPを使うとサーバーにファイルはあるのに、FFFTP上にはファイルは表示されないという現象が起きる。これは、proftpd が 1.2.9 から 1.2.10 に変わったことでNLSTの仕様が変更になったからだそう。対策としては、FFFTP側で以下の設定を行う。

「設定変更」→「高度」

 1.「NLST -R を使って高速に再起検索」のチェックを外す
 2.「LISTコマンドでファイル一覧を取得」にチェックを入れる

また、1.2.9以前のNLSTコマンドと同じ挙動をするようになるパッチがあったので紹介しておきます。

■ProFTPD NLSTパッチ

⇒ProFTPD1.2.10用 NLSTパッチ

使用法
# tar zxf proftpd-1.2.10.tar.gz
# patch -p0 < proftpd-1.2.10-nlst-ffftp.patch
# cd proftpd-1.2.10
# ./configure ・・・・

■参考

将来的にTLS を使うかもしれないので参考サイトをメモ

⇒セキュアFTPサーバの構築(ProFTPD+SSL/TLS)


     proftpd.conf
   
ログの設定。1行目は、ProFTPDのログを syslog に吐く設定。2行目は、すべての FTP コマンドをログに取る設定になる。3行目は、syslog に LOCAL6 で渡す。/var/log/messages にログが吐かれるようになる。3行目は、

systemlog /var/log/proftp.log
ExtendedLog /var/log/ex-proftpd all
SyslogFacility LOCAL6





TOPへ戻る
 
Copyright © KORO All Rights Reserved.