Back up Everything
If importing from your live WHMCS installation, stop the cron job for WHMCS, put the installation into maintenance mode, and back up all files and the database.
Initial Staff Username
When installing Blesta, you should choose a username that does not exist in your WHMCS installation, or it will result in an error when trying to import your WHMCS staff users.
If you prefer, you can create a copy of your WHMCS database and import from that instead of your live system.
Importing from WHMCS
Preparing WHMCS (If importing from your live WHMCS installation)
- Make sure you have completed the Initial Steps for Migrating to Blesta.
- Stop the cron job running for your WHMCS installation.
- Put WHMCS into maintenance mode to prevent client logins by visiting [Setup] > [General Settings] > [General].
- Back up your WHMCS files. You can do this via an FTP program, or via a shell by running: zip -r backup.zip /path/to/installation/*
- Back up your WHMCS database. You can do this through a database manager like PHPMyAdmin using the "Export" feature, or with the mysqldump shell command by running: mysqldump -u database_username -p database_name -r backup.sql and entering your database password when prompted.
Performing the Import
- Visit [Settings] > [Company] > [Plugins] > Installed and click "Manage" for the Import Manager.
- Click the "5.2" link next to the platform WHMCS.
- Fill out all of the requested fields
- Database Host: Enter your WHMCS database server name. If MySQL is running on the same server, use localhost
- Database Name: Enter the name of your WHMCS database.
- Database User: Enter the user name for your WHMCS database.
- Database Password: Enter the password associated with your WHMCS database user.
- CC Encryption Hash: Enter the CC Encryption Hash as found in your WHMCS configuration.php. This is required in order to decrypt encrypted data stored in your WHMCS installation.
- Double check that the data is all correct, and click the "Continue" button.
- You will be prompted to allow the importer to import your packages into Blesta, or match them up. It's recommended that you go with the default setting and import the packages, however, advanced users may wish to create their packages in Blesta first and match them up.
- Submit the form to start the import.
Importing can take a while
Importing your data can take several minutes or more, please be patient. When the importer has finished, it will display a green success message.
Because you are logged into a new staff account while performing the import, imported tickets will not appear to you by default. Go to Support > Staff, click the [+] button to add your staff user to all departments. Select Administrators for Staff Group, then your Staff Member, and assign yourself to all departments by moving them from Available Departments to Assigned Departments.
Enabling Legacy Passwords
In order for clients to log into Blesta after being imported, you must enable legacy passwords in Blesta. When a client logs in, their password will be converted automatically to a more secure hash.
To enable support for these passwords edit the /config/blesta.php configuration file within your Blesta installation and change
Blesta < 4.9
If your Blesta installation is less than version 4.9, use the following instead. Please note that importing modern bcrypt password hashes from WHMCS only works with Blesta 4.9 or greater.
Then save the file. After a sufficient amount of time has passed, you may change this setting back.
Do you have any active PayPal Subscriptions?
If you have any active PayPal Subscriptions in WHMCS, they will not automatically work with Blesta. Beginning with Blesta 3.5, PayPal Subscriptions can be maintained by creating a redirect in your .htaccess file. At the beginning of the file, add the following:
This redirect may need to be adjusted depending on your path to paypal.php in your WHMCS and your Blesta installation directory. Also, the 1 in /callback/gw/1/paypal_payments_standard/ references the company ID in Blesta. If you do not have any addon companies, then the company ID is 1.
Return to complete the Final Steps.
It's likely your WHMCS install is missing email address, or that the domain in some email addresses is invalid (No MX name resolution). To get around this, you can edit /vendors/minphp/input/src/Input.php and find the isEmail method. Replace the method with the following:
This will stop Blesta from performing any input validation on email addresses. Be sure to revert the change after the import has completed.