Windows Server 2012上で開発する案件があり、そこでFTPがなかなかつなかったので、その時のメモです。
普段はLinuxが主戦場の私は、慣れないWindows環境で各種ソフトをインストールするのは厳しいので、お手軽にXAMPPを使いました。
しばらくXAMPPは見てなかったのですが、すごく便利になってますね。
Apache、MySQL、PHPだけでなくFTPサーバーであるFileZillaまで入っているとは。
そこで、リモートのWindowsサーバーにファイルをアップするのはFileZillaを使おうと思い、WinSCPから接続しようとしてもつながらない・・・
いや、接続自体はできていて、FileZillaのコンソールにもその旨が表示されるのですが、ファイルの一覧が表示されないんですよね。
調べてみると、どうもパッシブモードとやらが原因のようです。
パッシブモードではポート番号が通常のFTPの20、21以外のものが使われるとのこと。
となれば、ファイアウォールの設定をしないと当然通りませんね。
まずFileZillaがパッシブモードで使用するポートを設定します。
FileZillaの設定画面を開き「Passive mode settings」を選択し、下図のようにポート番号を指定します。
ここでは60000~61000を指定しました。
その次にWindowsのファイアウォールの設定ですが、Windows Server2012では「セキュリティが強化されたWindowsファイアウォール」って名前になってますね。
余計な接頭辞がついてるせいで、探すのに苦労しましたよ。
ここで「受信の規則」に「FTP」という規則を加え、下図のように通常のFTPポートである20、21と先ほど加えた60000-61000を記述します。
これで設定完了です。
FTPでファイルのやりとりができるか試してみてください。