My process generally looks a bit like this:
1. Features. With pencil and paper, lay out the distinct features / pages that will comprise the site. This gets at the broad stroke questions - are you building a simple info and graphic site for your mom? an ecommerce solution for a small business? a blog / gallery for a photographer friend? Your answer will determine a lot about the build path you will need to follow. This stage may also involve considerable discussion with a client or whomever is driving the boat (if it isn't you).
2. Wireframe. With all necessary features laid out, work up a wireframe. Either on paper or with a tool like fireworks that will allow you to build in very simple navigational functionality. If you are working with a CMS like wordpress, how is your static content going to be handled? This might also be a good time to start thinking about file structure. If your project will need a custom database, now is also the time to start planning its design and implementation. This is a critical stage, as smart planning will save a lot of backtracking and reworking, should errors get made, or the project creep happens.
3. Technology. Once the planning stage is relatively worked out - pick your technologies. Are you doing straight html? a php cms in a lamp environment? .net mvc storefront? These questions may influence what hosting environment will be required, as well as costs to run the thing. If you are doing a storefront, security is a primary concern here (SSLs and PCI compliance, for example). Make sure you have a great testing environment (localhost, or otherwise) established.
4. Design / Layout. When your feature list and wireframe is pretty well determined, you can start thinking about the design of the site. Knowing what is going to fill the pages is, obviously, a pre-requisite. I like to work in photoshop, and make heavy use of folders as an analogue to your markup structure. I go so far as to name them with the intended markup and css identifiers. Though its probably wise to do some free form drawing before you get really detailed. I tend to make use of "layout" files that I will pull elements from, and place into "process" files - files that i use to output production graphics.
5. Markup / CSS. Once a pretty clean design is worked out (given that it will certainly flex a bit, as you go into production mode) you can start writing markup. I generally like to have a standard layout that will accommodate all content in the site. So - clean and flexible should be the key point here. Layout markup should be fairly complete before you start writing CSS, but I find they do a lot to inform eachother. You also will do a lot of SEO optimization in this stage (proper naming of images or A tags, meta info, doctypes etc...) Be thorough.
5.1 Theme Management. If you are working with a CMS, and your design will be employed as a customized theme, find some tutorials on how exactly to do that for your intended application. This can be daunting, frankly ;) I will always build a static markup layout with fairly complete CSS prior to chopping it up into theme elements.
7. Content. Unless the design is reliant on content (images are sometimes content, for example) = I generally use placeholder text/graphics until the design and behavior is pretty well established. Avoid doing work more than once. If you are filling in product data, careful error checking and testing will be required.
At that point, there always seems to be a period of reworking and fixing and polishing. But, essentially, its time to make it live. Then go have a snack.
Hmmm. I guess thats more than just "how to start". But maybe it helps, anyway. Good luck!