In principle, website hosting is simply a matter of building your pages – from HTML or PHP – and installing a web server, such as Apache. The web server then streams your pages across the internet to other computers that request them. The principle is simple, but the details are numerous.
Those details include server settings, IP addresses and domain name registration. Setting up your own server at home is possible if your ISP consents, but to be successful online, you need the services of a professional hosting company.
Each machine on the internet is identified by an IP address, which is a string of numbers. Your network access provider, or ISP, can only assign IP addresses from a fixed range, so to make sure everyone has one, they often assign you an IP address “dynamically”. That means it can change from day to day. To get around the problem of complicated and changing addresses, almost all websites buy domain names. Your domain name will then be mapped to your machine’s IP address on a DNS server. DNS stands for the “Domain Name System”.
You can buy domain names from a specialist domain reseller such as https://www.names.co.uk/domain-names. Many are discounted for the first year or two. Some hosting companies also offer a free or discounted domain name when you take up a hosting package with them, but you can’t always get the name you want.
Your entry on a DNS server is a bit like an entry in the Yellow Pages. Just because you are in the book doesn’t mean anybody will call. To get your website visited, you have to make sure people know you exist. That usually requires two things: good old-fashioned marketing and being indexed by the search engines, especially the biggest of them all, Google.
To appear in Google’s search results, your website has to be coded and written well. Again, using a good hosting company helps. Most now offer web builder packages or content management systems like WordPress that help you to build a powerful site that works well in Google.
Other things you need
In practice, most people need a bit more than server space and a domain name. Look for things like email addresses linked to your website (firstname.lastname@example.org) and SSL certificates to protect from hackers. Backup services and great customer support are also invaluable.