Home hosting for Digitalham

 

History

When Digitalham first saw the light of day it joined several other of my sites I had written running on a part share of a dedicated webserver. On retirement I rather neglected my sites and their income no longer justified the rather expensive hosting so I moved them to shared hosting. Digitalham now stands alone and I can’t even justify using shared hosting for it so I have set up my own home server to run it which has been quite fun. Hopefully the frequent issues I had with FTP failing to upload my weather satellite pictures will be resolved as it is now just a local network transfer.

The internet connection

I am using my Plusnet FTTC connection which runs at 80Mbps downstream 20Mbps upstream very reliably and has a fixed IP. Clearly the 20Mpbs maximum page delivery is less that that offered by an internet backbone connected server but that bandwidth is virtually dedicated to Digitalham as is the server itself and the overall performance is now better than it ever has been.

The server hardware

I checked eBay and picked a battered Dell Optiplex-590 with an Intel Core I3-2120 processor, 2GB of memory and a 1TB hard drive. I added a 2GB stick of memory I already had and swapped the mechanical hard drive for a 120GB SSD. This runs headless and I was led a merry dance trying to suppress some error maessages which lead to a press F1 to continue untill I found that the BIOS was smart enough to bypass the need for a keyboard response when there wasn’t one connected.



The server software

On the recommendation of #1 son M0XDK I am using Ubuntu LTS NGINX PHP-fpm and MySql. I also use Let’s Encrypt to provide whole site encryption. I updated my rather ancient code from the mysql interface to mysqli and am now able to use PHP 7. The result is my site monitoring script is now showing an average delivery of the initial html of 0.145 seconds while shared hosting was closer to 1s. Pingdom reports complete load times of 1.5 seconds which is much better than with the shared hosting despite only having 20Mbps upstream.

For the majority of work on the server I simply use a Putty SSH connection although I have set that up to tunnel TightVNC for the odd occasion I want to use a graphical interface such as setting up WXtoImg which I hope to eventually run on the server so I can turn off the Windows machine when not in use.

Server configuration

Installing Ubuntu is no more complex than downloading the ISO, burning it to CD, booting from the CD, and selecting the install option.
Then came the rest of the software all of which is fortunately well documented elsewhere because I had no clue how to do it so simply followed guides found on google.

Gotchas found

One issue I haven’t resolved is mailing from the server. My home Gmail account and presumably many others rejects the mails as they are regarded as spam. I may just live with that. Meanwhile I have closed off comments (no big loss as the open comment forms attracted spammers like a magnet) and modified the contact page to use a simple mailto: link (only available after captcha completion).

I was hosting a weather cam and serving the output of my weather station in an iframe. For some reason I haven’t solved the iframe stopped working. For now I have just scrapped the old Northampton weather page as it had few visits anyway. I can still view the weather station output myself.

My biggest shock was finding that there is no equivalent of Macrium Reflect on Linux which means I can’t simply take an image of the system with it running should there be a hardware failure so right now if there is such a failure I’ll have to go through the install and config process again. I do keep database backups and obviously already have all my site code but recovery could easily take me a day. I may set up a backup server so I can simply restore the latest site code and database and bring that up instead in the event of a failure.