If you want to learn to design website from scratch, the best place to learn is from WWW Consortium itself (
World Wide Web Consortium), you can start by learning HTML from
Dave Raggett's Introduction to HTML.
However if you want to use a program to create website, then the best program would be Adobe Dreamweaver (formerly Macromedia Dreamweaver). You must also learn to edit image or picture, the best program will be Adobe Photoshop or Adobe Freehand (formerly Macromedia Freehand). And if you want a better website, you have to learn Adobe Flash Pro (formerly Macromedia Flash).
You can learn all this by buying book such as "Creative Suite 3 Integration: Photoshop, Illustrator, Indesign, Dreamweaver, Flash Pro, Acrobat, Bridge and Version Cue" written by Keith Martin.
Or, if you want to use program that already installed in many notebook and PCs, then you can use Microsoft FrontPage. Even Microsoft Word also can be saved as HTML. In this case, you can just look for FrontPage book.
However, today there are many ready scripts to be used, so that with a little effort you can have a website. If you want to have a portal website or CMS website, then you can look for Joomla, Mambo, XOOPS, PHP-Nuke, Post-NUke. Drupal. If you want a blog website, you can look for Wordpress, Pivot, b2evolution. If you want a forum website, you can look for phpBB, SMF. If you want e-commerce site, then you can look for osCommerce, phpShop. And there are many more scripts, including for advertising, poll/survey, gallery, faq, wiki, etc.