So.
The world is burning.
Not BMSworld.
But the tech world with the latest critical PHP vulnerability flaw…
Looking back to part 1 of this quick blog series, a few key points stand out:
Underlying Server OS (Ubuntu Server 18.04 LTS ESM) is too old for modern native cURL.
Underlying Server OS is too old for PHP 8.0+. Fun fact: bootstrapping PHP 8.2 was a mission in itself. It took roughly 6 hours to quite literally \”graft\” PHP 8.2 onto a completely unsupported OS.
Now, because I was smart (once) and set up BMSworld on top of Virtualmin, I have a wealth of features available. That includes a virtual webserver backup that can be restored to any other hardware running Virtualmin. It actually makes moving the entire website around nice and easy, just cumbersome, time-consuming, and currently a work-in-progress.
Today I set up a private FTP server so that Virtualmin can create a backup of only the virtual webserver. In response to the recent major security issues, I now have additional forms of redundancy including:
Hyper-V checkpoints daily, which are also backed up.
Two bare-metal backups of the BMSworld Hyper-V instance to two different USB hard drives.
A brand new backup of all BMS files written to tape (2.4 TB).
Once the FTP backup is completed, that will also be backed up to tape and stored offsite. After that, I will be able to restore BMSworld to a more modern server OS running Virtualmin.
And that is all well and good, but it does carry a lot of problems forward. Like the underlying messy file structure of all hosted download media. Fixing that will take weeks, and I am not even sure I can keep the lights on at this rate either.
As always, I will do my best.





