Let's step through the components of getting your own website booked and hosted, and also how to build it. Again, while having tech expertise helps, you need almost no tech experience to create a website.
As a disclaimer, this article is mostly directed to an audience with little to no technical background; people who are just starting to consider the idea of getting their first website.
- A domain name (thatguyfromnebraska.com, for example)
- A DNS server supplier
- A website hosting provider
- A way to build your website code
Step 1 - Booking Your Domain Name
When you use a registrar to book a domain, you're essentially paying the people who manage name registration for the Internet for the rights to your domain name. Note that you're only paying for the rights to the name, and nothing else. The domain name is useless in itself unless you have DNS and something, such as a web server, to point the domain to.
Now, a common misconception at this point is that all domains can be booked for under $20. This isn't exactly the case. Domains are divided into two groups known as regular domains and premium domains. Regular domains are your run-of-the-mill $20/year domain, and are categorized the way they are because they aren't an incredibly high-profile name for whatever reason (thatguyfromnebraska.com is a regular domain). Premium domains usually have short names, and you can immediately tell them apart because of the price to book them; this is usually in the thousands of dollars (dyn.com is a premium domain, for example).
Another noteworthy point is that a large number of domain registrars will also give you the option to use them as your DNS server supplier as well, and may offer a price discount if you choose to do DNS with them if you're already using their domain name registration. I'll describe this a little more in Step 2, but this is usually the route you want to go down if you don't already have another dedicated vendor for DNS.
Once you've registered your domain, you'll be asked to provide administration and technical contact information for the domain. Use either yours or your company's contact details for this, and make sure they're correct. This information is used to show to the world who owns this domain.
Step 2 - Setting Up DNS Servers
Computers have to use IP addresses to communicate due to the way that traffic is routed and categorized on the Internet. Using a human-readable name to direct traffic on a computer's circuitry level would be a nightmare from a technical standpoint!
Now, you might be thinking "then how does the Internet work, since it clearly does use human-readable names for servers?". Great question! This is where DNS comes into play. A DNS server takes a computer's IP address, and ties it to a record entry for a human-readable name. So, I don't have to go to http://188.8.131.52 in my web browser! I can instead type in http://thatguyfromnebraska.com, and my computer will query the DNS server for my domain and ask it what IP address the web server for my domain name has! My computer then goes to that server based on it's IP address, and voila! My website appears!
As I mentioned it Step 1, it's usually easiest to use the same vendor as your domain registration for your DNS as well. They usually offer a price cut to do this, and often set your domain name up to point to their DNS servers by default. Since each vendor does this a little differently, you might have to contact their technicial support staff to find out how to point your newly-acquired domain name to your DNS servers. Tech support can also help answer any questions you have regarding this. I can offer assistance as well (see my contact info page).
Step 3 - Choosing A Website Hosting Provider
To offer some clarification, a website hosting provider is the one that gives you access to a web server on which to store your website content.
I use Weebly personally for my site; one of the nice things about Weebly and Wix, for example, is that they also have integrated tools for designing a website as part of your web hosting package. This makes it really easy to set up your site even if you have zero programming experience! Squarespace and VistaPrint are also a few other vendors that have similar web hosting/design packages. If you're not very technical and aren't sure what to do, this is usually the route you want to go down.
You can design your website with these vendors, then take it live once you've finished building it, eliminating the need for Step 4. If you're more code-savvy and want some of the really nice features that the tools in Weebly and Squarespace can't give you, then you'll need to buy separate tools, which I'll touch on in Step 4.
Step 4 - Designing Your Website
You also have the option of using a website "skeleton" for designing the site. WordPress, Joomla, and Magento are some options that let you build a website for free that's virtually fine-tunable up into the sky. They do require a much steeper technical learning curve to use. I'd actually recommend against using this method, as an engineer that has dealt with hundreds of security problems with these frameworks over the years (they're much easier to hack into). I mention it because a large number of web developers still favor designing websites using this method.
If you're just starting out with a website, and aren't too computer-savvy, then skip this step altogether. Seriously! Just go with a vendor like Weebly which lets you build a site using easy-to-use tools, and is pretty secure at the end of the day.
You've Got Your Tools, Now to Take the Site Live!
What's involved in this is working with your hosting vendor and making sure the site is completely ready to go live (sometimes additional billing aspects come into play in this regard, so talk to your hosting vendor if you're not sure). You'll then need to "point" your DNS servers to the server that your website is going to be hosted on; again, the hosting vendor will provide you with the IP address for the server to use.
Once you have your IP address, you have to point the 'www' and '@' records of your DNS server to the web hosting server. Different vendors do this in different ways, so consult with them if it's not apparently obvious as to how you can make this change. The change may take up to 24 hours to propagate around the world after it's made.
That's about all you'll need to do, give or take a few minor details. Questions or comments? I'd love to hear them!