NZ Techonverse: The fun and joy of self hosting blogs…

First published on NZ Techonverse

This blog, and all the others I have started on WordPress, have now moved to a hosting platform, a Godaddy economy Linux package with 100 GB of disk space. It has various resource limitations, but it will fit the bill, especially with an introductory package price of $20.50 for the first year. The domain cost about $30. Self hosting can be a lot of fun but also a lot of work. It is made a lot easier to set up with the inclusion of cPanel, which installs WordPress automatically. In this case, I have the “parent” at converser.nz, and this blog and six others, giving me eight separate WordPress installations, each with its own database, which is close to the limit of 10 databases in total that this package allows. WordPress does have a multisite feature that I could use in theory, but it requires certain types of configuration of the web server, and it’s quite possible multisite would not be supported in this web host package. I elected not to try and find out, and instead carry on with the eight separate installations, since nothing else is expected to run on the server in future, except maybe for testing purposes.

The one thing that is needed and hasn’t been finalised to date is SSL certification. The site is in fact running on a trial certificate from Sectigo right now, but I have discovered Let’s Encrypt since then, and so within the month that is what the site will change over onto. Even if I have to manually renew the certificate every few months, it means the annual hosting costs will be about $150, because the certificate could easily add another $100.

If one desires to use hosted WordPress, there are many options that including paying around $100/year to WordPress for just one blog, not including the domain. I think off recollection that was the cheapest option with WordPress. And at that, if you have several blogs, it becomes expensive enough that rolling it yourself on a third party site is the more desirable option.

I am attempting to think long term with this hosting, whilst at the same time acknowledging uncertainty. It is really a step of faith for me to be setting up a platform that is primarily for me to blog about theological matters, although the seven blogs cover a range of interests. I also hope I won’t have to cover the nzrailmaps hosting costs as well, after having moved it to its own site, although the cost of the two sites combined would be $22/month which is almost the same as I was paying SmugMug to host nzrailmaps for the last few months. The long term plan for nzrailmaps is to find ways to get community support for it in one form or another, so that the greater part of its annual costs will be covered.

Let’s just have a plug here for Linux and open source. The web hosting is a LAMP platform, with Linux, Apache, MySQL and PHP. Being open source and essentially free, helps to keep the costs down, and really is why Linux dominates web hosting these days. A shared web hosting platform means that the Apache web server is set up for “virtual hosting” whereby each end user or client gets their own root directory (/) that in reality is not actually at the root of the server itself, but is in a named folder in the server’s /home. Apache just makes it look that way so that the highest folder the user can ever have access to appears as / in their file system tree that they can see in whatever they use as a file manager, but in reality the user never gets to see any of what makes up the core operations of the server itself. This is a great and wonderful way of preventing the end user from messing up parts of the server they don’t need access to. The obvious downside is the risk that someone else will do something silly and either slow down or crash the server, which the intention is to try and stop happening as much as possible, and I don’t really know how the server is able to arbitrate reasonably so that everyone hosted on it gets their entitled quota of CPU or memory usage or whatever.

The blogs are all set up to be accessed in sub folders off www.converser.nz so the home page of this blog appears at http://www.converser.nz/nztechonverse/. When I first set up the blogs the intention was to use subdomains instead, so that this blog would appear at http://nztechonverse.converser.nz/. The main issue for that is needing a certificate that can handle multiple domains, which can be quite expensive compared to one that just handles a single domain. So, as I was expecting at that stage that I would have to pay for a certificate and the cheapest option would be subfolder rather than subdomain, I reconfigured all the blogs to use subfolder instead, although the subdomains will still point to the home page of each blog. Ideally you could do both, and use the subdomain for public access (reading) and subfolder for logging in and posting. Unfortunately WordPress does not allow both at the same time, you can only use one or the other. The reason for this is that articles are typically given a permalink that might look like www.converser.nz/nztechonverse/2020/10/the-fun-and-joy-of-self-hosting-blogs and whilst that looks like a full URL, it actually isn’t at all. All the bits after www.converser.nz/nztechonverse/ are actually not subfolders to a final web page a couple of levels down at all. Instead there is this clever translation of the rest of the URL to an article that is not a static web page, but is made up of various pieces that are retrieved from the mySQL database server. This means that you have to tell WordPress where the site is actually hosted and what the first part of the URL is. So whereas with a normal static web server I could use http://www.converser.nz/nztechonverse/2020/10/the-fun-and-joy-of-self-hosting-blogs interchangeably with http://nztechonverse.converser.nz/2020/10/the-fun-and-joy-of-self-hosting-blogs , in reality WordPress only recognises the first form and using the second form will just get you a Server 500 error message. As I said you can use http://techonverse.converser.nz to reach the home page of this blog, but any links further in are all absolute paths starting with http://www.converser.nz/nztechonverse and that’s just the way it is.

So that’s just a brief discussion about the hosting of these blogs as a kind of technical introduction to this platform. When a post is made on this site, a plugin running on the group page www.converser.nz runs hourly to retrieve any new posts and then it syndicates each post to the group page. Previously this was done with IFTTT applets but I have stopped using them as they now want to charge exhorbitant annual fees for more than 3 apps on an account. The usefulness of getting a single feed off www.converser.nz is somewhat spoiled by the plugin inserting its own tags into the RSS that make it non standard and incompatible with some readers, although the likes of Thunderbird handle it OK. But email subscription via WordPress.com is handled quite well, as good as Feedburner.

Read More