How do I setup an FTP server on Windows 7?

I'm having trouble getting an FTP server setup on Windows 7.

I've added the service using Control Panel -> Programs -> Turn Windows features on and off.

I can see the service has started in Control Panel -> Services.

But then when I fire up a Windows command-line window, cmd, I get Not connected.,

C:\Users\mattf>ftp localhost
ftp> ls
Not connected.
ftp> open localhost
ftp> ls
Not connected.
ftp> dir
Not connected.
ftp> quit

C:\Users\mattf>

And that's as far as I've got. I have no idea why this isn't working - could it be firewall settings?


Solution 1:

I just replicated your results.

Contrary to Phoebus' comment, it appears you manage Windows 7 FTP sites with the same 7.5 management console as the web services.

Also, it appears as if Microsoft does not create an FTP site when the FTP service is created (as was done in the past).

After you've installed the FTP Service and IIS Management Console, perform the following steps.

  1. Run Administrative Tools | Internet Information Services (IIS) Manager
  2. Expand the local machine.
  3. Right-click Sites and Add FTP Site.
  4. Call it "Default FTP Site" with a path of "C:\inetpub\ftproot"; hit next
  5. Enable Start FTP site automatically, select Allow SSL; hit next
  6. Enable Anonymous Authentication; hit Finish

You should now be able to FTP to localhost. You may choose different options, but the options described above work for me and are very similar to the default options in IIS 6 FTP.

Note, you may also need to enable the FTP server in the firewall. For that use the following command.

netsh advfirewall firewall set rule group="FTP Server" new enable="yes"

Solution 2:

If all you want is a simple FTP server that you can set up and tear down easily I wouldn't suggest using the IIS method and getting everything configured. I had to do this last week to ftp the running-config from one of our Cisco switches. I looked around a bit and saw talk of using IIS which I thought was overkill. I stumbled across ftpdmin - http://www.sentex.net/~mwandel/ftpdmin/

I downloaded the binary, ran it from the command line like so: C:\> \path\to\ftpdmin.exe C:\path\to\ftp\root

If you're looking for a more permanent solution but don't really want to muck with IIS you could try FileZilla - http://filezilla-project.org/

Solution 3:

When installing the FTP service, under Internet Information Services, you tick FTP server (which you've probably already done, but also expand it and make sure the FTP service is also ticked. If both of these are checked and you have also installed the IIS Management Console (under web management tools), you will then see the option for FTP server.

I also tried it and found that the FTP service is needed to be installed as well. Then the option for FTP appeared.

Solution 4:

Jason Coombs left out one step that I struggled with for a little while:

Revised step 6:

Enable Anonymous Authentication; Select "Anonymous users" in Authorization: Allow access to: and click "Read" and "Write" under Permissions. Then select "Finish".