We currently have the old, unsupported upgrade path version 2.4 on an old Windows box, and would like to migrate it to OJS3 on a RHEL7 Linux server. I’ve seen a lot of discussions about going from 2.0 to 2.4, then to 3, but nothing about changing platforms in conjunction with an upgrade to OJS3.
Is there any recommended path for this? Has anyone successfully pulled this off?
What specific version of PHP5 are you using? If it’s older than 5.6, then you’ll need to run the upgrade on the new machine. If it’s 5.6 or newer, then you can perform the upgrade on either machine. I’d suggest running it in the environment you’re most comfortable with.
Public Knowledge Project Team
Alec, sincere apologies for missing your reply in an attempt to help. To make matters worse, it was actually OJS version 126.96.36.199 on the old Windows 2003 box, so I did have an additional upgrade step to 2.4 to pull this off. Anyway, in case it helps anyone that sees this in the future, my basic steps to accomplish this ended up being:
Spin up the RHEL7 LAMP stack with:
Apache 2.4.6, PHP 5.6.37, and installed MySQL 5.5 to match the MySQL the old Windows 2003 server, using the 5.5 manually installed .rpm packages
Install OJS 188.8.131.52 on RHEL server to match the version installed on Windows 2003, despite the version being incompatible with this level of PHP - certain features like the entire journal manager did not work, but knew I would be moving past this version anyway, a gamble but ended up working
Take MySQLdump of Windows 2003 server OJS database and import in to OJS database on matching version level in RHEL server
Copy OJS files directory in the same folder structure style as on Windows 2003 and point config.inc.php to it
Configured config.inc.php to match old Windows 2003 OJS configuration
I then had a semi-functioning OJS 184.108.40.206 on a new RHEL server.
Used the .patch instructions to bring 220.127.116.11 to 18.104.22.168:
patch -p1< ojs-2.3.3-2_to_2.4.8-3.patch
php tools/upgrade.php upgrade
Now since 22.214.171.124 is compatible with the level of PHP I left on it, I had a fully functioning 126.96.36.199 on my Linux box with valid OJS data from the Windows 2003 box.
Extracted tar -zxf ojs-3.1.1-2.tar.gz to a subfolder of my current OJS directory. I did not copy my 188.8.131.52 config.inc.php to it and instead reconfigured the new one in the 3.1.1-2 subfolder manually, pointing it to my 184.108.40.206 database and files.
From this 3.1.1-2 subfolder I ran after setting Installed=Off:
php tools/upgrade.php upgrade
This failed several times with “invalid file”, resetting the database back to a fresh copy of my 220.127.116.11 database after each failed attempt (drop database ojs; create database ojs; mysql ojs < ojs.sql)
Had to manually perform the following fix to the file classes/install/Upgrade.inc.php at this git link:
Then I was able to run php tools/upgrade.php upgrade without error and got:
Successfully upgraded to version 3.1.1-2
Removed entire contents of the OJS 18.104.22.168 folder and moved contents of my 3.1.1-2 subfolder to my planned parent OJS folder where 22.214.171.124 was
So far, it seems like a solid OJS 3.1.1-2 install w/ correct data.