One of the oldest and most popular methods for sharing files over the Web from one central location is the File Transfer Protocol (FTP). FTP clients allow people from across the globe (or even next door) to share a mutual storage space and/or remotely update a website with ease.
Contrary to popular belief, you don’t have to have a server operating system to run an FTP server from your own system. Windows 7, currently the most widely installed operating system for consumers, is actually capable of hosting an FTP server. In fact, Windows 7 comes complete with a built-in solution through IIS 7.5.
If IIS isn’t your cup of tea (and it does have its own drawbacks) you can opt for another free FTP server solution made available through FileZilla which comes complete with an incredible lineup of features that can turn your standard Windows 7 installation into a powerful FTP server.
IIS is an all-in-one Web services package made available on Windows as an optional built-in service. For home users, IIS makes a great solution for hosting a small community site, FTP server, or email service. While I wouldn’t personally recommend using it for commercial applications, it can be a brilliant choice for gaming groups and small communities.
On the FTP front, IIS’s latest version FTP service allows users to connect via their FTP client of choice using FTP, FTPS, and an FTP publishing service that allows content publishers to upload content securely direct to IIS web servers using SSL-based authentication and data transfer. In addition, publishers can opt to utilize UTF8 and IPv6 standards.
Virtual host name support allows users to host multiple FTP sites from the same IP address, a bit advantage for power users.
So, how do you install IIS on Windows 7 Home Premium? Here’s what you need to do:
- Click the Start button and then select Control Panel.
- Select Programs.
- Click Turn Windows Features On or Off.
- Toggle Internet Information Services (IIS) on in the Windows Features area.
- Expand the section.
- Make sure FTP Server is toggled On.
- Click OK.
Once this is done, you can access the IIS Manager via the Start menu using search and entering IIS. Through the manager, you can set up user permissions, root folders, and a variety of other options to keep your server both secure and customized to your specific needs.
One important note with using IIS on Windows 7 is that you need to keep Windows absolutely up to date. Make sure that updates are scheduled frequently as zero day attacks targeting your open port can cause quite a headache. Also, you will want to set up an exception in your Windows firewall to allow communication both to and from your users.
IIS is only available on some versions of Windows. While it is available on Windows Home Premium, Business, and Enterprise, it may not be readily available on the Starter edition. If you happen to be running one of these editions that don’t include IIS, our next solution may be exactly what you’re looking for.
FileZilla FTP Server
IIS is a great feature of the Windows platform, but not everyone enjoys using it. After years of having a bad reputation for being unsecured and filled with malware, many home server administrators have opted to try alternative home FTP server options. One of these options is FileZilla, a free FTP server that you can host directly from Windows 7.
Installing FileZilla is incredibly easy. All you need to do is download the installer .EXE from the official FileZilla project site and follow the standard installer instructions. The current version of FileZilla Server supports XP, Vista, and Windows 7 in both 32-bit and 64-bit.
FileZilla will ask you a series of questions during installation. Don’t worry, you don’t need a degree in information technology to get through them. The most important question is whether you’d like to have FileZilla run as a service and have it start with Windows, or to run as a standard program. If you don’t want any downtime during late-night updates and restarts, you’re probably better off going with the default service setting. This screen also gives you the option to configure a custom port for the administrative interface. Whatever you choose, write it down. You’ll need this number later on when you configure the server. The default port number is 14147, and it’s up to you whether or not you’d like to change it. Sticking with default settings is just fine in many cases, though the security conscious will probably advise opting for something more custom.
As you finish up the installation process, you’ll be asked how you want the administrative interface to run. You can have it launch when you log in to your user profile, or when any user logs in to their profile. This is entirely up to you, and is a matter of convenience over anything else. If you don’t want to see this window every time you start Windows, you can opt to have it launch manually.
The first thing you’re going to want to do when you first load the administrative interface is configure your users. You can find this option by searching for the Users icon located near the top of the administration window. It looks like a person’s head placed in front of a computer monitor.
By doing this, you’re determining who has access to your FTP server and how. You can assign the user a login, password (optional), and set a maximum connection count for that user. This option determines how many clients can be connected with that particular login at any given time. Some power users will attempt to establish multiple threads to download large amounts of files, though you’re probably safe leaving the default settings in place.
To further enhance the security, you can opt to force an SSL connection for the user login. This allows you to enforce a policy that maintains security from client to server, keeping nosy onlookers on a potentially public and exposed network from gaining access to your server. In the interest of security, toggle this on. This may prompt the client to request a certificate exception, but it’s a more secure policy and well worth the added step on the part of the user.
Assigning Shared Folders
The next thing you can do is assign shared folders to the user. This allows you to specify what folder on your hard drive the user will be able to access and at what level they can do so. For example, you can create a folder structure specifically for FTP users to connect to. These folders may be browsable by multiple users, allowing them to share files from your central point.
You can also create a group using the icon next to the user icon at the top of the FTP administration application. Groups allow you to easily assign shared folders, speed limits, and permissions to a group of users without having to individually assign permissions to each one. This is an especially good solution for larger servers that have more than a handful of users. You can manage and maintain these groups in a few clicks, making your job as the administrator much easier.
Another note to make here is in regards to security. The more secure your server is, the better. You can set up your FileZilla FTP Server to work with SSL/TLS, a much more secure method of communicating between the client and the server than standard FTP. You can access this feature by going to Settings and SSL/TLS Settings from the main screen. The Settings icon looks like a gear in front of a light switch. You can also access the menu through by going to Edit and then Settings from the main menu at the very top of the window.
You can load a preset private key file and certificate file, or generate a new certificate that will be self-signed with a 1024, 2048, or 4096-bit key.
CodyH, a member of the Gnomies community suggests, “Make sure you set up your port forwarding and services on your HW firewall correctly.”
Your router likely has a built-in firewall that may interfere with traffic going to or from your FTP server. To prevent this, you are going to want to set up port forwarding which directs all traffic to the FTP port directly to your server. If this isn’t done, there’s a good chance your external users won’t be able to see your server at all.
Another important note is never to share folders you can’t live without. Sharing an important system folder can give a malicious user that either stumbles across your server via an authorized user’s computer or looks over their shoulder unfettered access to destroy your system. Only share dedicated storage folders that hold specific information intended to be shared with users on the server. You can create groups and/or specific users with read-only privileges, allowing them to view and download files, but not delete them. This may be a good option in cases where a user is prone to accidentally delete files.
Your server is only as secure as its network. It might not be a good idea to set up a dedicated server on a computer you intend to take with you off the network. Your laptop isn’t a good place for a server. Try installing it on an old desktop machine that can be run without a monitor, sitting in the corner of the room all alone if you must.
Jake Ludington, another writer here at LockerGnome and no stranger to network security, suggests: “You can also put the server outside your home network by connecting a switch directly to the cable or DSL modem. You then connect the server to one port on the switch and the router for all your home network traffic to another port. This effectively keeps any of the FTP traffic outside the rest of your network.”
On a final note, it’s important to keep in mind that hosting a server from home means using your consumer Internet connection. Some ISPs don’t allow servers to run on home accounts in their terms and conditions. In addition to this, you should be ever mindful of any bandwidth caps being imposed by your ISP. A 250 GB cap can be hit very quickly if you’re running a busy FTP server.