Data Migration Between Gibbon Instances with Different Installation Paths

I am currently in the process of migrating data from one Gibbon instance to another, where the installation paths differ. During this migration, I encountered several issues:

  1. Require Statement in Updater.php:
    In src/Database/Updater.php, line 58, the code includes:
    require $this->absolutePath.'/version.php';
    I attempted to modify this:
    require '../../version.php';
    or
    require '/path/to/gibbon/version.php';
    This adjustment fixed the problem, but I am concerned about potential instability. Is there a recommended approach to handle such path differences during migration?
  2. Database Configuration Updates:
    After migration, I encountered the following warning:
    Warning: file_exists(): open_basedir restriction in effect. File(/path/to/old-gibbon/CHANGEDB.php) is not within the allowed path(s): (/path/to/new-gibbon/:/tmp/)
    To address this, I updated the gibbonsetting table with the new paths:
    UPDATE 'gibbonsetting' SET 'value' = '/path/to/gibbon' WHERE 'gibbonsetting'.'gibbonSettingID' = 00009;
    UPDATE 'gibbonsetting' SET 'value' = 'https://gibbon.example.com' WHERE 'gibbonsetting'.'gibbonSettingID' = 00001;
    While this resolved the warning, I would prefer a method to modify these configurations directly through the Gibbon interface, without accessing the database directly.
    Is there a way to add a system configuration text box for administrators to update these settings via the admin panel? Alternatively, could these configurations be managed through a config.php file instead of the database?

I appreciate any guidance or best practices for handling these migration challenges, especially concerning path differences and configuration management.

Thank you for your assistance.

Hi @AndroidOL There are some docs for migration: Migrating Gibbon | Gibbon Documentation

In this case, if you are migrating from one server to another, it is essential to update your absoutePath and absoluteURL in the database. It cannot be done through the interface, because rendering the interface relies on these settings. However, generally if a system admin is able to manage servers and move databases, updating the gibbonSetting table should not be a major concern.