At a bare minimum, you should have your own domain name, a hosting account (where you can install WordPress), and an autoresponder (to collect email addresses and communicate with your audience).
I personally use (or have used) the following tools. The purchase any of these tools through my links may result in modest compensation to me.
Use OptimizePress for a professional looking website. Includes landing page builder/templates and much more. Takes care of all your hub needs and does it easier. Try OptimizePress Today
The first thing you should have is your own domain name - preferably a ".com" if possible. There are numerous places to register a name, but I've been using Godaddy.com for many years without any problems. After you have a registered name, then connect it to a hosting account (such as Bluehost) and install WordPress. After that you are ready to build your site. Register a domain Here.
Once you have your domain, it's time to link it to a hosting account. There are many web hosting services to choose from. Blue Host is one of the more popular ones. They have many options and plans to choose from. If you are just starting out, one of the lower-priced plans will be fine. You can always upgrade later. Once you are connected, you can install WordPress.Open your account Here.
You don't need to wait for your website to be fully built to start an email list. An autoresponder such as AWeber will collect and house your list. It will also allow you to communicate with and engage with your list. I've tried a few different autoresponders. So far AWeber is my favorite to use. You can try it free for 30 days.Open your account Here.