# 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?

-
 First, it's better to add it through the "Add Features" option from the server management console than to do it the route that you went. Second, make sure you have IIS Management Studio 6.0 installed, as it is required even on Windows 7 to manage FTP. Do you have that installed? – phoebus Nov 16 '09 at 1:36 I don't think there's a Server Management Console in Windows 7. If there is, I don't know how to access it. Also, on my build, the FTP Service is managed through IIS 7.5 management console. – Jason R. Coombs Nov 16 '09 at 3:17 Sorry, for some reason I was thinking you were talking about 2008, not 7. – phoebus Nov 16 '09 at 5:45

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"

-

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/

-
 +1 ... I agree with the simplicity comment .. and both alternate suggestions are good. – tomjedrz Nov 16 '09 at 6:18 If IIS is allready installed on the system, there is no reason of adding another program. – Dementic Aug 24 '12 at 19:11

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.

-

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".

-