I was recently called in to help update an existing installation of OJS. It’s currently running OJS 3.1.0.0, and was installed using a Softaculous script.
So far, all I’ve done is make a backup copy of the database and all of the site files, and spent some time studying the config file.
In theory, we could upgrade using the Softaculous updater. But this installation is ancient of days, and I am wary. Perhaps if the site had been upgraded at regular intervals that would be fine. But it’s been eight years. I suspect it’s going to fail in one way or another.
At the same time, I would prefer to keep the Softaculous thing intact so that the site owners can adopt a more sensible upgrade cycle going forward without having to involve me each time. If I skip the Softaculous thing entirely, I worry that that would break Softaculous’ ability to upgrade anything and guarantee that the installation would have to be updated manually for the rest of eternity.
So what I’m thinking is:
- I create a fresh install of 3.1.0.0 on a VM.
- I import the existing DB and files on the VM and verify that everything is working.
- I upgrade the VM installation manually on the command line, up to the current version supported by Softaculous (currently version 3.5.0.1).
- We wipe out the files and DB on the production site and perform a fresh install of 3.5.0.1 using the Softaculous installer.
- I export the database and files from the VM, then import them on the production site.
I am hoping that will let us get the best of both worlds: a command line environment for performing this big upgrade, and also an installation on the production site that can be updated by Softaculous in future (as long as they actually do it once or twice a year).
Are there any obvious flaws in this plan? I have extensive experience working with LAMP software, but this’ll be my first go with OJS specifically.