If you have a client you need to gather the business needs, goals and get all the content from them. Obviously, you might also need to plan some iterations with the client and plan how and when progress is going to get presented.
Let's assume you don't have a client. The first step is to think about : goals and content.
From there I would advice doing a content tree to see how large the site is. Try to keep it small but complete.
Once you have that think about functionality and how the pages interact with each other. Do some wireframes, drawings, prototypes, whatever you find more comfortable. Don't use color or images to start with. Color and images will only distract you at this stage.
Once you know what is the content, how large the site is, how the functionality works, start doing colored mock ups for the design. Ask other people, leave the computer and come back before you make up your mind, check sites that do similar things to see how the site competes in the web. Make sure this mock ups achieve what you wanted to achieve.
Once you have decided the style (you can only use one page- the most important one and once you are sure you can extrapolate it to the rest of the site), now it's time to define the templates, the grids, the consistency of the site.
Depending on your resources, write the code and start integrating back end and front end (where relevant).
Once you finish do some testing with users, cross-browsing testing and cross-platform testing. If you know responsive design, also test with mobile devices.
And you are all set. Last thing is to set google analytics or some other system to measure the response of the users. That will give you a good idea of what is working and what needs some work on.