# Install WHMCS with Softaculous
Source: https://docs.webgee.com/en/reseller/softaculous-how-do-i-install-whmcs



Install WHMCS on your hosting account. Applies to reseller, Premium and VPS
hosting.

## Before you begin [#before-you-begin]

You need a **WHMCS licence key**. Softaculous installs the software; it does not
provide a licence, and WHMCS will not run without one.

Decide two things now, because both are awkward to change later:

* **Which domain or subdomain it lives on.** A subdomain such as
  `billing.example.com` is the usual choice and keeps it separate from your main
  site.
* **The directory.** Leave it empty to install at the root of that hostname. A
  licence is tied to the domain it is issued for.

## Install [#install]

1. In cPanel, open **Softaculous Apps Installer** under **Software**.

2. Search for **WHMCS**.

3. Select **Install**.

4. Set the installation URL:

   | Field        | Value                                          |
   | ------------ | ---------------------------------------------- |
   | Protocol     | `https://`                                     |
   | Domain       | Your billing domain or subdomain               |
   | In Directory | **Leave empty** unless you want a subdirectory |

5. Enter your **licence key**.

6. Set the admin username and password. Do not use `admin`.

7. Select **Install**.

<Callout type="warn">
  Softaculous pre-fills **In Directory** on some versions. Leaving it in place
  puts WHMCS at `billing.example.com/whmcs` rather than the root — and your
  licence may then not validate against the URL you expected.
</Callout>

## After installing [#after-installing]

WHMCS ships with setup files that must be removed before it will run in
production:

1. Delete the `install` directory from the WHMCS root.
2. Set `configuration.php` to permissions `400`.
3. Move the `crons` directory outside your document root if you can, so it is
   not web-accessible.

Then add the cron job WHMCS needs — it will not send invoices or suspend overdue
accounts without one. WHMCS shows the exact command under
**Utilities → System → System Health**; add it in **cPanel → Cron Jobs**, see
[Managing cron jobs in cPanel](/en/hosting/managing-cron-jobs-in-cpanel).

## Check it worked [#check-it-worked]

Visit `https://billing.example.com/admin` and sign in. **Utilities → System →
System Health** flags anything still outstanding — a missing cron, wrong file
permissions, or the install directory still present.

## Next steps [#next-steps]

* [Add a server to WHMCS](/en/reseller/how-to-add-a-server-or-reseller-account-into-your-whmcs)
* [Configure WHMCS to send mail over SMTP](/en/reseller/configuring-whmcs-to-use-smtp-for-mail)

## Related [#related]

* [WHMCS licence invalid error](/en/reseller/whmcs-license-invalid-error)
* [Manage WHMCS attachments with S3 storage](/en/reseller/managing-whmcs-attachments-with-s3-type-storage)
