目的は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=YESascii_download_enable=YES
chroot_list_enable=YESchroot_local_user=YESchroot_list_file=/etc/vsftpd/chroot_listuse_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さらに、ちゃんとパッシブモードで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本体の解凍前のファイルをアップしてみたが、上手く行ったようだ。

コメント