Installing the WHMCS billing system is very simple.
You will need:
- WHMCS License:
- DB Port:
- DB User:
- Database:
- Password:
The following steps will guide you through the process.
But first, determine where you want to install WHMCS: in a sub-domain or in a sub-folder.
Each of these has its own advantage and disadvantage.
A quick Google search will help you determine what you may want to use.
Secondly, ensure that you have purchased a WHMCS license.
You can get one from https://webhostingmagic.com/whmcs-license.html
WHMCS uses a MySQL database to store all settings and data.
MySQL Databases allow you to store lots of information in an easy to access manner.
The databases themselves are not easily read by humans.
So it is better to create a database before-hand before you start as you will be asked for the details of the one you created during the installation process.
Only a MySQL user with the right privileges can access a database, read from or write to that database.
How To Create Databases in cPanel
Login to cPanel and visit Databases >> MySQL Database Wizard
This wizard guides you through the setup of a MySQL® database, user accounts, and user privileges.
In the New Database text box, enter a name for the database and click Next Step.
In the Username text box, enter a name for the user who you wish to allow to manage the database.
Generate a password you want to use for the next step.
Enter and confirm the new password in the appropriate text boxes.
Click Create User.
Select ALL PRIVILEGES to grant privileges to the user.
Click Next Step.
cPanel will display a message that states that you successfully set up the database and user account.
Copy this information displayed along with the password as you will need them during the WHMCS installation process.
Again note that when you use the MySQL Database Wizard interface to add a user and a database, the system automatically grants the user access to the database.
You do not need to use the Add User to Database feature in the MySQL Databases interface (cPanel >> Home >> Databases >> MySQL Databases).
Further readings:
- https://docs.whmcs.com/Database_Setup
- https://docs.whmcs.com/Database_Errors
- https://docs.whmcs.com/Database_Collations
- https://developers.whmcs.com/advanced/db-interaction/
Once you have created the MySQL database, visit http://download.whmcs.com/.
Click the Download button under the Full Release heading - this will be the latest release version.
Unzip the contents of the zip file to a folder on your computer.
Rename the file configuration.php.new to configuration.php.
Upload the entire WHMCS folder to your website - if you experience problems, try uploading in binary mode.
Next, you can rename the folder if desired (billing, clients, etc).
Note: The folder name "admin" is reserved for the administration area, so it cannot be used as the installation directory name here.
Now visit the installation script at http://domain_name.com/whmcs/install/install.php to run the installer process.
If you uploaded WHMCS to a sub-domain, then you will need to visit http://whmcs.domain_name.com/install/install.php
Follow the instructions on the screen to install which will involve setting file permissions as listed below, entering your license key and setting up your primary admin account
If you get an Ioncube related error message, check if it is installed on the server by creating a phpinfo page and visiting it in your web browser.
If it is not installed, then there are two ways to get this installed easily.
Root access to the server is required for the following.
1. Log in to WHM and visit Server Configuration >> Tweak Settings.
From the cPanel PHP loader option, specify Ioncube as the PHP loader to executes internal PHP scripts.
Click on the Save button.
Then when compiling using EasyApache 4, ensure that Ioncube is part of the packages you select during the PHP configuration.
Go to Software -> EasyApache (Apache Update).
In Profile and select 'Previous Saved Config' and click the 'Start customizing based on profile' button.
In 'Apache Version' click 'Next step'.
In 'PHP Version' click 'Next Step'.
Ensure that the 'Ioncube Loader for PHP' option is checked.
Click on 'Save and Build'
2. Another option is to SSH as a user `root` and then run the below command to install IonCube Loaders without having to recompile Apache:
yum install ea-php-php-ioncube10
where "version" stands for the PHP version you are using with WHMCS.
Or modify ‘/etc/cpanel/cpanel.config’ and look for the line starting with ‘phploader=‘.
If there is no value after the equal sign, then all you have to do is add ‘ioncube’ to it.
For example: ‘phploader=ioncube’.
If there is another loader in place, just append your new loader by placing a comma before the additional loader.
For example: ‘phploader=exampleloader,ioncube’.
Run the command:
/usr/local/cpanel/whostmgr/bin/whostmgr2 –updatetweaksettings
Then execute this following command:
/usr/local/cpanel/bin/checkphpini
And finally:
/usr/local/cpanel/bin/install_php_inis
If you don't have access to install packages on the Linux machine, then you have to ask your server admin to get that installed for you.
Post WHMCS Installation Suggested Steps
After installation is completed, we recommend that you go through and configure your new WHMCS system in the following order:
- Perform the recommended further security steps at https://docs.whmcs.com/Further_Security_Steps
- Log in to the Admin Area and configure your general settings (Setup > General Settings) using the guide at https://docs.whmcs.com/Configuration
- Setup your payment gateways (Setup > Payment Gateways) with the guide at https://docs.whmcs.com/Payment_Gateways
- Setup your Products & Services (Setup > Products and Services) using the guide at https://docs.whmcs.com/Products_and_Services
- Configure your Domain Pricing (Setup > Domain Pricing) using the guide https://docs.whmcs.com/Domains_Configuration
- Setup your Support Ticket Departments (Setup > Support Departments) using the guide at https://docs.whmcs.com/Support_Center
- Setup email piping so you can manage tickets using the WHMCS Support Desk using the guide at https://docs.whmcs.com/Email_Piping
- Ensure the WHMCS Cron Job is set up and configure automated tasks (Setup > Automation Settings) using the guide at https://docs.whmcs.com/Automation_Settings