Sorry to have suggested something obvious!
Here's my proftpd.conf file, edited slightly to remove comments:
ServerName "FTP to Jim Kyle"
PassivePorts 51200 51299
UserAlias anonymous ftp
<Limit STOR CWD CDUP PWD SIZE REST>
<Limit READ DIRS DELE MKD>
<Limit RETR CWD CDUP PWD DIRS>
It took a while to get it all together, but it's been working the way I want it to for almost a year now so that my clients can send me large databases (up to a gigabyte at times) without them being exposed to public view, while anyone can browse the public directory. You can see it at ftp://jimkyle.dns2go.com/
and feel free to browse.