My experience upgrade from 2.3.1->2.6.4
Today I spend trying to upgrade 2.3.1 forum to 2.6.4.
This was a total failure, I just restored my files and database back and now I'll wait and see if I can get any support to attempt again.
My steps:
1. Backup of all files and database.
2. Upgraded to 2.5.6 version. Right away got error 500, but after changing index.php permission from 666 to 644 upgrade worked.
3. Change site PHP version from 5.6 to 7.0
4. Upgraded to 3.4.1 version.
5. No problems accessing website from front end when logged in as admin, but dashboards were totally messed up - for example layout/branding did not show any info.
6. Deleted all files, copied new files for 2.6.4 version, edit config.php file to add my database connection and then I went through setup steps.
7. When logged in it all appeared to work OK - I was able to access dashboards and front end. But encountered 2 issues: 1 - user had to be logged in to see any posts (empty forum for anonymous users); 2- New users were not able to register - during registration error: "The default role has not been configured."
I tried to changing all settings, made sure that "Enable Private Communities" is OFF, but nothing helped.
So I am absolutely stuck, spend all day on this and it was totally wasted.
I would appreciate any help with:
- How can I make anonymous user to see existing posts. I already made sure that "Enable Private Communities" is OFF
- How can I get rid of this error during registration - The default role has not been configured
TIA!
Comments
Also,
I just setup brand new 2.6.4 website on subdomain and I am getting same "The default role has not beed configured". error when new user is trying to register. So this must be my environment - I would appreciate any help in how to troubleshoot this.
There are problems with php 7.0 and 7.0 is outdated anyway. Try again with php >= 7.1
Thank you for your reply. I do not have a full control over php server on this shared server. I can either choose 5.6 or 7.0. Is there a way to make this work on PHP 7.0 ?
Go back to your hosting company and send them this link: http://php.net/supported-versions.php
PHP 5.6 and PHP 7.0 reached end of life last year which means that even security issues will not be fixed for this versions.
644 is a more appropriate permission, but I assure you 666 permission wasn't stopping Vanilla from working. Something else changed as well, because that fixed nothing.
For the record, upgrading to 2.5.6 as an intermediary step wasn't necessary and I don't recommend it. It just creates more work.
The 3.4.1 version of what?
It's super unclear what you mean by this. You went back thru the setup wizard?
Did you follow the upgrade instructions in the README specific to upgrading from pre-2.5 versions of Vanilla? I'm quite sure your Dashboard problem was from not doing that.
It's compatible with PHP 7.0 today, but in about 2 versions Vanilla won't be in the future. Make that a priority. As @R_J says, PHP 7.0 itself is no longer supported.
That probably means something is wrong with the table
GDN_Role
in your database.Was it really brand new, or did you reuse your old config or database?
I suggest using phpMyAdmin (or whatever you use to work with a database) and take a peek at that table. It should look like this (the
Type
column is what you'll care about most):Hi Linc,
Thank you very much for your reply.
So dashboard issue I had was due to the fact that I have not deleted files as per instructions. I misunderstood them - instructions said: " From Vanilla 2.3 or earlier: Delete /applications/vanilla/controllers/class.settingscontroller.php." I was on 2.3.1 and I assumed that 2.3.1 is AFTER 2.3. My mistake.
Regarding "The default role has not been configured" error. I am getting this error on the new database, new config, new subdomain - fully fresh install. At the same time, no guest can see any posts - you must be logged in to see posts. The same behavior was on the upgraded website and on this new fresh website I set up. So this is an issue with my environment.
Here is my GDN_Role table from this fresh setup:
So it appears to match your table.
What other settings might affect user registration?
My server has PHP 7.0, MYSQL: 5.6.41
@sql_mode ", the result is NO_ENGINE_SUBSTITUTION, so I believe strict mode is disabled.
Is there a way for me to enable some debugger to see why I am getting "The default role has not been configured" error and why guests cannot see any posts?
The error "The default role has not been configured" happens when Vanilla searches for a role with a specific
Type
and cannot find it. If you are using Basic registration, that type ismember
.At this point I would start doing things like making sure your forum is pointed at the new database, making sure you uploaded all files and they were all correctly overwritten, and just basic sanity checking stuff like that.
If you're having an issue of Guests cannot see posts and you've definitely disabled Private Community and checked permissions, that could theoretically be the same type of issue where the role isn't being found and it's causing problems.
It really sounds like a setup issue, not a code issue.
Followup: My host update PHP to 7.2 and I saw there was new forum version 2.8.1, so I attempted to upgrade today again and all worked without any issues. For upgrade I followed documentation from here.
One extra step I had to do during upgrade - change top level files permission to 644 and top level folder permission to 755.