CentOSにFTPサーバーをインストールしました。
ProFTPDというサーバーです。CentOSの標準のリポジトリには、ProFTPDが登録されていないので、yumやrpmではインストールできません。追加リポジトリがあるにはあるのですが、公開鍵をインポートしたりとか色々面倒(というか途中で挫折した)ので、ソースからビルドすることに。こっからが長いのですが...。
インストールには、この辺を参考にさせてもらいました。
http://c-atwork.com/modules/smartsection/item.php?itemid=29
(使えるねっとフォーラムでお世話になっている、kvex様のページ)
http://nagano.cool.ne.jp/maxpower1600/server/linux/proftpd/proftpd1.3.0_install.html
手順としては、以下の通り。
cd /usr/local/src/ →作業ディレクトリに移動
wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.1.tar.gz →ProFTPDの公式ページから最新のソースをダウンロード(現在は、1.3.1)
tar xzf proftpd-1.3.1.tar.gz →解凍
cd proftpd-1.3.1 →ソースのディレクトリに移動
./ configure →コンパイル準備作業
make →コンパイル
make install →インストール
ProFTPDの設定ファイルは、/usr/local/etc/proftpd.confなので、これを環境に合わせて変更する。(詳細は後述)
単純にスタンドアローンで起動するなら、
/usr/local/sbin/proftpd
で起動させることもできるが、起動スクリプトも用意されている。
/usr/local/src/proftpd-1.3.0/contrib/dist/rpm/proftpd.init.d
を、コピーして、そのまま、/etc/init.dにつっこめば、
service proftpd start/restart/stop
で起動/再起動/停止ができます。
Linuxには、xinetdというスーパーサーバーデーモンがあります。そのサービスに要求があった時だけそのサービスを起動させるというもの。サーバーのCPUやメモリをセーブするのに便利なデーモンということです。そのxinetd経由でProFTPDを起動する場合は、上記作業に追加が必要。xinetdがインストールされていなければ、インストールが必要です。
xinetdのインストールは、yumで行えるので簡単。
yum install xintetd
service xinetd start で、起動。
次に、ProFTPDの設定を変更します。
/usr/local/etc/proftpd.confの中の、サーバータイプの部分、
ServerType standalone を
ServerType inetd に変更
xinetd用の起動スクリプトも用意されているので、これをコピー。
/usr/local/src/proftpd-1.3.1/contrib/dist/rpm/xinetdをproftpdにリネームして、
/etc/xinetd.dにつっこむ。
すると、ftpに要求があるときだけ、proftpdが起動するようになる。