Monday, December 22, 2008

FTP7 is a bitch

Here at work we're using GoGrid and their Win2k8 server images don't come equiped with FTP7. I found this out after running into some trouble with FTP6. I looked at some IIS7 sites and some mentioned FTP7 so I thought I'd use that instead.

I started off not knowing much about FTP servers in general but I assumed it'd be easy. To be honest, I think I was a port forward away from getting FTP6 to work before I bailed on it. But that's old news.

A few things to keep in mind: FTP servers come in two flavors, Active and Passive. From what I can tell, Active is a straight forward approach with two TCP ports being forwarded, Port 21 for the initial connection and Port 20 for data communications. Passive's data communications uses a range of ports. If you look up the IPv4 and IPv6 ports with netsh, it should make clear which you're using. You use another netsh command to forward the dynamic port range.

commands:
netsh int ipv4 show dynamicport tcp
netsh int ipv6 show dynamicport tcp

forward port range command:
netsh advfirewall set global StatefulFtp enable

You also have to assign permissions. This part is straight forward and well documented. The tricky part that goes along with permissions is the folder structure. You have to create a 'localuser' directory in 'ftproot' and the user's name in 'localuser'. If you don't do that, you'll get some kind of 'home not resolved' when you try and log in with a client side ftp application.

After understanding all these concepts, it made sense that the system would work and it did.

*Type of FTP
*Choose authentication type
*Create directory structure if necessary
*Forward necessary ports

And that's really it. If a reader out there thinks I should take a deeper look at FTP servers, than please leave a comment. I've got a lot to learn and some experience to gain.