Skip to main content

A Zero-Cost School Website

This, my first blog post, is not intended as a tutorial on Domain Name Registrars, Name Servers, DNS Records & Web Hosting. It is, basically, the account of how a UK school managed to reduce the ongoing costs of running a website. It will also serve as an aide memoire, should I ever need to do this again.

A little history:

/images/dfe.thumbnail.jpg

Some time ago the Department for Education allocated every school in the UK a domain name. They take the form www.schoolname.county.sch.uk. Unlike other domains, .sch.uk domains don't expire and don't attract any fees. However, at some point in the past, this school must have appointed a commercial Registrar to handle their domain name and, apparently, the Registrar didn't name the school as the Registrant. Not a big deal, but it will be significant later.

In addition to registering the domain name, the Registrar also hosted the DNS records, which is perfectly normal, but it's not clear whether they also hosted the website at that time.

In recent times, the school website has been hosted elsewhere meaning that there were two outside agencies involved; a Registrar was being paid for the DNS services and a separate Web hosting company was being paid for annual hosting and ad-hock updates to the content. Schools require lots of website updates!

/images/rpi.thumbnail.png

To reduce costs, it was decided to manage the website "in house"... quite literally, as it turned out! My "go to" for hosting a website would normally be a VPS provider such as Digital Ocean or Linode but, for business reasons that I don't understand, we couldn't do that. Instead, we used one of the school's public-facing IP addresses (we get about half a dozen from our ISP) and put a server on the other side of it. I say server, it's a Raspberry Pi and it's doing a solid job. The web traffic isn't big enough to trouble the Raspberry Pi or the connection to the ISP. This change alone represented a significant, four figure, annual saving!

Present day: So, we're now still using the original Registrar, but we no longer have a web hosting company... we are the web hosting company! This takes us down to just one outside agency... we're getting there.

/images/nominet-logo.thumbnail.jpg

Out of the blue in late 2017, we were advised that our Registrar was going into liquidation. This meant we had to change to another Registrar, didn't it? Well, no. After a few days of communication with Nominet, it was apparent that we could register the domain name directly with them, cutting out the middle man. Remember I said the school was not the Registrant? To get around this, Nominet were good enough to accept a letter from the Head Teacher asking for the domain to transferred to the Nominet TAG.

So that's the one remaining commercial provider, and their costs, removed from the management of the school's website... I thought! Nominet's control panel allows Name Servers to be set, but DNS records cannot be held with Nominet.

/images/nominet.thumbnail.jpg

At this point it dawned on me that, despite removing one Registrar from the mix, we were needing to put another one back into the pot to manage the DNS records. Web requests need to go to the web server, mail needs to go to the mail server (gmail) and, at the time of writing, there's an RDP-based server allowing staff to work remotely. DNS records do that! I actually felt rather depressed that I, seemingly, couldn't manage all this without a commercial Registrar after all. I needed advice.

/images/adminadminpodcast.thumbnail.jpg

Recently, I've been listening to The Admin Admin Podcast and I enjoy it enough that I've also joined their Telegram channel, so I can glean more wisdom between shows :-) I threw the above issue their way, initially to check the feasibility of running our own DNS server, and in literally five minutes the solution was presented - a Free DNS Management service called Hurricane Electric (I wasn't publically derided for suggesting running my own DNS server, on a Raspberry Pi, either!). Nice people.

I signed-up for a free acount quite easily. Then, in Nominet's Control Panel, set the nameservers to be Hurricane Electric's ns1.he.net, ns2.he.net, and so on. Then our DNS requirements needed setting-up, one by one, in Hurricane Electric's control panel.

/images/a-record.thumbnail.jpg

As you can see from Hurricane Electric's control panel, below, our DNS records have now been specified. These are a verbatim copy of what was held at the original Registrar (I thought to ask for them a year ago!) so, in theory, it was a simple ctrl+c/v of the last nine records in that list - the ones above those were automatically inserted by Hurricane Electric when I created the account, and I've left them alone.

/images/hurricane-electric.thumbnail.jpg

And we're done! As long as the magnitude of the web traffic remains low enough that the ISP isn't concerned (do ISPs still care about this kind of thing, these days?), and the Raspberry Pi can keep doing its thing, I'd say the school website is now zero-cost.