Earlier, I had written a post on how to turn your computer into a Windows file sharing server using a program called HFS. If you’re looking for a quick way to share the files on your local computer with friends or family, this is an easy way to do so.
However, if you’re looking to setup your own FTP server in windows using IIS, you can do so, but it requires more technical knowledge. Of course, it also gives your more granular control over sharing and security, so it’s better for anyone who has a little computer know-how.
How to setup and configure an FTP server in IIS
The first thing you’ll need to setup your own FTP Server in Windows is to make sure you have Internet Information Services (IIS) installed. Remember, this only comes with Windows XP or Windows Vista Business or higher.
Click on Start, Control Panel and go to Add/Remove Programs. Then click onAdd/Remove Windows Components.
In the components wizard, scroll down until you see IIS in the list and check it off. Before you click Next though, make sure you click on Details and then check off File Transfer Protocol (FTP) Service.
Click OK and then click Next. Windows will go ahead and install the necessary IIS files along with the FTP service. You may be asked to insert your Windows XP orWindows Vista disk at this point.
Setup and configure IIS for FTP
Once IIS has been installed, you may have to restart your computer. Now we want to go ahead and open the IIS configuration panel to setup our FTP server. So go toStart, then Control Panel and click on Administrative Tools. You should now see an icon for Internet Information Services.
When you open IIS for the first time, you’ll only see your computer name in the left hand menu. Go ahead and click the + symbol next to the computer name and you’ll see a couple of options like Web Sites, FTP Sites, etc. We’re interested in FTP Sites, so expand that out also. You should see Default FTP Site, click on it.
You’ll notice after you click on the default FTP site that there are a couple of buttons at the top that look like VCR buttons: Play, Stop, and Pause. If the Play button is greyed out, that means the FTP server is active. Your FTP server is now up and running! You can actually connect to it via your FTP client . I use Smart FTP, but you can use whatever you like best.
Open your FTP client software and type in localhost as the host name and chooseAnonymous for the login. Connect and you should now see an empty folder.
Ok, so that’s step 1! Now where the heck is this folder that you are currently viewing? Well the default FTP site is actually located in C:\Inetpub\ftproot. Open this directory and dump some files into it.
Now refresh on your FTP client and you should now see your files listed!
So you now have an up and running FTP server on your local computer. Before I show you how you can create separate folders that are stored in a different directory other than the default Inetpub folder, let’s first connect to our FTP server from another computer on the network.
In order to do this, you’ll have to open up the Windows Firewall to allow FTP connections to your computer, otherwise all external computers will be blocked. You can do this by going to Start, Control Panel and then clicking on Windows Firewall. Click on the Advanced Tab.
Under the Network Connection Settings section, make sure all of the connections are checked in the left list and then click on the Settings button. You’ll now be able to open certain ports on your computer on the service your computer is providing. Since we are hosting our own FTP server, we want to check off FTP Server.
A little popup window will appear with some settings that you can change, just leave it as it is and click OK. Click OK again at the main Windows Firewall window. You have now opened up the firewall for FTP connections. Now try to connect to your FTP site from a different computer on your network. You’ll need to get the IP address of the computer first before you can connect into it from a different computer.
Go to Start, click Run and type in CMD. Type IPCONFIG and jot down the number for IP Address:
In your FTP client on the other computer, type in the IP Address you just wrote down and connect anonymously. You should now be able to see all of your files just like you did on the FTP client that was on the local computer.
Now that the FTP site is working, you can create as many folders as you like for FTP purposes. In this way, when a user connects, they specify a path that will connect to one specific folder.
Back in IIS, right click on Default FTP Site and choose New, and then Virtual Directory.
When you create a virtual directory in IIS, you’re basically going to create an alias that points to a folder on the local hard drive. So in the wizard, the first thing you’ll be asked is for a alias name. Make is something simple and useful like “WordDocs” or “FreeMovies”, etc.
Click Next and now browse to the path where you want the alias to refer to. So if you have a bunch of movies you want to share, browse to that folder.
Click Next and choose whether you want it as Read access only or Read and Writeaccess. If you simply want to share files, check Read. If you want people to be able to upload files to your computer, choose Read and Write.
Click Next and then click Finish! Now you’ll see your new virtual directory below the default FTP site. You can connect to you using your FTP client by putting in the Path field “/Test” or “/NameOfFolder”.
Now you’ll only see the files that are in the folder we had browsed to.
And that’s about it! You can create as many folder as you like! The only thing other thing that you would need to do is to give out your public IP address to anyone who is connecting from outside of your internal network. If you want users to connect from anywhere in the world, you’ll have to give them your public IP address, which you can find out by going to http://whatismyipaddress.com/.
Finally, you’ll need to forward the FTP port on your router to your local computer that is hosting the FTP server. Port Forward is a great site to show you how to forward ports on your router to computers on your home network.