Converting BillMax to Debian Installation Steps

  1. Deploy a new server running Debian 12.x. See Install BillMax. Request a new license key making sure to let BillMax support know that this key is for your new Debian host. Remember your choice for the Database Password (on the BillMax information tab). You will need to supply this password later.
  2. Note: You will need a license key prior to upgrading the BillMax database schema.
    Login into the new BillMax staff interface. Go to System Administration > License. Copy and paste (save) the License Key.
  3. Stop mariadb, httpd and edge on the CentOS 7® server. As root execute: systemctl stop mariadb httpd bx_edge
  4. On the CentOS 7® server, make a copy of the entire database instance (this includes billmax as well as all other databases). As root execute:
    1. cd /var/www
    2. tar czf mysql.yyyy- mm-dd.tgz (where yyyy-mm-dd is the current date).
  5. Restart mariadb, httpd and edge on the CentOS 7® server. As root execute: systemctl start mariadb httpd bx_edge. Do not restart if this is your final data migration.
  6. Copy the mysql.yyyy-mm-dd.tgz file to the Debian host: scp mysql.yyyy-mm-dd.tgz admin@<Debian ip or host name>:
  7. Note: The rest of these steps are on the Debian server.
    Stop mariadb. As root execute: systemctl stop mariadb
  8. Move the existing mysql instance out of the way. As root execute: cd /var/lib; mv mysql mysql.original
  9. Restore the database files from the CentOS 7® server. As root execute:
    1. cd /var/lib
    2. tar xzf /home/admin/mysql.yyyy-mm-dd.tgz
  10. Restart mariadb. As root execute: systemctl start mariadb
  11. Note: You will need the root password from the CentOS server for this step. You can retrieve this password from /usr/local/billmax/local/billmax.conf (MYSQL_ADMIN_PASSWD setting).
    Note: In the mariadb commands, replace 'PPPPPPP' with the Database Password you supplied when you installed BillMax on the Debian server.
    Fix a few mariadb settings. Execute:
    1. mysql -u root -p mysql
    2. GRANT ALL PRIVILEGES ON billmax.* TO 'billmax'@'%' identified by 'PPPPPPP' WITH GRANT OPTION
    3. CREATE USER 'mariadb.sys'
    4. ALTER USER root@localhost IDENTIFIED VIA unix_socket
    5. FLUSH privileges
    6. quit
  12. Run mariadb command for upgrading databases to a new version. As root execute: mysql_upgrade --force
  13. Restart mariadb. As root execute: systemctl restart mariadb
  14. Check the system log for any mariadb logs on startup: journalctl -xeu mariadb
  15. Restore license key. Copy the license key to the clipboard. Paste key when prompted. As the billmax user execute: /usr/local/billmax/bin/license_install
  16. Convert BillMax tables to InnoDb and UTF8 character set. As the billmax user execute: /usr/local/billmax/bin/convert2InnoDB -p 15
  17. Update BillMax database schema and run upgrade scripts. You will be prompted to enter the BillMax version that is running on the CentOS server. You can get this value via the Help > About menu. Supply the full version string (4.0.XXXXXX). As the billmax user execute: /usr/local/billmax/pkg/upgrade_db_only.pl
  18. Verify that the database has no errors. As the billmax user execute: /usr/local/billmax/bin/dbck
  19. Make sure that the nightly processes are not configured to run. Go to System Administration > > Batch Processing and disable all batch groups. You should change credit card processing to the dummy processor called ‘Loopback’. Set the State value for all active Credit Card and Bank Account lists to ‘Not Active’. Set the State value for the Loopback lists to ‘Active’. Also you may wish to disable printing and email by setting the appropriate commands in the Global Options to /bin/true. These steps should not be done for the final data migration.
  20. Consider using BillMax test tools to run the system forward to test batch processing. Contact support for details.
  21. Review, configure and test all subsystems (backups, email, printing, provisioning, etc) that BillMax relies on.
  22. Once satisfied that everything is working correctly and all subsystems are configured and tested, schedule the final data migration. Repeat steps 3-18 but do not enable processing on the CentOS server. If everything goes to plan, be sure to disable all services on the CentOS server. Make DNS changes as needed, etc.