2. You need hosting service. Hosting is the physical place (servers) where the files for your website are stored and accessed from. Every website has to have this. I’d also recommend QTH because they are local and provide good customer service. Other popular services are Hostgator, and Bluehost. Any of these will work for you, just make sure they use the “cpanel” control panel, it will make it easier to manage. Cost for hosting will range in the $40 – $100 range for standard host service. If you plan on having an online store then it will be more.
3. A easy to use platform like WordPress where you can design and edit your website. WordPress is free. It is an open-source application, meaning it is free for anyone to use. It’s also fairly easy to get started, just use the cpanel from your hosting company to auto-install wordpress. It comes with some pre-made designs that are nice for playing around to get used to using it. Customizing so that it is tailored to your specific needs is trickier. If you have the time & patience then begin reading the wordpress documentation to get started. If however you have time constraints or just not interested in geeking out then I’d recommend you higher a professional to take care it for you. Cost will vary depending on what your needs are and which service you use.