So with 12 years of setting up e-business systems for customers, this next bit is quite straight forward. Having built some websites back in the day when you could charge £3k for a few HTML files, I can confirm things have moved on and the industry standard approach to creating a website is arguably deploying a content management system. Here is what we need our content management system to deliver:
- Web pages – containing contextual text, images, links and possibly videos
- Navigation system – a slick menu system which makes the site easy to get around and feel intuitive
- Blog posts – sets of posts split into contextual categories to display in specific areas of the site
- Social Networking – plugins enabling display integration of the key social networks
- Affiliate links – plugins which manage the creation and maintenance of affiliate links
So with this in mind I am already confirming my thoughts that we need to implement a blog type content management system (CMS), which ideally needs to be heavily supported by the plugin development community. This will enable us to develop the advanced functionality using plugins which provide it out of the box.
WordPress – the CMS of choice
Having considered the above list of requirements, WordPress stands out as our content management system of choice. Not only due to it being the industry standard blog based content management system, WordPress has a plethora of free and commercial plugins covering our feature list and I feel that by taking this route we are also future-proofing our site design – as if we decide to add functionality further down the line, the vast range and diverse features available from the plugin development community gives me the confidence that we will be able to find what we need.
So now we have identified the most basic outputs from our website and identified WordPress as the means to deliver that, lets look at what we need to set this up.
Linux – is our platform of choice
WordPress runs nicely on an Apache 2 Webserver – with PHP 7.2 or greater compiled in, with MySQL 5.6+, or MariaDB 10+ compiled in also. These features are typically provided within the common Linux based hosting packages.
There are 4 key considerations for the creation of a publicly accessible website. Theses are actually subsystems which we just need to understand the basics of, to enable us to make an informed choice of web-hosting provider and account specification. These are Domain registrar, dns-hosting, web-hosting and email-hosting.
The domain registrar is the place where you choose and register your domain names and certainly during my web-host days, the only configuration options available for registrars such as Nominet for .uk names, was to set the names of at least 2 x DNS servers at your chosen DNS host.
Use of Sub.Domains
The DNS host is the place were domain ‘Host Records’ point web browser requests to the web-server and ‘MX Records’ point the POP3, IMAP and SMTP requests to the to the mail-server. In most cases the DNS host is what is known as the ‘Start Of Authority’ for that domain – meaning that the DNS zone file for the domain is located on their DNS Server. The ability to manipulate the zone file also means that this is the place where sub-domains can be delegated, which simply put means that a single domain name can be pointed to an unlimited number of IP Addresses by changing the ‘host name’ which is the bit before the first dot. This comes in very handy enabling us to create domain mapping scenarios such as this which could be completely different websites. If fact they could be completely different web servers located on other side of the planet:
This is a also brilliant way to optimise brand identity whilst using a sensibly thought out host name structure to navigate a more complex setup – so it is worth considering.
HTTPS not HTTP
Note the ‘https’ rather than ‘http’, this means that we will need to use the Secure Socket Layer (SSL) for our website, effectively encrypting the data connection between user machine and the server. For affiliate marketing we will not be processing credit card transactions so there is no need for an expensive SSL certificate, but an absolute minimum is a basic certificate requiring just domain ownership confirmation via email to obtain. Any site where there is a user interaction such as entering login details really does need an encrypted data connection to protect site users including yourself from compromising situations such as identity theft. With this in mind you should also understand that your website ratings for key search engines will take a tumble if SSL is not deployed. With GDPR – the General Data Protection Regulations now in force across Europe, this is no bad thing.
My Analysis – My Choice
So this is not going to be 4 columns of features with highlights and deals as I am afraid there are too many variables in web-hosting despite this being a very common web-host site template. I will share what I have done, driven by the flexibility I need to run my home network which should cover all of your options.
Lets look my setup for ‘e-businesshosting.co.uk’ and the – so what:
- For this domain I use Gmail or Google Apps as it was setup about 7 years ago. At that point in time 10 x email users including 1 x catchall account could be obtained for free with 10Gb of server space to play with including email and any google apps. For me that is perfect as even if all else fails, email continuity is guaranteed.
- I have a home server running CentOS WebPanel Pro in a Hyper-V Virtual Machine.
- I connect to the net via the VirginMedia Business 350 Voom service with multiple fixed IP addresses, so the VM has a dedicated IP address to which all web requests are routed. The Virgin Business middle package is better value (including VAT) than residential which is really expensive until bundled with other services such as Phone and TV package which does not interest me being a Netflix and IPhone only boy.
- The 150Mb residential package comes with a single dynamic (but sticky) IP Address, so although I used this to connect my home server for quite some time using the port forwarding functionality of my router and DynSite to sync IP Address changes with the registrar, it is much less flexible but still very effective for running a single VPS. Also on Residential the upload speed is minute compared with the 15Mb which is a feature of the middle package making a real difference for server hosting scenarios.
- Standing between the Home Server and the net, I have a PFSense Firewall running on FreeBSD – in another Hyper-V VM. In this scenario the FreeBSD Firewall system is provided at zero cost.
- CentOS Web Panel comes with ‘LetsEncrypt’ SSL Certificate management built in, so SSL Certificates can be setup automatically at zero cost. It also runs Apache 2 and versions of PHP 5.6 – 7.2.1 – a different PHP version can be selected for each and every website. The website control panel includes point and click installation for WordPress.
- When I eventually gave up my Nominet Membership I saved £100/year but accepted that my domain hosting costs would increase. I believed it was important to migrate to a well known provider mature in the industry, hence low risk of going bust, my first port of call was not googling for web-hosting feature tables, it was stalking Companies House. I also wanted a comprehensive set of add-on features with a good set of integrated DNS controls, which would allow me the finite control over my zone file and enable subdomain delegation to servers running on networks using IPV4 and/or IPV6 IP addresses. This not only provided the flexibility I needed for today’s setup, but also enabled future-proofing for tomorrows, when I may not have a home server.
There is just one thing wrong with the above setup which I need to change quite urgently – the PFSense Firewall running in a VM on the Home Server is not ideal. It means running an additional network lead from the LAN port of the Home Server back to the router in addition to the incoming WAN feed – but in real terms that is just a cable. The biggest drawback is that when the server is taken offline for maintenance and updates, the VM running the firewall goes offline as well. So some tweaks to the local network config are required to bypass the firewall whilst updates are installed. This is not ideal so the solution to this – will be to install the Netgate integrated Firewall which is PFSense integrated into a smart device with ethernet ports. This way the firewall device can sit next to the Virgin Router eliminating the need for the additional cable and will run completely independent of the Home Server. It would not be a bad idea to look at the feasibility of running PFSense on a Raspberry PI instead of the Netgate device, as this could potentially provide a massive cost benefit. Once done my network and Home Server setup will be perfect.
Lets summarise the decision analysis future-proofing our needs from our prospective web services provider:
- Well known mature provider
- Withstands Companies House Due Diligence
- Reasonable cost
- Domain registration
- Linux Hosting Platform
- Apache 2 web-server
- PHP7.2 or above
- MySQL 5.6+ or MariaDb 10+ databases
- DNS Control Panel enabling finite control of the zone file
- Low cost basic authentication type SSL certificates
- Email sever with webmail feature if needed
- Ability to Upgrade from just domain hosting with web-hosting and VPS-hosting options to ensure scaleability
So I found a provider that satisfied all of the requirements, I have done most of the hard work for you. Click here to visit – 123-Reg. It will open in a new tab so you can flick between.
You do not need all the site builder stuff, just register your domain, select a hosting package and buy an SSL certificate for starters.
Please ask any questions. I will not tell you what you should do, but I will share what I would do and the reasons why.