Installing with WHMCS

Installing with WHMCS

Important: Server running WHMCS must permit PHP scripts to use cURL network calls to TCP port 9071. Most shared hosting providers, for security reasons, disable features like this. You may have to use dedicated (virtual) server to be certain integration will work.

General preparations

  1. Download archive for your OS and architecture to computer where you wish to install BlissRADIUS Embedded. Extract program file to installation folder, /blissembed on Linux or c:/blissembed on Windows. Program file is blissembed.exe or blissembed respectively.

  2. On Linux OS make sure program file has execute privilege. If needed run shell command chmod a+x blissembed from created folder.

  3. Create blissembed.cfg file in folder with program and configure correct values (see example below). You must not skip this step. Configuration file must contain line hosttype = whmcs

  4. Add write privileges to program folder for BlissRADIUS Embedded to be able to write files in it.

WHMCS security and API access

  1. Log in to WHMCS admin portal and navigate to Setup > General Settings > Security tab. Add BlissRADIUS Embedded IP address to API IP Access Restriction list to allow incoming API calls to WHMCS. This is usually 127.0.0.1 if you are installing BlissRADIUS Embedded on same computer.

  2. Alternately, you can use WHMCS API access key to skip IP address checks and permit BlissRADIUS Embedded to contact WHMC API from any address. See WHMCS docs how to enable this feature.

  3. Go to Setup > Staff Management > Administrator Roles and create role API user. Only enable API access permission for this role.

  4. Go to Setup > Staff Management > Administrator Users and create user blissembed with password of your choice. Assign this user to created role API user. BlissRADIUS Embedded uses this username when calling WHMCS API.

  5. Alternatively with WHMCS 7.2+, API credentials can be used for authentication instead of username and password. Go to Setup > Staff Management > Manage API Credentials and create credentials for newly created user blissembed. Remember created identifier and secret to be used later on in place of username and password.

    Important: It is advised to make integration work first with standard username/password authentication before moving to API Credentials method as it will ease troubleshooting in case of any errors (eg. "blissembed" is not a valid API action).

Connecting with database

  1. If you are using MySQL database of WHMCS host to store data, then you need to create MySQL user account (see below). If you are only testing BlissRADIUS Embedded then you can skip this step and use SQLite database instead.

Starting program and copying required PHP files

  1. Run BlissRADIUS Embedded by typing console/shell command: blissembed.exe or ./blissembed depending on your OS. This will start program in debug mode. For production use correct starting procedure.

  2. Program will extract required files to whmcs sub folder. You must copy all files from it to your WHMCS installation folder.

  3. Once copied edit modules/servers/blissembed/config.php file and set BLISSEMBED_URL value to correct IP address where BlissRADIUS Embedded is installed. Configure other settings to your liking. This file and options in it are not automatically updated with new versions of BlissRADIUS Embedded. If new options become available you have to manually add them to activate features. See configuration file.

  4. Give write privilege to modules/servers/blissembed folder of your WHMCS installation to user that runs web server. Files engine.php and version.txt in that folder must be write able. They are automatically updated each time WHMCS detects newer version of BlissRADIUS Embedded running.

Configuring BlissRADIUS Embedded

  1. Open BlissRADIUS Embedded web interface on http://127.0.0.1:9071 using browser (change address if not accessing from local computer). By default BlissRADIUS Embedded uses admin as password for web interface and all access from local addresses 127.0.0.1 and ::1 doesn't require login.

  2. Go to Config page in BlissRADIUS Embedded web interface and set correct parameters for WHMCS host:

    • Host API URL should point to WHMCS API access, for local computer it is http://127.0.0.1/includes/api.php
    • Set API username and API Password to blissembed and password you entered or, if you opted for API credentials, set them to identifier and secret you remembered earlier.
    • If you decided to use WHMCS API access key enter it in field API access key.
    • Add WHMCS IP address to Trusted IP Address field for login if it is other than 127.0.0.1 or ::1
  3. Confirm that configuration is correct by clicking on Test API button. If there are errors there may be one or more issues you need to fix:

    • API action not found - you may have copied module files to wrong folder (it happens often if you are running more than one WHMCS instances on same web server)
    • Your license key is invalid - multiple reasons WHMCS license check don't work (see
      WHMCS help), which may indicate issues with URL (if you are using HTTPS you must have valid certificate), or you have configured wrong domain in your WHMCS general settings configuration (eg. your WHMCS is running on portal.mydomain.com but you have www.mydomain.com configured which is on different server/IP address).
    • Authentication failed - wrong username/password (credentials), HTTPS issues in URL etc.

You have successfully connected BlissRADIUS Embedded with WHMCS and two way communication is working.

Example blissembed.cfg

This is example configuration for testing WHMCS. SQLite database in local file is used to store data separately from host software.

hosttype = whmcs
dbtype = sqlite

This is example configuration for production. Data is stored in same MySQL database where WHMCS stores data. Change database parameters to match correct values.

hosttype = whmcs
dbtype = mysql
dbhost = 192.168.100.10
dbport = 3306
dbname = whmcs
dbuser = blissembed
dbpass = blissembed

Creating MySQL user account

Creating new MySQL role and granting privileges is required only if you are using BlissRADIUS Embedded with MySQL. Replace database name with one WHMCS is using.
Username and password must be same as in blissembed.cfg Replace localhost with IP address where BlissRADIUS Embedded is installed if they are not on same computer.

CREATE USER 'blissembed'@'localhost' IDENTIFIED WITH mysql_native_password BY 'blissembed';
GRANT ALL PRIVILEGES ON whmcs.* TO 'blissembed'@'localhost';

If you receive "The authentication plugin is not supported" error during program start make sure user is identified with correct plugin, as BlissRADIUS Embedded uses mysql_native_password. You might need to change my.cnf file and re-create user if example above don't work:

[mysqld]
default-authentication-plugin=mysql_native_password
2025-03-16
Referral program is active, existing users can win bonus license time if they bring new customers in.
2025-03-02
BlissRADIUS Embedded™ 1.16 is out with new features.
2024-09-27
BlissRADIUS Embedded™ 1.15 is out with postpaid license support.
2024-09-19
We are introducing changes to payment methods. See Home page for more details.
2023-07-06
BlissRADIUS Embedded™ 1.14 is out with new features.
2022-11-18
BlissRADIUS Embedded™ 1.13 is released with new fixes and features.
2021-12-31
BlissRADIUS Embedded™ 1.12 is out with new features.
2021-06-22
Volume discount for monthly BlissRADIUS™ licenses is available now.