Upgrading from concrete5 5.6.3.1 to concrete5 8.4.4

Permalink
Hello,

since my hosting provider updated the PHP Version on its servers my Website with concrete5 5.6.3.1 doesn't work anymore and I can't access the dashboard. I tried to upgrade to concrete5 8.4.4 by replacing the concrete folder. When I visit thewww.www.mysite.de/ccm/system/upgrade... concrete5 wants me to install, but I just want to upgrade by using the old database. Has anyone dealt with a problem like this before? Thank you for your help!

 
JohntheFish replied on at Permalink Reply
JohntheFish
You can't upgrade 5.6.x to c5.7 or v8.x

What you can do is upgrade to 5.6.4, which is compatible with php7.2 specifically to extend the life of legacy sites.

5.6.4 only exists on the legacy github. You can download it fromhttps://github.com/concrete5/concrete5-legacy....

If you search back through the forums for 5.6.4, you will find many threads with further details on making that update.
ConcreteOwl replied on at Permalink Reply
ConcreteOwl
I have several 5.6.4 sites running on PHP7.3.1 without issues and have helped several more members update to 5.6.4.
The upgrade to 5.6.4 is relatively straight forward but debugging the addons can be a little more complex.
If you have replaced the concrete folder with 8.4.4 (which does not work on PHP7.3) there maybe a slight complication introduced..
I would be happy to take a look for you if you like?
bfountain replied on at Permalink Reply
@kiwilli

You may be able to have the same success I had.

I had a site with Concrete5 version 5.6.3.1 -- I was able to get it up to 5.6.3.5 and then up to 5.6.4; here is how:

From the site's dashboard, backing up the database was a couple of clicks, and "Upgrade Concrete5" got me to 5.6.3.5 with a couple more clicks.



ssh to the server
Make a temporary directory somewhere
$ git clone https://github.com/concrete5/concrete5-legacy...

When it finishes, take only the "web" folder inside that, and move it to inside your existing site's "updates" folder; name it like "concrete5-5.6.4".
For example, /webroots/your.site.com/updates/concrete5-5.6.4

Go browse to your site's dashboard again and hit "Check for Updates"
http://your.site.com/index.php/dashboard/system/backup_restore/upda...

That worked for me.



So far, I have not yet figured out how I can get all the way to a current 8.x version of Concrete5. I'm up to 5.6.4 and am banging my head on 5.7 right now.

Apparently the data is stored differently from 5.6 to 5.7 so it needs migration... and the Concrete5 people came up with a tool for that.

ssh to the server
Make a temporary directory somewhere
$ git clone https://github.com/concrete5/addon_migration_tool...

When it finishes, take only the "migration_tool" folder (under packages) and move it to inside your existing site's "packages" folder.

Browse to your site's dashboard again and go to Extend Concrete5
http://your.site.com/index.php/dashboard/extend/install/...
and find Migration Tool... click the Install button.

Then, you can follow along with the usage instructions in this video:
https://www.youtube.com/watch?v=h9lzs2C88-s...


When I figure out the rest, I'll post the details... but after reading a bunch of forum threads, here's my plan, once I get the data exported little by painful little:

Note 1: This won't work with PHP 5.3.3 at all. It just crashes ugly. I upgraded PHP to 5.4.45 and the migration tool started working fine.

Note 2: The site I'm dealing with has so much data that the migration tool can only handle exporting about 5% of it at the time, so I might be on this step for a while.

I am pretty sure after inspecting various Concrete5 dispatcher.php files that PHP will need to be upgraded to 5.5.9+ before I can ratchet Concrete5 up to 5.7.x.

It is unclear to me at this point whether I am going to be able to upgrade to 5.7 in place or if we are expected to put a brand new empty 5.7.5.13 installation beside the 5.6.4 one.

Either way (in-place or side-by-side), I believe the next step would be to use that same migration addon, which apparently offers an "Import" option if it recognizes it's running on version 5.7 of Concrete5. That would bring your data in.

At that point, from what I'm seeing, the last two upgrades would be PHP to 7.3 and Concrete5 to 8.x -- I see an 8.4.4 stable and 8.5.0 RC1 out there. Hopefully that will be as simple as replacing the "concrete" folder. We'll see.

Please update your thread if you figure some of this stuff out before I do.
alpdog14 replied on at Permalink Reply
@bfountain, I have been following your instructions on trying to upgrade a clients concrete5 (v5.6.4.0), and I got all the way up to the Migration Tool package. I put the migration_tool in the packages but when I add this package I get this error:

Fatal error: Class 'Concrete\Core\Package\Package' not found in /mysite.com/concrete5/packages/migration_tool/controller.php on line 47

My server does have php5.6 support because I was able to run concrete5 v5.6.3.2, that support is still turned on, so can you explain if this is php version, it seems to be that is the only package that breaks the `Install` area, the rest of the backend if fine.

Wonder if you had any insight on how to resolve this error.
JohntheFish replied on at Permalink Reply
JohntheFish
At a guess, you need to install the legacy version of the package. The version built to output from 5.6.4.
The error suggests you have tried to install the 5.7/v8 version of the package.
alpdog14 replied on at Permalink Reply
@JohnTheFish, thank you for replying, how do I get the previous legacy version of that tool, all I saw in the links is this link:https://github.com/concrete5/addon_migration_tool,... where do I find the legacy link for 5.6.4 support
ConcreteOwl replied on at Permalink Reply
ConcreteOwl
alpdog14 replied on at Permalink Reply
@ConcreteOwl thank you for sending me this legacy link, I was able to get this package installed, so following the video, sounds like I will have to do complete export and import into a fresh install of Concrete5 v5.7 to get a true upgrade, so I cannot just upgrade the current installation, correct? No matter what I do at this point on 5.6.4.0, I cannot do any automatic updates to 5.7, its a fresh installation and trying to find a template that works/matches with then importing content with the migration tool, correct?
ConcreteOwl replied on at Permalink Reply
ConcreteOwl
Yes that is correct.
Although, if you are going to import into a fresh installation of concrete, why not install the latest version (8.5.5) instead of your intended 5.7 legacy version?
What is your current Theme called?
alpdog14 replied on at Permalink Reply
@ConcreteOwl, so I have explained to my client that we should upgrade to a more stable, more current version but the migration would not be a free migration. He does not want to change the layout at all (even though it is not even responsive), I explained how he is going to be penalized by google for a non-responsive website. My current theme is TheoryBlister from the legacy version, so overall yes if I get approval to move forward I will upgrade to v8.5.5 if I am going to, I was just seeing how far the automatic upgrades go up to, but sounds like only up to 5.6.4, correct?
ConcreteOwl replied on at Permalink Reply
ConcreteOwl
Yes that is correct, you can only upgrade to 5.6.4, beyond that it is necessary to rebuild the site onto a later version by hand.
mnakalay replied on at Permalink Reply
mnakalay
FYI I have a concrete 5.6.4 site running on PHP 7.4 and it seems fine