If I can set up an FTP, anyone can. I'm new to Linux, and was able to set it up in a few days. Most of those days were spent reading posts here on linuxquestions.org. Here's a summary of what I found. I hope this helps and doesn't confuse/
I too was used to a Windows Gui FTP program, but after a little reading and research here on the site, it wasn't difficult at all to set up an FTP service. I'm on Red Hat 9 as well and I use the default FTP server vsftpd. Basically you have to approach the concept of an FTP server a differently than a gui in Windows. What's happening is that you are essentially letting your ftp client's log on to your linux account as a user, then you can limit the user's accessibility however you want.
Here's the steps that I used (and most of them can be done with a gui).
1. Make sure that you have vsftpd installed. Go to start/system settings/ "add/remove programs" and check under servers that you have ftp checked. If not, install it by putting a check mark by it and hit update.
2. Start the vsftpd service. Go to start > system settings > server settings > services. When you open services, check to see that vsftp is checked. If not check it and click on start.
3. Open incoming ftp service in your firewall. Go to start > system settings > security level and make sure that incoming ftp is allowed. Also make sure that if you have changed an other items here, re-select it because the services return to default each time you click on the OK tab.
4. Set up users. I had a couple of friends outside my network who I wanted to access a folder on my ftp, so I set up an account for each user and put them all in a single group named ftpusers. The way you do this is to go to start > system settings > users and groups.
Click on add groups, name it, and click on "OK"
Click on add user, choose their name and password, select their home folder (if you want all of the users to share the same folder make the home folder the same for all users in a group). I didn't select "make a private group for user", I went back after clicking "OK" and edited the properties to make each user a member of my "ftpuser" group.
5. Test it on your home network. Find out your internal network IP. Go to another computer in your network, and using whatever FTP client you choose enter your FTP addy there. If you didn't allow anonymous enter the addy like this ftp://email@example.com
(or whatever you IP is), then you will be prompted for your password.
6. If you want to open your FTP to users outside of your network. Open the ports for FTP on 20 and 21 (vsftpd uses 20 as default), and make sure that they are forwarded to the IP of your server machine. If want to open this to the outside world, I would strongly recommend that you refuse anonymous logins. Vsftpd allows anonymous logins by default.
7. Configure/ customize your ftp. To change your default settings for vsftpd go to /etc/vsftpd , get root privledges, open vsftpd.conf by typing kwrite vsftpd.conf at the prompt. I would recommend saving a backup to this file before you edit it. I named ming vsftpd.conf.backup. To refuse anonymous logins just set "anonymous_enable=NO". Simple as that. Hit save and you are done. If you want to tweak it any more, vsftpd.conf is well commented and you can customize your setup from there. One thing to keep in mind, there is a bug in vsftpd.conf that if you hit enter after making an edit, it will cause an error with vsftpd. So make sure you are careful when editing this file.
Hope this helps. It's really not that difficult once you understand how it all works in linux. Good luck ( and I apologize in advance if I've made any mistakes, I'm new to linux, but still got my ftp up and humming)