vsftpdのインストール

目的はMovable Typeのテストサーバ構築だが、それには『ファイルの転送』がどうしても必要になる。
Linuxのサーバから、直接FTPでMTの実行ファイルを落としてきて、テンプレートの編集も全部vi でしかやらない!!ってならいらないかもしれないが・・・
やはり運用として不便なので、FTPサーバは構築しておく。

なお、今回は事例の多い "vsftpd" を採用。

1.インストール
インストール自体は yum で一撃。

yum -y install vsftpd
以上。
但し、大変なのはここから。

2.vsftpd の設定
vsftpd 本体の設定自体はさほど難しくない。下記のファイルを vi などでいじる。
# vi /etc/vsftpd/vsftpd.conf
いろいろ記述はあるが、肝心なのは下記の箇所。もうちょっといじったかもしれないが、とりあえず確実なところをピックアップ。
anonymous_enable=NO
local_enable=YES

ascii_upload_enable=YES
ascii_download_enable=YES

chroot_list_enable=YES
chroot_local_user=YES
chroot_list_file=/etc/vsftpd/chroot_list
use_localtime=YES
 

自宅サーバをインターネットに公開する場合は、PASV関連を変えるという事例が多いようだが、あくまでもローカルのテストサーバなんで、そこは触らない。

3.iptables
ネットで見かける事例だと、上記までの設定でオッケーな風に書いてあるところが多いが、ここでハマる。
ネットワーク環境やインストールの仕方にもよるのかもしれないが、現時点でいくらFTPクライアントから接続しようとしてもウンともスンとも言わない。
で、いろいろググってると、どうも"iptables"が邪魔をしてるんじゃないかという結論に。(ここに至るに数時間・・・orz)

まずは、iptables でFTPが使う20番と21番のポートを開ける。(下記のファイルをいじる)
vi /etc/sysconfig/iptables
下記の記述を追加。

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
場所としては、~REJECTと書かれている行の上あたりがよさそう。(ってか、REJECTの行で、上の行の条件に当てはまらないのは全部はじかれるので、その前に書かないと意味がない・・・)

さらに、ちゃんとパッシブモードでFTPを使うには、”ip_conntrack_ftp”というモジュールが必要らしい。
下記のコマンドで、モジュールをロードすることができる。
#modprobe ip_conntrack_ftp
が、これだとiptablesを再起動したり、システムを再起動すると、その都度コマンドが必要。
iptablesの起動時にモジュールを読みこませるには、下記のファイルをいじるようだ。
/etc/sysconfig/iptables-config
ここに以下のような行があるので、そこを書き換える。

#IPTABLES_MODULES="ip_conntrack_netbios_ns" ← 元々の記述をコメントアウト
IPTABLES_MODULES="ip_conntrack_ftp" ← こっちを追記

ここまでの設定を行なって、iptables、vsftpd のサービスを再起動し、FileZilla から接続すると、上手く行った。
試しにMovable Type本体の解凍前のファイルをアップしてみたが、上手く行ったようだ。

コメント

タイトルとURLをコピーしました