# How to install WHMCS on cPanel

> Install WHMCS on your Ruachost cPanel account in a few minutes with Softaculous, then set up the cron job, secure it and get it ready to take orders.

Source: https://helpcenter.ruachost.com/apps/softaculous/installing-whmcs-using-softaculous/

**WHMCS** is billing and client management software for web hosting businesses. It handles sign-ups, invoices, payments, support tickets and domain orders. You can install it on your Ruachost cPanel account in a few minutes with **Softaculous**.

## Before you start

You need:

- **A WHMCS licence key.** WHMCS won't install without one. Licences are sold only by WHMCS. See [Getting a WHMCS licence](https://helpcenter.ruachost.com/add-ons/guides/ordering-a-whmcs-license/).
- **A domain or subdomain** for WHMCS, such as `billing.example.com` or `example.com/billing`. A subdomain keeps WHMCS separate from your main website. See [Managing subdomains in cPanel](https://helpcenter.ruachost.com/cpanel/domains/managing-subdomains-in-cpanel/).
- **An SSL certificate** on that domain, so clients can log in and pay securely. The free AutoSSL certificate works. See [Your free SSL certificate](https://helpcenter.ruachost.com/ssl-security/ssl-certificates/how-to-install-ssl-certificate-on-your-site-using-lets-encrypt-ssl/).
- **A supported PHP version with ionCube Loader.** WHMCS is encoded with ionCube. Our default PHP version, 8.2, works with current WHMCS releases. Check [WHMCS's system requirements](https://docs.whmcs.com/) for your version, and see [Changing your PHP version and settings](https://helpcenter.ruachost.com/cpanel/software/changing-php-versions-and-settings-using-php-selector/) to change it or turn on the `ioncube_loader` extension.

> **Note:**
WHMCS runs on any Ruachost cPanel account. To **create hosting accounts for your customers automatically**, you also need a [Managed VPS](https://ruachost.com/vps) with WHM. See [Connecting WHM to WHMCS](https://helpcenter.ruachost.com/vps/whm/connecting-whm-to-whmcs/).

## Install WHMCS with Softaculous

1. Log in to cPanel and open **Softaculous Apps Installer** under **Software**.
2. Type **WHMCS** in the search box, or find it under **E-Commerce**, and click **Install**.
3. Fill in the installation form:
   - **Choose Protocol:** `https://` (or `https://www.` if you use www).
   - **Choose Domain:** the domain or subdomain for WHMCS.
   - **In Directory:** leave blank to install at the root of that domain, or enter a folder name such as `billing` to install at `example.com/billing`.
   - **Company Name** and **Company Email:** these appear on invoices and emails to your clients.
   - **License Key:** paste your WHMCS licence key exactly.
   - **Admin Username**, **Admin Password** and **Admin Email:** your WHMCS admin login. Don't use `admin` as the username, and use a strong password. See [Creating a strong password](https://helpcenter.ruachost.com/ssl-security/website-security/creating-a-strong-password/).
4. Under **Advanced Options**, you can:
   - Leave the **database name** and **table prefix** as suggested. Softaculous creates the database for you.
   - Turn on **automated backups** and choose how many to keep.
   - Tick **Email installation details** to receive the login details by email.
5. Click **Install** and wait for Softaculous to finish. It shows two links: your client area (for example `https://billing.example.com`) and your admin area (for example `https://billing.example.com/admin`).

## After installing

### 1. Set up the cron job

WHMCS needs a cron job to create invoices, send reminders, suspend unpaid services and sync domains. Without it, nothing happens automatically.

1. In WHMCS, go to **Configuration (wrench icon) → System Settings → Automation Settings**. Copy the cron command shown at the top. It looks like:

   ```bash
   php -q /home/cpaneluser/billing.example.com/crons/cron.php
   ```

2. In cPanel, open **Cron Jobs**, choose **Once Per Five Minutes**, paste the command and click **Add New Cron Job**. See [Setting up cron jobs in cPanel](https://helpcenter.ruachost.com/cpanel/advanced/setting-up-cron-jobs-in-cpanel/).
3. After about 10 minutes, check that WHMCS no longer warns that the cron hasn't run, on the admin dashboard or under **Utilities → System → Automation Status**.

### 2. Secure your installation

- **Lock the configuration file.** In File Manager, set `configuration.php` in your WHMCS folder to permission `400`. See [Configuring file permissions in File Manager](https://helpcenter.ruachost.com/cpanel/files/configuring-file-permissions-in-file-manager/).
- **Move sensitive folders out of the web folder.** WHMCS recommends moving the `attachments`, `downloads` and `templates_c` folders, and the `crons` folder, to a place outside your website folder (for example your home folder), then updating their paths in `configuration.php` and **System Settings → Storage Settings**. WHMCS shows a warning on the admin dashboard until this is done.
- **Turn on two-factor authentication** for admin users under **Configuration → System Settings → Security**.
- **Restrict admin access** to your own IP addresses, if they don't change, under **Configuration → System Settings → General Settings → Security**.

Softaculous removes the `install` folder for you. If you installed WHMCS manually, delete it yourself.

### 3. Set up your business

In **Configuration → System Settings**, work through:

- **General Settings:** your company details, logo, currency and invoice settings.
- **Payment Gateways:** turn on the ways your clients will pay, such as Paystack, Stripe, PayPal or bank transfer.
- **Mail:** send WHMCS email through SMTP, so invoices and receipts are delivered reliably. See [Sending website email with SMTP](https://helpcenter.ruachost.com/email/guides/sending-website-email-with-smtp/).
- **Products/Services:** create the products you sell.
- **Domain Registrars:** to sell domains under your own brand, see [Installing the Ruachost Domain Reseller Module for WHMCS](https://helpcenter.ruachost.com/domains/guides/installing-the-ruachost-domain-reseller-module-for-whmcs/).

## Updating WHMCS

Keep WHMCS up to date for security fixes. Back up first, then either:

- In Softaculous, open **All Installations** and click the update icon next to WHMCS, or turn on **Auto Upgrade** for the installation.
- In WHMCS, use **Utilities → Update WHMCS**.

Before a major update, check that your PHP version and ionCube Loader meet the new version's requirements.

## Troubleshooting

- **"Site error: the file … requires the ionCube PHP Loader":** turn on the `ioncube_loader` extension in **Select PHP Version → Extensions**. See [Do you support the ionCube PHP Encoder?](https://helpcenter.ruachost.com/faq/guides/do-you-support-ioncube-php-encoder/)
- **"License Invalid":** the licence key is wrong, or it's locked to another domain, IP address or folder. Reissue the licence in your WHMCS account, then reload WHMCS. See [Getting a WHMCS licence](https://helpcenter.ruachost.com/add-ons/guides/ordering-a-whmcs-license/).
- **Blank page or 500 error:** check the PHP version is supported, then look at the error log. See [Finding PHP error logs](https://helpcenter.ruachost.com/developers/php/enabling-php-error-logging/).
- **Locked out of the admin area:** see [Resetting the administrator password in WHMCS](https://helpcenter.ruachost.com/add-ons/guides/resetting-the-administrator-password-in-whmcs/) or [Removing a banned IP address in WHMCS](https://helpcenter.ruachost.com/add-ons/guides/removing-a-banned-ip-address-in-whmcs/).

## Related articles

- [Do you support WHMCS hosting?](https://helpcenter.ruachost.com/faq/guides/do-you-support-whmcs-hosting/)
- [Connecting WHM to WHMCS](https://helpcenter.ruachost.com/vps/whm/connecting-whm-to-whmcs/)
- [Installing the Ruachost Domain Reseller Module for WHMCS](https://helpcenter.ruachost.com/domains/guides/installing-the-ruachost-domain-reseller-module-for-whmcs/)
