I know that your question has already been answered a few times, but here's my 2 cents for everything.
HTML (HyperTextMarkupLanguage) is exactly where you want to start. It is the basic building block to essentially every webpage. It's definately not the hardest language to learn; infact, it could be considered one of the easier languages out there.
I don't know your full intention of what you want to do with your website, but if you're going for a personal webpage to show your friends and family, you may want to use a generator (a program used to write code for you as you design a page/site) and get the job done much quicker. You could use Microsoft FrontPage if you have Windows office, or go to Yahoo! Geocities. With some exceptions you can get a free domain, host, and generator all in one. Also, many other websites out there can set you up with a free account (including free hosting, subdomains, etc).
But you would really like to sit down and learn the language, great! www.w3schools.org is a wonderful reference website, and I'm pleased to see how many people know of it. However, Death Slaught made a great statement, althought it may have great tutorials, it's still more of a reference website.
Take a look at their HTML tutorial and get a feel of what you'll be learning.
But, a book is definately an excellent way to get started. My suggestion would be the Sam's Teach Yourself in 24 Hours series. You may want to look for either Sam's Teach Yourself in 24 Hours HTML4.01 or Sam's Teach Yourself in 24 Hours HTML and CSS.
Unlike the tutorials, they'll explain in depth what everything is, what they are used for, etc.
The best thing to keep in mind is, don't limit yourselft to one or the other, try both! It can only help.
To answer the rest of your questions of how to publish your website in short is...
All of the codes that you will write (in this case HTML) are saved into a document. As stated before, you can use a program like notepad. (An HTML document must have a file extention of .html or .htm [i.e. myfile.html] - much like how you save a image as .jpg, .gif, or .png)
When you are ready to publish your webpage you upload the file to your host. (The host is connected to a server, which is what connects your website to the internet. Some places that will host for you are www.yahoo.com, www.branzone.com, www.startlogic.com, www.athost.net.) When you sign up, you'll be asked what you want to title your website; this will usually become your domain name. (An example of a domain name is mydomain.org). Once connected to the internet you'll get a full URL (Uniform Resource Locator) which will look like http://www.mywebsite.org.
Although you need a host to go online, you don't need one to view your work on your own computer. When you save the file onto your computer, you can view it in your favorite browser.
I hope that I could help in one way or another. Good luck, have fun!