New Room Booking System

Task 2 from my Summer Projects list was a bit more interesting…

With our exchange servers’ impending doom I needed to look at a new method for staff to book ICT facilities. I installed a new system called Booked Scheduler running on an Mac Mini on our local network but it’s pushing 7 years old and I was concerned that it might fail mid-term. I decided to move it onto a web host for greater resilience and to allow staff to book rooms out with normal school hours.

Initially I guessed it would be an easy task. Set up a subdomain on the school webspace, install booked scheduler and transfer the database…didn’t quite out like that. Turns out that creating a subdomain on our school webspace required a WAN change which is chargeable though not overly expensive (in the region of £50-£100).

Securing the funds so close to the end of term would have been cutting it close, so I decided to investigate hosting on the server that hosts I’m able to add on additional domains for minimal cost…so I purchased and setup a subdomain there for our school; the fee also includes unlimited subdomains so I can set up accounts for other schools for no additional cost. They offer the bonus of free SSL certificates on all domains and subdomains to ensure data transfer is secure.

The setup on my web host was fairly simple; but I wanted to make sure that moving the system onto an external server I had a robust backup system in place. While my host performs daily backups, I’m always reluctant to rely on systems that I haven’t setup myself. Booked stores everything in a MySQL database so I’m confident that provided I can backup the database then I have a backup of the full setup. A quick Google led me to this page which contains a PHP script I can trigger with a cron job. It was a bit out of date and required digging through the comments/making a few changes to make it to do what I wanted. I’ve adapted the script/cron job to backup twice per day and keep each backup on the server for 7 days (14 backups in total). My version of the full backup script is available here. The final pice of the puzzle was to check the physical location of the server before we start using it. My web hosts were able to confirm that the data was all held within the EU, in Romania, but offered be the option of migrating to a datacenter in Roubaix, Northern France. The French datacenter has a marginally better uptime record at 99.999%(!!) vs 99.995% so I requested the transfer; they completed this process for free in around 12 hours!

If you’re interesting in seeing a working version of my setup, you can find out more here.