Setting up an FTP server is a relatively easy way to share files in your local network. It is more difficult to set up an FTP server for remote transfers. This article focuses on local FTP transfers.
Download and install
Filezilla Server can be downloaded from here. For the most part, there isn’t anything to be gained by deviating from the default settings. The only major decision you need to make is whether you want Filezilla Server to be auto-started with Windows or not. Auto-start is the default, if you don’t want that, choose the Install as service, started manually option in the Startup settings.
For everything else, just accept the defaults.
Connect to Filezilla Service
Once the installation is complete the Filezilla server interface will start automatically. It can also be started manually by clicking on the Filezilla server interface icon from the Desktop or the Start menu.
Click on the connect button to establish a connection between the Filezilla server interface and the Filezilla service. The default password is blank. Please note that this connection is purely meant for administering the server. It has nothing to do with an actual FTP connection.
By default, administrative connections are permitted only from the localhost. That is both the Service and the Server interface must be running on the same computer, as in our case. This being the case, a blank password does not pose any real security risk. However, if you wish to set a password you can do so by connecting using the blank password first and then going to Edit ➾ Settings ➾ Filezilla Server Options. A password is required if you want to enable remote administration of the server.
You might see a warning about being behind a NAT router and about FTP over TLS not being enabled. You can ignore this since we are connecting to the FTP server only from the local network.
Creating a user account
Now we can get to the task of adding a user. Select the Users option from the Edit menu.
Click on the Add button to add a new user. Tick the password box to add a password for the user.
The next step is to select a shared folder. A user account requires at least one shared folder. Go to the Shared folders section and click the Add button to select a folder from your computer. For the sake of security, it is better to create a folder specifically for sharing via FTP. If you select only one folder that folder will be automatically set as the home folder for the user. The home folder is the folder that is automatically listed when the user logs in.
Now we need to take a look at user permissions relating to the folder. By default, you get only the permissions to list directory contents and read files. This basically amounts to download only access with no uploads or server modifications supported. If you need more permissions, select the appropriate checkboxes.
Add an exception in Windows Firewall
Since an FTP server needs to accept incoming connections, we have to add an exception to our firewall. I will describe how to do this in Windows Firewall. If you are using a third-party firewall, please consult the firewall’s documentation.
In the Start Menu search for Windows Firewall and choose Windows Defender firewall with advanced security.
From the left pane choose inbound rules.
From the right pane choose New Rule.
This opens a wizard-style interface, use it to create an exception for Filezilla Server.
Create a static IP address
The next step is to create a static IP address. Please read the article Setting up static IP address in Windows 10 to find out how.
Connect to the FTP server
Now that we have the FTP server up and running, we can connect to it from another computer. There are multiple ways of connecting to an FTP server, I will describe how to do it using Filezilla’s own client application.
Install and launch the Filezilla client. You can use the Quick Connect bar below the Toolbar to quickly establish a connection. However, for future convenience, it is probably better to add your server to the Site Manager of Filezilla client.
From the File Menu choose Site Manager.
Click on the New Site button and enter the details for the new site.
- In the Host field enter the static IP address which we created for the server.
- The default port is 21 unless you have changed it in the server.
- Enter the username and password which you set for the user in the server.
- Click OK.
Now you can connect using the Start Manager button on the toolbar.
Improving Security
Running an FTP server on your computer has implications for security. However, since we are accepting connections only from the local network, it can be done in a reasonably secure manner. It is possible to restrict connections to an IP range. This can be done in both your firewall and in Filezilla Server. Here is how to do this in Filezilla Server.
- In Filezilla Server Interface, go to Edit ➾ Settings ➾ General Settings ➾ IP Filter.
- In the not allowed address section put an asterisk to block all IP addresses.
- Specify exclusions to the block list in the exclusions section.
For exclusions, you can specify individual IP addresses and IP address ranges. IP address ranges must be specified in CIDR notation. You can use this webpage to find CIDR notation given an IP address range. You would probably have to check the DHCP range of your router to find which range to exclude from the block.