Setting up FileZilla FTP Server on EC2

I'm sure there are better methods out there, but the good old FTP is still the de-facto way to copy files from one system to another. It is definitely not for production environment. But for most cases - where you just want your client to be able to read and send files to you - FTP is still the way to go.

Here are couple of steps that I did to set up FileZilla FTP Server on Windows Server 2008 EC2:
  • Install FileZilla FTP Server (Download it from FileZilla project)
  • Configure FileZilla Server. Here are the checkpoints:
    • choose admin port (can be any unused port)
    • choose listening port (default is 21)
    • create user, choose shared folder and appropriate permission
  • Open up Windows Firewall for FileZilla Server
    • go to Control Panel | Windows Firewall | Allow a program or feature through Windows Firewall
    • Do NOT choose FileZilla Server Interface. Choose this instead: 
    • Allow another program | Browse | Filezilla Server.exe (default: C:\Program Files\FileZilla Server\FileZilla Server.exe)
  • Open up listening port (default 21) on EC2 Security Group
    • go to AWS Management Console for EC2 (https://console.aws.amazon.com/ec2)
    • on the left sidebar, choose Instances then identify your Windows Server 2008 instance and what security group its running at (default: default)
    • on the left sidebar, choose Security Groups and pick the one that your instance is using
    • on the Inbound tab, create a new rule:
      • Port Range: FileZilla listening port (default 21)
      • Source: 0.0.0.0
    • apply the new rule
  • If you're connecting  using FileZilla Client, make sure you are connecting using Active Connection (default is passive).
    • Edit | Settings | Connection
    • FTP: choose Active
    • FTP | Active Mode: choose "Ask your operating system for the external IP address"
    • FTP | Passive Mode: choose "Fall Back to Active Mode"
Hope that helps.