Jump to content

Migration to new server and new IPB version


Recommended Posts

Hi all,

I'm new with IPB, I'm taking over an old forum running on IPB 4.2.5 version. I purchased a licence to get the forum an do the migration to the latest stable version on a new VPS.

I follow "How To" to moving to new server

 

But, I don't know why, when I try to launch the old IPB version (with the old database, of course) on my new VPS, I have a HTTP Error 500 code. When I try to launch the last version of IPB on my new IPS, it's works fine.

There is my configuration of my new VPS :

OS : Rocky Linux 9.2

DB : MySQL 8.0.32

Webserver : 2.4.53 (I tried with nginx 1.20.1 too, same problem)

PHP 8.0.30

 

And the old VPS :

OS : Ubuntu 16.04.6 LTS

DB : MySQL 5.7.33

Webserver : Nginx 1.10.3

PHP 7.0.33


Could the big differences in versions explain this error ? I've looked at the logs, but can't find any clues.

 

Thank you for your help

Link to comment
Share on other sites

Thanks for your answer.

So, if I understood, I have to do :

  • The manual upgrade to my old VPS (with the latest package IPB 4.7.13)
  • Export DB upgraded from my old VPS and transfer it to my new VPS

But my subscription on my old VPS is different of my subscription on my new VPS. How can I to this with two differents subscriptions ? I need to reset my licensed URL ?

Link to comment
Share on other sites

You would need to do the upgrade on your new VPS as the minimum PHP requirement is PHP 8 for the latest release. You do not need the software in working order and frankly, I don't think you will be able to because you're in this mismatch zone of your old VPS being too old for the new version of our software and your new VPS being too new for the old version of our software that you're currently running. So it will just be a jump where you move your files/database over, then perform the manual upgrade on that.

Link to comment
Share on other sites

I'm not sure to understand the last sentence : How can I do the upgrade if th web interface doesn't work with PHP 8 ?

I transfered my DB and to my new VPS with the latest IPB version and I tried to reach http://myurl/admin/upgrade but I have this error :

Could contain: File, Page, Text, Webpage

Link to comment
Share on other sites

9 minutes ago, DzUser said:

I'm not sure to understand the last sentence : How can I do the upgrade if th web interface doesn't work with PHP 8 ?

I transfered my DB and to my new VPS with the latest IPB version and I tried to reach http://myurl/admin/upgrade but I have this error :

Could contain: File, Page, Text, Webpage

You would need to perform a manual upgrade. From your screenshot, you have not uploaded the files yet or you didn’t upload them to the correct location on your server 

Link to comment
Share on other sites

@DzUser have you disabled all third-party plugins and apps before the update? You are coming from PHP 7 and not all of them are compatible with PHP 8 and they will give the same error, so you've to disable all of them.

If you successfully accessed your site, do NOT enable them back. Check first if they have a new update and then update them, and after the update, you can enable them one by one and check again if you are running into the same issue.

Edited by Afrodude
Link to comment
Share on other sites

19 hours ago, DzUser said:

The manual upgrade to my old VPS (with the latest package IPB 4.7.13)

You don't need to do a manual upgrage in the old VPS. You can skip that part. First uninstall all third party apps/plugins/themes you have in use in the old forum in the old vps. 

Then install the latest (stable) version of Ipb in your new VPS, export the database backup of your old forum and import it to the database of your freshly installed forum and as last step run the upgrader. This is the fasted way to do that imo. 

Not long ago, I moved hosts and upgraded an older forum for someone here and the above mentioned method worked flawlessly. Hope it helps.

Edited by Miss_B
Link to comment
Share on other sites

48 minutes ago, Miss_B said:

You don't need to do a manual upgrage in the old VPS. You can skip that part. First uninstall all third party apps/plugins/themes you have in use in the old forum in the old vps. 

Then install the latest (stable) version of Ipb in your new VPS, export the database backup of your old forum and import it to the database of your freshly installed forum and as last step run the upgrader. This is the fatsed way to do that imo. 

Not long ago, I moved hosts and upgraded an older forum for someone here and the above mentioned method worked flawlessly. Hope it helps.

This would not be the recommended way of doing it, and to be honest has unnecessary steps. You could just as easily upload the files, add your conf_global.php file, and upgrade.

Link to comment
Share on other sites

On 10/27/2023 at 3:57 PM, Afrodude said:

Then, I'm certain now that this is the cause of the problem.

I check and I have no plugins on the old IPB. For applications, I have only System, Forum and Calendar. Do I need to uninstall calendar ?

Could contain: File, Webpage, Page, Text

 

Could contain: File, Page, Text, Webpage

 

Link to comment
Share on other sites

14 minutes ago, teraßyte said:

Unfortunately, a 500 error is too generic. Look at your server's logs to check what the real error is.

Also, version 4.2.5 has a PHP 5.6.0 required version and a 7.0.0 recommended one. Anything higher or lower might be what's causing the error, too.

Yes, sorry, I just founded the IPB logs errors. There is the error when I try to access to /admin or /admin/upgrade :

 

Sat, 28 Oct 2023 17:41:31 +0000
SELECT * FROM `core_store` WHERE ( store_key IN('cacheKeys','settings','storageConfigurations','themes','languages','groups','applications','modules','widgets','furl','javascript_map','metaTags','bannedIpAddresses','license_data','furl_configuration','rssFeeds','frontNavigation','globalStreamIds','profileSteps','announcements','loginMethods','widgets','defaultStreamData','acpNotifications','emoticons') )
IPS\Db\Exception: Table 'forum.core_store' doesn't exist (1146)
#0 /var/www/html/forum/system/Db/Select.php(388): IPS\_Db->preparedQuery()
#1 /var/www/html/forum/system/Db/Select.php(446): IPS\Db\_Select->runQuery()
#2 /var/www/html/forum/system/Data/Store/Database.php(92): IPS\Db\_Select->rewind()
#3 /var/www/html/forum/system/Data/Store/Database.php(108): IPS\Data\Store\_Database->loadIntoMemory()
#4 /var/www/html/forum/system/Data/Store/Database.php(162): IPS\Data\Store\_Database->get()
#5 /var/www/html/forum/system/Data/AbstractData.php(126): IPS\Data\Store\_Database->exists()
#6 /var/www/html/forum/system/Data/Store.php(303): IPS\Data\_AbstractData->__isset()
#7 /var/www/html/forum/system/Settings/Settings.php(167): IPS\Data\_Store->__isset()
#8 /var/www/html/forum/system/Settings/Settings.php(152): IPS\_Settings->loadFromDb()
#9 /var/www/html/forum/system/Dispatcher/Front.php(39): IPS\_Settings->__isset()
#10 /var/www/html/forum/system/Dispatcher/Dispatcher.php(110): IPS\Dispatcher\_Front->init()
#11 /var/www/html/forum/index.php(13): IPS\_Dispatcher::i()
#12 {main}
#0 /var/www/html/forum/init.php(1038): IPS\_Log::log()
#1 [internal function]: IPS\IPS::exceptionHandler()
#2 {main}

 

It seems it's about forum.core_store which doesn't exist ?

Edited by DzUser
Link to comment
Share on other sites

2 hours ago, teraßyte said:

Indeed, you're missing a table. Looks like the database wasn't restored properly.

I try to restored a new MySQL DB dump, same issue.

May be I founded a workaround I need confirmation it's a right way : if, on my old VPS, I use my licence key purchased last week to upgrade IPB forum (after upgraded Ubuntu), can I reset my licence key to use to another domain ? In fact, because I get this old forum from another administrator. So, this administrator have his proper IPB licence and forum domain name and I'll transfer the database to my new VPS with my new IPB license.

So, if I do all upgrade process on the old VPS with my IPB licence, I export the DB freshly update with the last version of IPB, after that, can I reset the licensed URL of my IPB license to use it for my new domain ?

I'm not sure if I very clear ?

NB : I have all access on the old VPS/IPB forum granted by the owner to do the migration.

Edited by DzUser
Link to comment
Share on other sites

Just to confirm, when you look at the database on the old VPS, is the table also missing there? Or maybe it's marked as crashed? If it is, I can't see how the forum was working without it.

That said, you're lucky because the table in the error doesn't hold any permanent data, but only temporary caches that can be recreated. You can recreate the table manually on the new server by running this query:

CREATE TABLE `core_store` (
  `store_key` varchar(150) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'Key',
  `store_value` longblob DEFAULT NULL COMMENT 'Value',
  PRIMARY KEY (`store_key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

If your tables use a different collation be sure to change "utf8mb4 / utf8mb4_unicode_ci" to whatever other collation the database is using.

 

The only problem now is to understand if this is the only missing table, or if there are others. 🤷‍♂️

Edited by teraßyte
Link to comment
Share on other sites

37 minutes ago, teraßyte said:

Just to confirm, when you look at the database on the old VPS, is the table also missing there? Or maybe it's marked as crashed? If it is, I can't see how the forum was working without it.

That said, you're lucky because the table in the error doesn't hold any permanent data, but only temporary caches that can be recreated. You can recreate the table manually on the new server by running this query:

CREATE TABLE `core_store` (
  `store_key` varchar(150) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'Key',
  `store_value` longblob DEFAULT NULL COMMENT 'Value',
  PRIMARY KEY (`store_key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

If your tables use a different collation be sure to change "utf8mb4 / utf8mb4_unicode_ci" to whatever other collation the database is using.

 

The only problem now is to understand if this is the only missing table, or if there are others. 🤷‍♂️

The table exists on the old VPS and on new VPS when I reimport the dump. But, I've just noticed, it's "normal" because the tables on the source database has a prefix "ibf_" :

Could contain: Page, Text, Chart, Plot, Number, Symbol

I checked the logs and, like you mentionned, I have others tables with same issue :

 

SELECT sc.*, sv.sv_value FROM `core_theme_settings_fields` AS `sc`  LEFT JOIN `core_theme_settings_values` AS `sv` ON sv.sv_id=sc.sc_id WHERE sc.sc_set_id=1
IPS\Db\Exception: Table 'forum.core_theme_settings_fields' doesn't exist (1146)

 

It's logic it can't found the tables because there is no prefix "ibf_" (I don't know why). But why ? I don't know.

Edited by DzUser
Link to comment
Share on other sites

On 10/29/2023 at 12:57 AM, teraßyte said:

Check your conf_global.php file and be sure the ibf_ prefix is properly set:

<?php

$INFO = array (
  [...]
  'sql_tbl_prefix' => 'ibf_',
  [...]
);

 

Sorry for my belated reply.

Yes, it's works when I add the prefix on the conf_global.php.

Now, I run the IPB upgrader on my new VPS, it's works but some SQL queries needed to run manually, what I do but I have some errors on 2 queries :

mysql> ALTER TABLE `ibf_core_search_index` ADD KEY `author_lookup` (`index_author`,`index_class`(249),`index_hidden`,`index_date_updated`);
ERROR 1071 (42000): Specified key was too long; max key length is 1000 bytes


mysql> ALTER TABLE `ibf_core_search_index` ADD KEY `container` (`index_class`(250),`index_container_id`,`index_date_commented`);
ERROR 1071 (42000): Specified key was too long; max key length is 1000 bytes

 

I bypassed and in the end of process, I have this error :

 

Could contain: File, Webpage, Page, Text

 

I don't know what is this 1000 bytes key length ?

Link to comment
Share on other sites

2 hours ago, teraßyte said:

At the end, the upgrade tries to fix any wrong or missing columns/indexes in the database.

To avoid the error be sure that your tables are all InnoDB and with a DYNAMIC row format.

Some tables are on MyISAM engine, I'm migrating this tables, it takes some time. For the row format, all tables are DYNAMIC.

I'll let you know as soon as I finish.

Thanks

Link to comment
Share on other sites

4 hours ago, teraßyte said:

At the end, the upgrade tries to fix any wrong or missing columns/indexes in the database.

To avoid the error be sure that your tables are all InnoDB and with a DYNAMIC row format.

The upgrade completed after modify MySQL engine to InnoDB for several tables, thank you for the tip.

I access AdminCP and forum. But for the forum, all links are broken, because I'll use a new domain name for the migration. There is a hard link in DB I need to modify with my new domain name ?

Edited by DzUser
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...