DzUser Posted October 26, 2023 Posted October 26, 2023 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
Jim M Posted October 26, 2023 Posted October 26, 2023 Invision Community 4.2 would not work on MySQL 8 and PHP 8. You would need to upgrade to the latest release by performing a manual upgrade on your community to get it to work on your new VPS.
DzUser Posted October 26, 2023 Author Posted October 26, 2023 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 ?
Jim M Posted October 26, 2023 Posted October 26, 2023 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.
DzUser Posted October 26, 2023 Author Posted October 26, 2023 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 :
Jim M Posted October 26, 2023 Posted October 26, 2023 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 : 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
DzUser Posted October 26, 2023 Author Posted October 26, 2023 (edited) In fact, I didn't perform a manual upgrade. I've just to do it, with a new error on admin/upgrade URL : My conf_global.php pointed to my old DB I have imported on MySQL Edited October 26, 2023 by DzUser
Afrodude Posted October 27, 2023 Posted October 27, 2023 (edited) @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 October 27, 2023 by Afrodude Marc 1
Miss_B Posted October 27, 2023 Posted October 27, 2023 (edited) 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 October 27, 2023 by Miss_B
Marc Posted October 27, 2023 Posted October 27, 2023 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. Miss_B 1
DzUser Posted October 27, 2023 Author Posted October 27, 2023 @Afrodude : No, I didn't disabled plugins and apps before upgrade. I'll try thiw way @Miss_B and @Marc Stridgen Ok, I'll try tonight too. Thanks Miss_B 1
Afrodude Posted October 27, 2023 Posted October 27, 2023 3 hours ago, DzUser said: @Afrodude : No, I didn't disabled plugins and apps before upgrade. I'll try thiw way Then, I'm certain now that this is the cause of the problem.
DzUser Posted October 28, 2023 Author Posted October 28, 2023 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 ?
teraßyte Posted October 28, 2023 Posted October 28, 2023 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. Afrodude 1
DzUser Posted October 28, 2023 Author Posted October 28, 2023 (edited) 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 October 28, 2023 by DzUser
teraßyte Posted October 28, 2023 Posted October 28, 2023 Indeed, you're missing a table. Looks like the database wasn't restored properly.
DzUser Posted October 28, 2023 Author Posted October 28, 2023 (edited) 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 October 28, 2023 by DzUser
teraßyte Posted October 28, 2023 Posted October 28, 2023 (edited) 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 October 28, 2023 by teraßyte Afrodude 1
DzUser Posted October 28, 2023 Author Posted October 28, 2023 (edited) 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_" : 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 October 28, 2023 by DzUser
teraßyte Posted October 28, 2023 Posted October 28, 2023 Check your conf_global.php file and be sure the ibf_ prefix is properly set: <?php $INFO = array ( [...] 'sql_tbl_prefix' => 'ibf_', [...] ); DzUser 1
DzUser Posted November 1, 2023 Author Posted November 1, 2023 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 : I don't know what is this 1000 bytes key length ?
teraßyte Posted November 1, 2023 Posted November 1, 2023 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. Marc and DzUser 2
DzUser Posted November 1, 2023 Author Posted November 1, 2023 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
DzUser Posted November 1, 2023 Author Posted November 1, 2023 (edited) 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 November 1, 2023 by DzUser
Randy Calvert Posted November 1, 2023 Posted November 1, 2023 Make sure your conf_global.php reflects the correct URL. Afterwards, clear the system cache in the support section of your ACP.
Recommended Posts