I set up my site by totally writing the HTML. But if you're starting from scratch, I'd recommend a site that offers a free symbolic editor. I think Yahoo has one, and I know there are others. You "free" host may or may not have one. On the other hand, you get what you pay for, and by accepting free services, you'll have to put up with BS like ads all over your page, low bandwidth, "canned" looking webpages, etc. Another way to go is just buy frontpage as blueroom has or maybe a lightweight (cheaper) editor package. You can use the HTML that gets generated from these programs to learn how the code works. Still another option is to use common tools, such as Microsoft Word to make your pages. You simply set up the page as you want and then chose "Save As Webpage" or something like that. I've generated pages using this method too, but don't expect to be able to make heads or tails of the HTML code; it's not human readable. Use a free version of WS-FTP for uploading the pages, or any other free FTP app.
Web sites are fun, but alot of work. I eventually lost interest in keeping mine up.
PS: Another option to making a full custom webpage is to have an account on Facebook or LinkedIn. These services allow some pretty good customization of your page.