
This is a tutorial for setting up FTP Server on Windows XP Pro. There are many different operating systems available and I'm obviously not going to cover them all so I chose an operating system I feel most people are using. Even if you are not running XP Pro, you should still be able to get some understanding of FTP Server and it's setup. There are many standalone FTP Server programs available for free online that are very well documented. With a search on google for "free standalone FTP Server" you will find some with no problem, then you can read and decide which one you would like to try.
In the next paragraph I'm just going to go ahead and get into the tutorial without too much extra babbling so you can follow along a little easier. Like I've said before, if you have any questions please feel free to comment on this post. So without further a due, lets get into setting up your very own FTP server!
Start>Control Panel>Add or Remove Programs>Add/Remove Windows Components

This will bring up the "Windows Components Wizard". Scroll down the list and check Internet Information Services (IIS), with IIS selected, click the Details Button. Another IIS box will pop up, you need to place a check next to Common Files, (FTP)Service, and IIS Snap-In. Make sure those are selected then click the OK Button. You are now back to the Windows Component Wizard, click the Next Button to continue.
At this point you will likely need your Windows XP Pro CD to put in your CD drive. If prompted to do so, put your disc in and follow the wizard until the necessary files are successfully transferred. Wait a minute or two until this operation completes then continue on.
Start>Control Panel>Administrative Tools>Internet Information Services

Click the "+" to expand the menu's. Where my FTP Server is named "GaLiNd3z FTP Site" yours will be "Default FTP Site". Right-click on your default ftp site and then select properties. Here you can change the name if you wish. Note that TCP port 21 is the default port that will need to be opened for FTP communication to occur. However, you will also need to open port 20 on your router later, but for now leave this as is.
Select the Security Accounts tab and then place a check next to "Allow only anonymous connections" and "Allow IIS to control password". You don't have to do this if you don't want to, but if you use your windows account to log into your FTP site across the internet just know that your account can be compromised as your username and password will not be encrypted unless you are tunneling through a VPN. If you don't know what I just said, just trust me... it is much safer to only allow anonymous access. This access will only allow users to view the files you place in your FTP Site directory which we will be covering next.
Select the Home Directory tab. Here you can select which folder you want to make available to your FTP site. The default folder is c:\inetpub\ftproot. I like to keep it that way, but you can change it to whatever you choose. Here you can also select which privileges you want to give users (e.g. Read, Write, and Log visits).
If you want to make a message appear whenever anyone connects to your site you can do so by selecting the Messages tab and filling in the appropriate spaces provided. When you are done with these steps, click apply, then OK.
An FTP site is no good without any files so lets go and add some files. If you changed the default location, then you need to go to that location to add files, otherwise go to c:\inetpub\ftproot and add whatever files you wish to make available, then "Restart" your computer.
At this point you are half way done. You need to configure your router to forward TCP ports 20 and 21 to the machine that is running the FTP site. To access your router you will need to know your "Default Gateway". Press the windows key on your keyboard + R at the same time to bring up the "run" box. Type CMD in the run box to bring up a command box. In the command box type in "ipconfig" without the quotations. This will give you your IP address, subnet mask and default gateway. It will look something like this:

Now that you have your default gateway you need to open up your web browser (IE, or Firefox), in the address bar where you usually type in www.whatever.com you need to type in your default gateway, so in my example I would type in 192.168.1.1 then hit enter. This takes you to your router administration. You will need your username and password to access this information. If you have never changed it or have never been here before you can try username: admin or administrator and leave the password blank. If that does not work you need to find the documentation for your router. You can do this easily with a google search. You need to get the make and model number you can find them on the bottom of the router. I'm not going to spend too much time on this step, if you need more help... ask.
Once you are in you need to go through your menus and find the area that will let you forward ports or "Port Range Forward" it is usually a sub menu of "Applications & Gaming" of course all routers are different, but it should be something similar to this. Now what you want to do is create a rule that forwards TCP port 20 and 21 to the IP address of the FTP server (notice I said the IP address, not the default gateway). So again in my example I would forward TCP port 20 and 21 to 192.168.1.103, then save your changes and close the browser.
If you have any firewalls running other than the Windows Firewall, you also need to allow access through it. That's pretty much it. You now have a working FTP site that you can access your files from. If you only need access from within your home, then you have nothing else to do. Just open up a web browser and type in ftp://youripaddress (where youripaddress is the IP address you got from the command prompt) such as ftp://192.168.1.103 and you will see the files in your shared FTP folder.
Now that you got this far and you can share files throughout your home network, why not take the next step and make them available throughout the internet so that you can have access anywhere?
To do this you need a static IP address, if you don't know what I'm talking about then you probably do not have one. If you do have one then you are done, just use that IP address from any computer with ftp:// in the front of it and you are in there like swimwear. However, if you have a dynamic IP address like most people do, then you need to use a service that will control DNS information for you so that when your IP address changes you can still keep using one name and not have to worry about it.
This may not be making much sense right now... Its really quite simple but all you have to do is go to
DynDNS and register for a free Dynamic DNS account. Choose a name you would like to use and click add. You will need to create a free account there and also you will need to find your "public IP address" they have a tool on their site that will show you what it is and then match the name you chose to it. You can also go to
myipaddress.com to get your public IP address.
Please don't get confused with the different IP addresses. You basically have two of them. One is private (the one you got from the command prompt) and one is public. The private IP is good for you to use within your own home network and the public one you need to go onto the internet and is also the one your ISP uses to identify you.
Dynamic public IP address change every couple of days and what DynDNS does is track these changes and link them to one name that you choose. Therefore giving you what appears to be one static address. Again I don't want to go too much into this and if you have any questions... ask.
Once you have this set up you are done! Go share some files and make sure you aren't using this for something illegal. Use at your own risk, I'm not liable for any trouble you get yourself into. I showed you how to do it, now be safe out there and use it for a good cause.
Congratulations, you now have your very own FTP Server. More tech how-to's coming soon! :D