WillyXJ / facileManager

A modular suite of web apps built with the sysadmin in mind.
www.facilemanager.com
GNU General Public License v2.0
85 stars 37 forks source link

[OTHER] Migration strategy recommendations #576

Closed lravelo closed 1 year ago

lravelo commented 1 year ago

I have an old set of BIND servers that I need to replace. Upgrading isn't an option. Server running fM is also in the same situation and needs replacing. It's running a very old version of fM (version is 2.3.3 and the fmDNS module is at 2.2.6). Wanted to know if there were any recommendations for how to best migrate to a new set of servers. If I deploy fM onto a new server and add one of the existing BIND servers, will fM automatically pick up all of the zones, records, views, etc. or will I need to install the same version of fM onto the new server, restore a SQL backup and then upgrade?

WillyXJ commented 1 year ago

fM is all based on database information. So, you could build a new fM server using 2.3.3 or newer (latest is recommended), restore your database backup of the old system to the new database (or keep the existing database if it's on a separate server), and when you login you will be prompted with a forced upgrade of the database (if you installed a newer version of the app). All of your existing zones, views, configs, servers, etc. will be present in fM.

If you are rebuilding your BIND servers with a newer OS, it might be best to delete the servers from the fM configuration (Config -> Servers) and reinstall the client software on the new BIND servers. If you choose to retain the existing BIND servers, then you can run through the client reinstall process if your fM server url changed:

sudo php /usr/local/facileManager/fmDNS/client.php reinstall

lravelo commented 1 year ago

@WillyXJ thanks for the info. What about with regards to the ssh keys for the fm_user account? I'm guessing the private key is stored somewhere in the database and the public key would be on the fm_user account's authorized_keys on each BIND server, correct?

WillyXJ commented 1 year ago

Yep! The SSH key pair is in the database and the public key will be added to the authorized_keys file during install/reinstall.