Ftp servers can be used to transfer files to a web server or download files from a web server. Windows 8 has an inbuilt ftp server that can be used to do this. Setting up the inbuilt ftp server of windows 8 requires more steps than installing a 3rd party ftp server. However we are going to try to do it in this tutorial.
Turn on FTP
The first step is to turn the inbuilt ftp server ON. To do this go inside "Control Panel > Programs and Features". Click "Turn windows features on or off" on the left panel. A dialog box would popup. Expand the entry called "Internet Information Services" and select the following items.
1. Ftp server > Ftp extensibility 2. Ftp server > Ftp Service 3. Web Management Tools > IIS Management Console
And hit OK. It will apply the changes and will enable the services.
Configure a FTP site/directory
Now create a directory that you would like to share over the ftp server. For example "ftp_files" in C drive. After creating this directory get back to the Control Panel and go inside "Administrative Tools". In there click "Internet Information Services (IIS) Manager". On the next window, in the left pane expand the tree and right click Sites and click "Add FTP Site".
After that a dialog wizard would come up which would ask for the following information.
1. Site Information - Ftp site name and physical path to the directory.
2. Binding and SSL settings - Bind to "All unassigned" or your local ip address. Check "Start FTP automatically" and select "No SSL".
3. Authorization and Authentication Information - Select Anonymous for Authentication. Allow access to all users.
Now the ftp web server is fully configured. However 1 more important step remains before it can be used. It is to configure the windows firewall to allow this ftp server to accept connections from outside.
Configure Windows Firewall
Get back to the Control Panel and get inside "Windows Firewall". On the left panel click "Allow an app or feature through windows firewall". In the next dialog box, enable "FTP Server" and check "Private". Click OK and close.
Now everything is setup. Try accessing this ftp server from some other machine by opening the url ftp://ip_address.
The ip_address can be found out by running the ipconfig command from the command prompt.
What about enabling port 20 for active FTP sessions? I did this (thanks, btw!) and can connect but cannot list – get “Cannot open data connection.” My firewall shows port 21 open, and PASV ports 1024-65535, but not the active FTP port 20 for data transfer.