I wrote a post earlier on how to turn your computer into a Windows file sharing server using a couple of different programs. If you’re looking for a quick way to share files on your local computer with your friends or family, this is an easy way to do it.
However, if you want to set up your own FTP server on Windows using IIS, you can do it, but it will require additional technical knowledge. Of course, it also gives you finer granular control over sharing and security, so it’s better for those with a little computer know-how. Also, IIS is for website management, so if you want to run multiple websites along with an FTP server, then IIS is the best choice.
It’s also worth noting that different versions of IIS come with different versions of Windows, and they all have slightly different feature sets. IIS 5.0 ships with Windows 2000 and 5.1 ships with Windows XP Professional. IIS 6 was for Windows Server 2003 and Windows XP Professional 64-bit. IIS 7 was a complete rewrite of IIS and was included with Windows Server 2008 and Windows Vista.
IIS 7.5 was released with Windows 7, IIS 8 was released with Windows 8, and IIS 8.5 was released with Windows 8.1. If possible, it is best to use IIS 7.5 or higher, as they support most of the features and have better performance.
Set up and configure an FTP server in IIS
The first thing you need to set up your own FTP server on Windows is to make sure you have Internet Information Services (IIS) installed. Please be aware that IIS only comes with Windows Pro, Professional, Ultimate or Enterprise editions.
In Windows Vista and earlier, click Start, Control Panel and select Add or Remove Programs. Then click Add / Remove Windows Components. For Windows 7 and later, click Programs and Features in Control Panel, and then click Turn Windows Features On or Off.
In the Component Master, scroll down until you see IIS listed and mark it. However, before clicking Next, make sure you clicked Details and then checked File Transfer Protocol (FTP) Service.
For Windows 7 and later, click the box next to Internet Information Services and FTP Server. You also need to make sure that you have checked the “Web Management Tools” checkbox, otherwise you will not be able to manage IIS from the administrative tools in the future. For FTP, you need to check the FTP Service checkbox, otherwise you will not be able to create an FTP server.
Click OK, then click Next. Windows will continue to install the required IIS files along with the FTP service. At this point, you may be asked to insert a Windows XP or Windows Vista disc. No disk required for Windows 7 or newer.
Install and Configure IIS for FTP
Set up and configure IIS for FTP
After installing IIS, you may have to restart your computer. Now we want to go ahead and open the IIS configuration panel to configure the FTP server. So, go to Start, then to Control Panel and click on Administrative Tools. You should now see the Internet Information Services icon.
When you first open IIS in Vista or earlier, you: you will only see your computer name in the left menu. Go ahead and click on the + symbol next to the computer name and you will see several options such as websites, FTP sites, etc. We’re interested in FTP sites, so expand those as well. You should see the default FTP site. Click on it.
After you click on the default FTP site, you will notice that there are a couple of buttons at the top that look like buttons VCR: Play, Stop and Pause. If the play button is inactive, it means the FTP server is active. Your FTP server is now up and running! You can connect to it via FTP client software. I use SmartFTP, but you can use whatever you like best.
For Windows 7 and later, you will see a different look compared to IIS. Firstly, there is no play button or anything similar. In addition, you will see a lot of configuration options right on the home screen for authentication, SSL settings, directory browsing, etc.
To start an FTP server here, you need to right click on Sites and then select Add FTP Site.
The FTP Wizard will open, in which you start by giving your FTP site a name and choosing a physical location for the files.
Then you must configure the bindings and SSL. Bindings are basically the IP addresses that the FTP site should use. You can leave it as All Unassigned if you don’t plan on running any other website. Leave the “Start FTP site automatically” checkbox unchecked and select “No SSL” if you don’t understand certificates.
Finally, you need to set up authentication and authorization. You have to choose whether you want anonymous or basic authentication, or both. For authorization, you choose from all users, anonymous users or specific users.
In fact, you can access the FTP server locally by opening explorer and typing ftp: // localhost. If everything worked, you should see that the folder is loading without errors.
If you have an FTP program, you can do the same. Open your FTP client software, enter localhost as the hostname and select “Anonymous†to login. Connect and you should now see the folder.
Ok, now we have a website and it works! Where do you put the data you want to share now? In IIS, the default FTP site is actually at C: Inetpub ftproot. You can dump data there, but what if you already have data located somewhere else and don’t want to move it to inetpub?
On Windows 7 and up, you can choose whatever location you want through the wizard, but it’s still just one folder. If you want to add more folders to the FTP site, you need to add virtual directories. For now, just open the ftproot directory and copy a few files into it.
Now update your FTP client and you should now see your listed files! So now you have a working FTP server on your local machine. So how would you connect from another computer on the local network?
To do this, you need to open 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, clicking Windows Firewall, and then clicking the Advanced tab.
Under In the “Network Connection Settings” section, make sure all connections are checked in the left-hand list, and then click the “Settings” button. Now you will be able to open specific ports on your computer depending on the service provided by your computer. Since we have our own FTP server, we want to disable the FTP server.
A small pop-up window will appear with some settings that you can change, just leave it as it is and click OK. Click OK again on the main Windows Firewall window.
Windows 7 and later have a different process for opening the firewall port. Open Windows Firewall from Control Panel and then click “Advanced Settings” on the left. Then click on Inbound Rules and scroll down until you see FTP Server (FTP Inbound Traffic), right-click it and select Enable Rule.
Then click Outbound Rules and do the same for the FTP server (FTP traffic). Now you have opened firewall for FTP connections. Now try connecting to the FTP site from another computer on your network. You need to get the IP address of a computer before you can connect to it from another computer.
Open Start, click Run and type CMD. Enter IPCONFIG and write down the IP address number:
In the FTP client on another computer, enter the IP address you just wrote down and connected anonymously. You should now see all of your files just like you would on your FTP client on your local computer. Again, you can also go to explorer and just type FTP: \ ipaddress to connect.
Now that the FTP site is running, you can add as many folders as you like for the FTP Target. Thus, when the user connects, he specifies the path that will connect to one specific folder.
Back in IIS, right-click the default FTP site and select New and then Virtual. Catalog.
In Windows 7, right-click on the site name and select Add Virtual Directory.
When you create a virtual directory in IIS, you are basically going to create an alias that points to a folder on your local hard drive. So, in the wizard, the first thing you are asked is a nickname. Make is something simple and useful like “WordDocs” or “FreeMovies” etc.
Click Next “and navigate to the path where you want the alias to refer to. So, if you have multiple movies that you want to share, go to that folder.
Click Next and choose if you want. as read-only access or read-write access. If you just want to share files, check the Read box. If you want people to be able to download files to your computer, select Read and Write.
Click “Next” and then “Finish”! You will now see your new virtual directory under the default FTP site. On Windows 7 and later, the process is reduced to a single dialog, shown below:
You can connect to you using your FTP -client by placing “/ Test” or “/ NameOfFolder” in the Path field. In explorer, just enter ftp: // ipaddress / aliasname.
Now you will only see the files that are in the folder for which we have created an alias.
That’s all! You can create as many folders as you like! The only thing you need to do is give out your public IP address to everyone who connects from outside your internal network. If you want users to connect from anywhere in the world, you need to provide them with your public IP address, which you can find out by going to http://whatismyipaddress.com/.
Finally, you need to forward the FTP port on your router to the local computer that hosts the FTP server. Port Forward is a great site to show you how to forward ports on your router to computers on your home netw
ork. You should also read my other posts about port forwarding and
dynamic DNS:
What is port forwarding?
Setting up dynamic DNS for remote access
This is definitely a lot of information with a bunch of steps; if you have any questions about this, please leave a comment! Enjoy!
–
Comment on “How to Setup an FTP Server in Windows using IIS”