The first and foremost thing to do before starting a website is to make a consolidated plan. It must include some basics like theme/niche of the website, domain name, traffic expected, type of server needed, platform for the website, eCommerce solution etc. This would help you decide on your budget. Now if you want, you can take help of Professional Web Developers like Softtechnics, which will do all the thinking, coding and all other work and deliver you a fully developed website within short time.
If you wanna go DIY style, then you must first decide on the domain name and check whether its available. With Google Panda update EMD will not be a good idea, go for unique brand-able domain.
After this choose which type hosting will you need. For content only websites with very few scripts, you can go with shared hosting for initial period till your website starts getting good traffic, later you can switch to VPS or Dedicated Server. But if your website would be providing online applications or hosting lot of scripts, it would be better to go for VPS or Dedicated Server from start only.
Next you'll need design, if you can code and design its good, else you'll need to hire a designer and coder (they need not be the same person). Look for attractive, user friendly and search engine friendly design.
If you want to sell something on your website you'll need an eCommerce solution. Lots of free and paid options available over internet, or you can go for customized solution which will need a programmer.
Now one of the most important thing to do - SEO - Search Engine Optimization. Again you can go DIY or hire some SEO expert. This is important because Search Engine provides lot of high quality traffic for FREE.
These are some basic techniques that'll be needed to run your website successfully.