This blog post identifies the minimum steps required to install and enable FileZilla’s free FTP Server on an SBS 2011 (Windows 2008 R2) server.
First, a strong word of caution: if your SBS server is a production server for your office, you should NOT be looking at using it for a public facing FTP server. The default FTP ports (20-21) are highly prone to attacks by hackers. If your server is hacked, then your confidential data has been compromised. I always recommend using a standalone FTP server.
So, if you are still reading, you have been forwarned! Hopefully the SBS server that you wish to install FileZilla’s FTP Server is a test or non-production server. In my case, I am doing this so I can automatically send copies of backups of my customers’ WordPress websites to my server. Something like a baby Amazon S3 setup!
Summary of Steps:
1. Backup your server
2. Create a shared FTP data folder
3. Download, install and configure the FileZilla FTP program
4. Configure your server firewall and router to forward FTP ports
5. Test
1. Backup your server.
This is always the first step when making any important change to your server. The built in Windows Server backup in SBS 2011 is quick and painless. There is absolutely no excuse for not having a recent backup available.
2. Create a shared data folder.
Open up the SBS 2011 console, click Shared Folders and Web Sites from the top, then click Add a new shared folder from the right side pane to start the ‘Provision a Shared Folder Wizard’. Click the Browse button, and select the desired volume to create your folder. (In my case, I want to use my E: (Data) volume, so I click on (select) e$). Then click Make New Folder, type in a name for your new folder, and then click OK. The rest of the screens are self-explanatory, and allow you to specify permissions and policies.
3. Install the FileZilla Server software.
Go to http://filezilla-project.org/download.php?type=server to download and install the server software. At the time of this post, current version is 0.9.41. Select to have the program start up automatically.
3a. Configure settings
After the FileZilla program starts up, click Edit > Settings and browse through the settings. However, on a default setup there’s nothing that you need to change. Later on, you may wish to change the default listing port from 21, but don’t do it now. Also, go to Admin Interface Settings, and make a note of the port used for the admin interface. You don’t have to do anything with it, but its good to know it.
3b. Configure User/Group
FileZilla does not work with Active Directory, so we have to define/create FTP users and groups. If you are only creating a single FTP login, then it is not necessary to create a group. In my case, I only need a single FTP account. The process will be to create an FTP user account, assign a password, and then assign a default home directory, along with read/write permissions.
Click on Edit -> Users. Click the Add button from the right pane to create a new user, enter a desired username (perhaps FTPUser or FTPAdmin?) and click OK. Then, from the middle pane, click to enable the Password option, and enter a strong password.
From the left pane, click on Shared Folders section. Click the Add button, browse and locate the folder you created previously. By default, the FTP user account can only read files and directories. Change that as appropriate to your needs.
Then click the OK button on the bottom left.
4. Configure Server Firewall and Router
Two things to accomplish: allow the FileZilla Server to communicate through the Windows Server Firewall, and forward the appropriate port(s) through your router to the server.
Configure Server Firewall
Click on Control Panel, and under the System and Security section, click Check firewall status. Then from the left pane, click Allow a program or feature through Windows Firewall. Then browse to the FileZilla program directory (for example, c:\Program Files (x86)\FileZilla Server) and select the FileZilla server.exe.
NOTE: Do NOT select the FileZilla Server Interface.exe, just the FileZilla server.exe file.
Configure Router
By default, FTP uses port 20/21. So follow the instructions for your router and forward those ports to your SBS 2011 IP address.
5. Test
Test internally (local LAN) first, and then externally.
From your workstation, open a command prompt, and then type: ftp {servername} -or- ftp {serveripaddress}. You should get a ‘Connected to {servername}, and be prompted to enter a user. Enter the FTP account user name you created, press OK, then enter the password, and press OK. If all is good, you should be sitting at an ftp> prompt. You may type in help to see a list of FTP comamnds. To exit, type quit
To test from an external workstation, do the same as above, but rather than using the internal servername, you would use the public domain name (ftp remote.serverdomainname.com).