How to Install an FTP Server in Windows 7

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 7.5

How to Install an FTP Server in Windows 7IIS 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.

Adding Users
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.

SSL Login
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.

Groups
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.

Enabling FTPS
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.

Other Thoughts

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.

Article Written by

Ryan Matthew Pierson has worked as a broadcaster, writer, and producer for media outlets ranging from local radio stations to internationally syndicated programs. His experience includes every aspect of media production. He has over a decade of experience in terrestrial radio, Internet multimedia, and commercial video production.

  • Anonymous

    this is very usefull for me

  • Anonymous

    thanks for the article, thank you for sharing

  • http://www.youtube.com/whiterazor White Razor

    I totally use Dropbox free account with features like Shareable Link and Selective Synch to create what is effectively a small FTP amongst a few friends. Works a treat :) Then again, I only have about 9 GB (through referrals and stuff) of free storage.

    I don’t think I know much about FTPs though so I’m sure Dropbox is extremely limited to just file sharing.

  • Bernard Savonet

    I would strongly oppose any of my non-tech friends to install IIS, ’cause the security holes. Filezilla is a more secured solution if you are looking just for an FTP server… and of course as pointed cloudspace-sharing with solutions like DropBox or Box.net ar solutions to be considered.

  • http://lance.compulsivetech.biz/ Lance Seidman

    May I suggest that if you enable the HTTP protocol to allow downloads of the files being uploaded (assuming you link or change the default site location) I recommend that you: Enable HTTP Compression (improves performance, reduce file size, etc), Enable Application Pool Queue-Length Limits (keeps app pool queue, so large packets can’t occur that could potentially lag the servers resources) which you can load right from cmd (Win Key + R, Type: cmd [Press Enter]) and at prompt type “runas /User:AdminIIS “mmc %systemroot%system32inetsrviis.msc”” (Remember to change AdminIIS to your Administrator account but if you login to your computer as an Admin, well get rid of the runas feature).

    I would also change the banner that you get at FTP login, this way you can set a warning telling your users, hey don’t upload anything illegal as we’re logging your every move (Win+R; Type: cmd [Enter]) and easiest way is by throwing the line: “Cscript.exe adsutil.vbs SET MSFTPSVC/SuppressDefaultFTPBanner true” but if you’re in the site manager just go to Properties>Messages and select Banner or Welcome (additionally you can also set an exit message to tell them where they can contact you if desired).

    Remember to keep Anonymous account OFF (Go to cmd and when you’re at the prompt type: adsutil set /msftpsvc/6634/AnonymousOnly FALSE) or if you really want to keep Anonymous active, at least set a password and you can do it the same as the above command by from FALSE to Password-You-Want as that’ll create a password for anon logins (May be smart if you want to set a private dropbox for you and friends to share content). Now, just remember, if you do or don’t have Anon account but you have multiple users, remember to keep them separate!!!

    One last thing… Ever heard of FlashFXP? Well, that let’s you connect to one server and send files to another servers, this way files never have to exist on your machine but if you want to sync your files with a remote backup, you can just by going in to the Registry and changing the values EnableDataConnTo3rdIP and EnablePasvConnFrom3rdIP… I won’t tell you how to do it, but I am sure Google has an unlimited resource in telling you but remember before you do anything, backup your REGISTRY! 

    Ton’s more I could go in to, but I doubt anyone will care… :

  • http://lance.compulsivetech.biz/ Lance Seidman

    May I suggest that if you enable the HTTP protocol to allow downloads of the files being uploaded (assuming you link or change the default site location) I recommend that you: Enable HTTP Compression (improves performance, reduce file size, etc), Enable Application Pool Queue-Length Limits (keeps app pool queue, so large packets can’t occur that could potentially lag the servers resources) which you can load right from cmd (Win Key + R, Type: cmd [Press Enter]) and at prompt type “runas /User:AdminIIS “mmc %systemroot%system32inetsrviis.msc”” (Remember to change AdminIIS to your Administrator account but if you login to your computer as an Admin, well get rid of the runas feature).

    I would also change the banner that you get at FTP login, this way you can set a warning telling your users, hey don’t upload anything illegal as we’re logging your every move (Win+R; Type: cmd [Enter]) and easiest way is by throwing the line: “Cscript.exe adsutil.vbs SET MSFTPSVC/SuppressDefaultFTPBanner true” but if you’re in the site manager just go to Properties>Messages and select Banner or Welcome (additionally you can also set an exit message to tell them where they can contact you if desired).

    Remember to keep Anonymous account OFF (Go to cmd and when you’re at the prompt type: adsutil set /msftpsvc/6634/AnonymousOnly FALSE) or if you really want to keep Anonymous active, at least set a password and you can do it the same as the above command by from FALSE to Password-You-Want as that’ll create a password for anon logins (May be smart if you want to set a private dropbox for you and friends to share content). Now, just remember, if you do or don’t have Anon account but you have multiple users, remember to keep them separate!!!

    One last thing… Ever heard of FlashFXP? Well, that let’s you connect to one server and send files to another servers, this way files never have to exist on your machine but if you want to sync your files with a remote backup, you can just by going in to the Registry and changing the values EnableDataConnTo3rdIP and EnablePasvConnFrom3rdIP… I won’t tell you how to do it, but I am sure Google has an unlimited resource in telling you but remember before you do anything, backup your REGISTRY! 

    Ton’s more I could go in to, but I doubt anyone will care… :

  • http://lance.compulsivetech.biz/ Lance Seidman

    May I suggest that if you enable the HTTP protocol to allow downloads of the files being uploaded (assuming you link or change the default site location) I recommend that you: Enable HTTP Compression (improves performance, reduce file size, etc), Enable Application Pool Queue-Length Limits (keeps app pool queue, so large packets can’t occur that could potentially lag the servers resources) which you can load right from cmd (Win Key + R, Type: cmd [Press Enter]) and at prompt type “runas /User:AdminIIS “mmc %systemroot%system32inetsrviis.msc”” (Remember to change AdminIIS to your Administrator account but if you login to your computer as an Admin, well get rid of the runas feature).

    I would also change the banner that you get at FTP login, this way you can set a warning telling your users, hey don’t upload anything illegal as we’re logging your every move (Win+R; Type: cmd [Enter]) and easiest way is by throwing the line: “Cscript.exe adsutil.vbs SET MSFTPSVC/SuppressDefaultFTPBanner true” but if you’re in the site manager just go to Properties>Messages and select Banner or Welcome (additionally you can also set an exit message to tell them where they can contact you if desired).

    Remember to keep Anonymous account OFF (Go to cmd and when you’re at the prompt type: adsutil set /msftpsvc/6634/AnonymousOnly FALSE) or if you really want to keep Anonymous active, at least set a password and you can do it the same as the above command by from FALSE to Password-You-Want as that’ll create a password for anon logins (May be smart if you want to set a private dropbox for you and friends to share content). Now, just remember, if you do or don’t have Anon account but you have multiple users, remember to keep them separate!!!

    One last thing… Ever heard of FlashFXP? Well, that let’s you connect to one server and send files to another servers, this way files never have to exist on your machine but if you want to sync your files with a remote backup, you can just by going in to the Registry and changing the values EnableDataConnTo3rdIP and EnablePasvConnFrom3rdIP… I won’t tell you how to do it, but I am sure Google has an unlimited resource in telling you but remember before you do anything, backup your REGISTRY! 

    Ton’s more I could go in to, but I doubt anyone will care… :

  • http://www.facebook.com/jacobscottv Jacob Scott

    You will get hacked..

  • john guardian

    The above video discussion is TOTALLY WORTHLESS. I was expecting a STEP-by-STEP vid process to install ftp.

    Honestly, if the chatter above is what goes on at the website/chat area you guys are from, it seems to me that it would be as value(less) added as the above vid. Have fun, “girls”…