Converting BillMax to Debian Installation Steps
- 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.
-
Note:Login into the new BillMax staff interface. Go to Copy and paste (save) the License Key.You will need a license key prior to upgrading the BillMax database schema.
- As root and in the /root directory, run the following command: diff -r /usr/local/billmax /opt/billmax/software | grep -v -E '\.svn$|\.o$|\.d$' | grep -v -E '/usr/local/billmax/(documents|efp|logs|tmp|uploadedfiles|cdrfiles|backups|prepaidcards|snapshots|importtools|uploadedfiles)' > upgradedifferences.dat
- Examine the results in upgradedifferences.dat. Any pertinent changes will have to be done on the new server.
-
Stop mariadb, httpd and
edge on the CentOS 7® server. As
root execute:
systemctl stop mariadb httpd bx_edge -
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:
-
cd /var/lib -
tar czf mysql.yyyy-mm-dd.tgz mysql(where yyyy-mm-dd is the current date).
-
-
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. -
Copy the mysql.yyyy-mm-dd.tgz file to the Debian host:
scp mysql.yyyy-mm-dd.tgz admin@<Debian iporhost name>: -
Note:Stop mariadb. As root execute:The rest of these steps are on the Debian server.
systemctl stop mariadb -
Move the existing mysql instance out of the way. As root
execute:
cd /var/lib; mv mysql mysql.original -
Restore the database files from the CentOS 7® server. As
root execute:
-
cd /var/lib -
tar xzf /home/admin/mysql.yyyy-mm-dd.tgz
-
-
Restart mariadb. As root execute:
systemctl start mariadb -
Note:Fix a few mariadb settings. Execute: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).
-
mysql -u root -p mysql - CREATE USER 'mariadb.sys';
- ALTER USER root@localhost IDENTIFIED VIA unix_socket;
- FLUSH privileges;
- quit
-
-
Run mariadb command for upgrading databases to a new
version. As root execute:
mysql_upgrade --force -
Restart mariadb. As root execute:
systemctl restart mariadb -
Check the system log for any mariadb logs on startup:
journalctl -xeu mariadb -
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 -
Note:Convert BillMax tables to InnoDb and UTF8 character set. As the billmax user execute:Be sure you have tuned the database before converting it.
/usr/local/billmax/bin/convert2InnoDB -p 15 -
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 menu. Supply the full version string
(4.0.XXXXXX). As the billmax user
cd /usr/local/billmax/pkgand execute:/usr/local/billmax/pkg/upgrade_db_only.pl -
Verify that the database has no errors. As the billmax user execute:
/usr/local/billmax/bin/dbck -
Make sure that the nightly processes are not configured to run. Go to and disable all active batch groups. If performing the final
migration, re-enable the same batch process groups. This process ensures that the
crontabis updated properly. - While testing, you should change credit card processor 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 should 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.
- Consider using BillMax test tools to run the system forward to test batch processing. Contact support for details.
-
Copy the runtime files from your CentOS server to the Debian server. Run time
files include any data file, custom configuration files, provisioning scripts
and so on. The following commands copy the required (bare minimum) files.
Depending on your use, you may need additional files. For example, you will want
any customizations you have made like changes to templates, source files, etc.
On the CentOS server. As root:
-
cd /usr/local/billmax -
tar czf runtime.yyyy-mm-dd.tgz backups documents efp local logs html\images portal.v2/config/edge.php uploadedfiles(where yyyy-mm-dd is the current date) -
scp runtime.yyyy-mm-dd.tgz admin@<Debian iporhost name>:
-
- Redo any local customizations that were noted in upgradeddifferences.dat.
-
On the Debian server as root:
-
Note:This step omits the local directory. For the local directory, extract it separately to a work directory. Then selectively copy the needed customized files.
cd /usr/local/billmax -
tar xzf /home/admin/runtime.yyyy-mm-dd.tgz backups documents efp logs html\images portal.v2/config/edge.php uploadedfiles(where yyyy-mm-dd is the current date)
-
-
Review, configure and test all subsystems: backups, email, printing, customer portal (server side), remote portal (client side), ticket email gateway,
provisioning, etc) that BillMax relies on. In particular:
- 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.