Build a Home FTP Server
Upload and download files on your home PC from anywhere by turning it into a personal FTP server. With a home FTP server, you can upload and download files on your home hard drive from the office, your friend’s house, or to your laptop while you’re on the road using any FTP client. Setting up an FTP server may sound like a complicated undertaking only system administrators can handle, but it’s actually quite easy and free with open source software FileZilla. You’ve already heard of FileZilla’s FTP client application, but the FileZilla project also offers a server application for Windows. Today we’ll build an FTP server on your Windows PC with FileZilla for easy file transfers from any computer.
Install the FileZilla FTP Server
The FileZilla server installation is a regular Windows “just press Next” wizard, and for most users, the suggested default settings will work. However, let’s take a look at its initial settings anyway, since they’ll affect how you work with your server. Here’s how to get FileZilla going:
- Download the FileZilla server application. Even though the FileZilla FTP client is available for multiple operating systems, the server app is Windows-only (and works for Windows XP, Vista and 2000). Download it and kick off the installation wizard. As of this writing, the latest server version is 0.9.25.
- Run the server as a Windows Service. First FileZilla will give you the option of how it should start up: as a Windows service or not, automatically or manually. Windows services are processes that run on your PC which you can manage from the Services management pane. There’s more on how to manage that below, but at this point, running FileZilla as a Windows service that runs automatically is the default option. If you want your FTP server on by default, choose “Start as service, started automatically (default)” as shown. Otherwise, choose “Start as service, started manually.”In this pane you’ll also set the port for the admin interface to use. By default it’s 14147, and you’re most likely safe leaving it at that. If you do change that port number, make a note of what it is—you’ll need it to connect to the server later on.
- Set the server administrative interface to launch automatically (or not). On the final installation dialog, choose whether you want the server admin window to launch automatically when the current Windows user logs on, when any user logs on, or if it should be started manually.
- Run and connect to the server with the admin interface. As the installation wizard completes, set it to start the server admin interface. This is the window where you’ll configure your server and monitor its activity. The first time you run the admin interface, it will ask you for the server’s address and port. Since the server is running on your PC—the same one the admin interface is running on—its address is
127.0.0.1. The default port is 14147 (or whatever you may have changed it to, as noted above), as shown:
If this is the only FTP server you’ll be administering (most likely it is), check off the “Always connect to this server” box to bypass this dialog in the future.
Create Server Users
If all’s gone well, your server’s up and running—but no one can use it yet, since you haven’t given anyone permission. To set up a server user, from the Edit menu choose Users. In the Users dialog on the right hand side, hit the Add button to create a new user and assign a password. Then, on the left side, select “Shared Folders” to set what folders that user will have access to on your server. Here I’ve created a user named gina and granted read access to the
Notice you can fine-tune file access rights for each user: grant read-only rights (download only), write rights (to upload files), and whether or not the user can delete files or create directories, too.
If you want to grant several users access to your server all with the same rights and directory access, instead of creating each one individually, set up a user group. For example, if you’re sharing your MP3 directory with friends, make a user group called “music fans” with access to the correct directory and add users to that group, which automatically gives them those rights. Then, if you move your music directory you only have to edit the group, not each user in it. To manage user groups, from the Edit menu, choose Groups.
Log into the Server
Now that the server’s up and running with users, it’s time to log in and try uploading and downloading. Using any FTP client (like the FileZilla client or FireFTP for Firefox) enter the server address, user name and password.
- Server address If you’re FTP’ing across your home network (like from your upstairs PC to your bedroom PC), you can reach the server by using its internal network address (most likely something like (
192.168.xx.xx.) From the command line, type
ipconfigto see what that address is. If you want to log into your FTP server over the internet, set up a memorable URL for it and allow connections from outside your network. To do so, check out how to assign a domain name to your home server and how to access your home server behind a router and firewall.
- User name and password This is one of the users you set up in FileZilla’s admin interface, not the server admin user name. If friends, family, and co-workers will be logging into your FTP server, give them each a their specific username and password to log in (along with the server address.)
A word about security: FTP is not a secure protocol; all the file transfers happen in the clear, which makes them ripe for sniffing. FileZilla does support encrypted FTP access, and we recommend using that or a VPN like Hamachi to secure file transfers over the internet. FileZilla’s secure FTP server setup is beyond the scope of this article, but you can go into the server admin interface’s settings area to configure it.
Starting and Stopping Your Server in Windows Services
Finally, to shut down or restart your FileZilla server running as a Windows service, from Control Panel, Administrative Tools, launch Services. Right-click on the FileZilla FTP Server item on the list to stop it, edit its Properties, or restart it, as shown.