Difference between revisions of "Installing WHMCS"

From WHMCS Documentation

(Installing WHMCS)
 
(25 intermediate revisions by 5 users not shown)
Line 7: Line 7:
  
 
To download WHMCS:  
 
To download WHMCS:  
#Visit http://download.whmcs.com/
+
#Visit https://download.whmcs.com/
 
#Click Download under the Full Release heading. This will be the latest release version.
 
#Click Download under the Full Release heading. This will be the latest release version.
  
==Installing Ioncube==
+
==Installing ionCube Loader®==
  
WHMCS is encrypted using ionCube Loader® to protect the source code. Most hosting providers compile ionCube support into the PHP build by default.  
+
WHMCS is encrypted using ionCube Loader to protect the source code. Most hosting providers compile ionCube support into the PHP build by default.  
  
 
If you need to install ionCube on your server, see our [[Ioncube Installation Tutorial]].
 
If you need to install ionCube on your server, see our [[Ioncube Installation Tutorial]].
Line 18: Line 18:
 
==Creating a Database==
 
==Creating a Database==
  
WHMCS uses a MySQL® database to store settings and data. You must create one during the installation process, or create one before you begin. For more information, see [[Database Setup]].
+
<div class="docs-alert-warning">
 +
WHMCS 8.8 and later support encrypted MySQL connections.
 +
* If your server requires encrypted MySQL connections, you cannot use the browser-based installation method below and instead must [[Install On The Command Line|use the command-line method]].
 +
* If your server has enabled encrypted connections but does not require them, you can use the browser-based installation method below and then update the <tt>configuration.php</tt> file after installation is complete.
 +
For more information, see [[System Environment Guide]] and [https://help.whmcs.com/m/installation/l/1706785-enabling-encrypted-mysql-connections Enabling Encrypted MySQL Connections].
 +
</div>
 +
 
 +
WHMCS uses a MySQL® database to store settings and data. You must create one during the installation process, or create one before you begin. For more information, see our [[System Environment Guide]].
  
 
* [https://docs.cpanel.net/cpanel/databases/mysql-database-wizard/ Creating databases in cPanel & WHM]
 
* [https://docs.cpanel.net/cpanel/databases/mysql-database-wizard/ Creating databases in cPanel & WHM]
 
* [https://docs.plesk.com/en-US/17.0/customer-guide/advanced-website-databases.69535/ Creating databases in Plesk]
 
* [https://docs.plesk.com/en-US/17.0/customer-guide/advanced-website-databases.69535/ Creating databases in Plesk]
  
==Restrict Database Privileges==
+
==Database Privileges==
 
 
Most tasks require the following database privileges:
 
 
 
*<tt>DELETE</tt>
 
*<tt>INSERT</tt>
 
*<tt>SELECT</tt>
 
*<tt>UPDATE</tt>
 
*<tt>LOCK TABLES</tt>
 
  
Installation, upgrades, and activating and deactivating modules require the following additional privileges:
+
WHMCS requires specific database privileges for installations, updates, and daily use.
  
*<tt>ALTER</tt>
+
For a complete list of the required privileges, see [[System_Environment_Guide#Database_Privileges|System Environment Guide]].
*<tt>CREATE</tt>
 
*<tt>DROP</tt>
 
*<tt>INDEX</tt>
 
  
 
==Installing WHMCS==
 
==Installing WHMCS==
  
[[File:Videotutorial.png‎|center|link=https://www.youtube.com/watch?v=nxd8VYu8u5s&list=PLfpgUwyOgC7C4wwPhB7jEqSp_esXB31Jb&index=2&t=0s|Watch Video Tutorial]]
+
<html><a href="https://www.youtube.com/watch?v=nxd8VYu8u5s&list=PLfpgUwyOgC7C4wwPhB7jEqSp_esXB31Jb&index=2&t=0s" class="docs-video-tutorial"><em>Watch the video tutorial for this feature</em><span>&nbsp;<img src="https://assets.whmcs.com/icons/youtube.png">&nbsp;</span></a></html>
  
 
To install WHMCS, you can use the following process:
 
To install WHMCS, you can use the following process:
  
*Unzip the contents of the <tt>.zip</tt> file to a folder on your computer.
+
# Unzip the contents of the <tt>.zip</tt> file to a folder on your computer.
*Rename the <tt>configuration.php.new</tt> to <tt>configuration.php</tt>.
+
# Rename the <tt>configuration.sample.php</tt> to <tt>configuration.php</tt>.
*Upload the entire <tt>whmcs</tt> folder to your website. If you experience problems, try uploading the folder in binary mode.
+
# Edit the <tt>configuration.php</tt> file, removing the following lines:
*Optionally, rename the folder (for example, <tt>billing</tt>).
+
#:<source lang="yaml">
<div class="docs-alert-warning">
+
// Prevent sample file execution. Remove from live configuration.
<span class="title">Note:</span> The administration area uses an <tt>admin</tt> folder. You cannot use <tt>admin</tt> as the installation folder name.</div>
+
return;
*Navigate to the installation script at <tt>http://www.yourdomain.com/whmcs/install/install.php</tt> to run the installation. If you see an ionCube-related error message, perform the ionCube steps above.
+
</source>
*Follow the instructions to install WHMCS. This will include setting file permissions (see below), entering your license key, and setting up your primary administrator account.
+
# Upload the entire <tt>whmcs</tt> folder to your website. If you experience problems, try uploading the folder in binary mode.
 
+
# Optionally, rename the folder (for example, <tt>billing</tt>).<div class="docs-alert-warning">The administration area uses an <tt>admin</tt> folder. You cannot use <tt>admin</tt> as the installation folder name.</div>
When complete, delete the installation folder from your web server and check the <tt>configuration.php</tt> file permissions again.
+
# Navigate to the installation script at <tt>http://www.example.com/whmcs/install/install.php</tt> to run the installation. If you see an ionCube-related error message, perform the ionCube steps above.
 +
# Follow the instructions to install WHMCS, including setting file permissions (see below), entering your license key, and setting up your primary administrator account.
 +
# Delete the installation folder from your web server and check the <tt>configuration.php</tt> file permissions again.
  
 
<div class="docs-alert-warning">
 
<div class="docs-alert-warning">
Line 68: Line 66:
 
</div>
 
</div>
  
<html><a href="https://www.whmcs.com/services#installation?utm_medium=docs" class="docs-video-tutorial"><em>Need help with installation? <small>Check out our available services.</small></em><span class="button">Services</span></a></html>
+
<html><a href="https://www.whmcs.com/services#installation?utm_medium=docs" class="docs-video-tutorial"><em><small><b>Need help with installation?</b> Check our available services</small></em><span class="button">Services</span></a></html>
  
==Installing WHMCS In cPanel==
+
==Installing WHMCS In cPanel & WHM==
  
If you use cPanel, you can also install WHMCS directly from within the interface. To do this:
+
<div class="docs-alert-danger">
 +
cPanel, L.L.C. deprecated the '''Site Software''' feature in cPanel & WHM version 104. We recommend using the manual installation method above.
 +
</div>
  
# Check whether your hosting provider has installed WHMCS using the WHM ''Site Software'' feature. For more information, see [https://help.whmcs.com/m/installation/l/1027775-configuring-whmcs-in-cpanel-site-software| Configuring WHMCS in cPanel Site Software].
+
If you use cPanel & WHM, you can also install WHMCS directly from within the interface. To do this, see [https://help.whmcs.com/m/installation/l/1027775-configuring-cpanel-site-software-to-offer-whmcs Configuring cPanel Site Software to Offer WHMCS] and [https://help.whmcs.com/m/installation/l/1027779-installing-whmcs-via-cpanel-site-software Installing WHMCS via cPanel Site Software].
# Log in to cPanel and click the ''Site Software'' icon.
 
# Click ''WHMCS''.
 
# Select the domain where you want to install WHMCS.
 
# Click ''Install''.
 
# The installation may take up to 30 seconds. After it finishes, you will see a success message, a link to the login page, and automatically-generated default login credentials.
 
# Visit the provided link to log in for the first time.
 
# Upon logging in for the first time, the interface will prompt you to review and agree to the End User License Agreement.
 
# The interface will prompt you to activate WHMCS. To do this, enter an existing WHMCS license key if you already have one, or follow the link to purchase a new license.
 
# After entering your license key, click ''Activate'' to validate and complete the process.
 
  
WHMCS is now installed and ready to use.
+
==Restricting Database Privileges==
 +
If you wish, once WHMCS is installed, you can remove certain privileges:
 +
*<tt>ALTER</tt>
 +
*<tt>CREATE</tt>
 +
*<tt>DROP</tt>
 +
*<tt>INDEX</tt>
 +
<div class="docs-alert-warning">
 +
<span class="title">Important</span><br />
 +
These privileges would need to be granted again when upgrading WHMCS, and when activating and deactivating modules.
 +
</div>
  
 
==Post Installation Suggested Steps==
 
==Post Installation Suggested Steps==
Line 91: Line 91:
 
After you complete installation, we recommend that you configure WHMCS in the following order:
 
After you complete installation, we recommend that you configure WHMCS in the following order:
  
#Perform the recommended [[Further Security Steps]].
+
# Perform the recommended [[Further Security Steps]].
#Log in to the Admin Area and configure your general settings (Setup > [[Configuration|General Settings]]).
+
# Configure your general settings ('''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[General Settings]]''').
#Set up your payment gateways (Setup  > [[Payment Gateways]]).
+
# Set up your payment gateways ('''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > [[Apps and Integrations|Apps & Integrations]]''').
#Set up your products and services (Setup  > [[Products and Services]]).
+
# Set up your products and services ('''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[Products and Services|Products/Services]]''').
#Configure your domain pricing (Setup  > [[Domains_Configuration|Domain Pricing]]).
+
# Configure your domain pricing ('''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[Domain Pricing]]''').
#Set up your support ticket departments (Setup  > [[Support_Center|Support Departments]]).
+
# Set up your support ticket departments ('''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[Support Departments]]''').
#Set up email piping so you can manage tickets using the WHMCS Support Desk. For more information, see [[Email Piping]].
+
#Set up [[Email Piping|email piping]] to manage tickets using the WHMCS Support Desk.
#Make sure that the WHMCS cron job is set up and configure automated tasks (Setup  > [[Automation Settings]]).
+
# Create and configure the WHMCS cron job and its automated tasks ('''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[Automation Settings]]''').
#Place some test orders on your website to check your setup.
+
# Place some test orders on your website to check your setup.
 
 
[[File:Videotutorial.png‎|center|link=https://www.whmcs.com/get-support/video-tutorials/|Watch Video Tutorial]]
 
  
For further guidance, watch our video tutorials: [https://www.whmcs.com/get-support/video-tutorials/ www.whmcs.com/get-support/video-tutorials/]
+
For further guidance, watch our video tutorials: [https://youtube.com/whmcs https://youtube.com/whmcs]

Latest revision as of 14:43, 13 November 2023

Downloading WHMCS

Reseller Customers
If you obtained your license key from a reseller and you don't have a login for our members area, your reseller can provide the latest WHMCS files to you.

To download WHMCS:

  1. Visit https://download.whmcs.com/
  2. Click Download under the Full Release heading. This will be the latest release version.

Installing ionCube Loader®

WHMCS is encrypted using ionCube Loader to protect the source code. Most hosting providers compile ionCube support into the PHP build by default.

If you need to install ionCube on your server, see our Ioncube Installation Tutorial.

Creating a Database

WHMCS 8.8 and later support encrypted MySQL connections.

  • If your server requires encrypted MySQL connections, you cannot use the browser-based installation method below and instead must use the command-line method.
  • If your server has enabled encrypted connections but does not require them, you can use the browser-based installation method below and then update the configuration.php file after installation is complete.

For more information, see System Environment Guide and Enabling Encrypted MySQL Connections.

WHMCS uses a MySQL® database to store settings and data. You must create one during the installation process, or create one before you begin. For more information, see our System Environment Guide.

Database Privileges

WHMCS requires specific database privileges for installations, updates, and daily use.

For a complete list of the required privileges, see System Environment Guide.

Installing WHMCS

Watch the video tutorial for this feature  

To install WHMCS, you can use the following process:

  1. Unzip the contents of the .zip file to a folder on your computer.
  2. Rename the configuration.sample.php to configuration.php.
  3. Edit the configuration.php file, removing the following lines:
    // Prevent sample file execution. Remove from live configuration.
    return;
  4. Upload the entire whmcs folder to your website. If you experience problems, try uploading the folder in binary mode.
  5. Optionally, rename the folder (for example, billing).
    The administration area uses an admin folder. You cannot use admin as the installation folder name.
  6. Navigate to the installation script at http://www.example.com/whmcs/install/install.php to run the installation. If you see an ionCube-related error message, perform the ionCube steps above.
  7. Follow the instructions to install WHMCS, including setting file permissions (see below), entering your license key, and setting up your primary administrator account.
  8. Delete the installation folder from your web server and check the configuration.php file permissions again.

Required file and folder permissions

/configuration.php CHMOD 400 Readable
/attachments CHMOD 777 Writable
/downloads CHMOD 777 Writable
/templates_c CHMOD 777 Writable


The directory example permissions above may be overly permissive. I.E. world read/write permission might not be necessary or appropriate for your hosting environment:

  • For suPHP or PHP suEXEC, you will need to restrict directories further. If you use DSO as your PHP handler, you must use 644 permissions.
  • Limit access to only the account that owns the web server process. Make sure that no other system or user accounts can read your configuration file or modify any WHMCS-related files.

Need help with installation? Check our available servicesServices

Installing WHMCS In cPanel & WHM

cPanel, L.L.C. deprecated the Site Software feature in cPanel & WHM version 104. We recommend using the manual installation method above.

If you use cPanel & WHM, you can also install WHMCS directly from within the interface. To do this, see Configuring cPanel Site Software to Offer WHMCS and Installing WHMCS via cPanel Site Software.

Restricting Database Privileges

If you wish, once WHMCS is installed, you can remove certain privileges:

  • ALTER
  • CREATE
  • DROP
  • INDEX

Important
These privileges would need to be granted again when upgrading WHMCS, and when activating and deactivating modules.

Post Installation Suggested Steps

After you complete installation, we recommend that you configure WHMCS in the following order:

  1. Perform the recommended Further Security Steps.
  2. Configure your general settings (Configuration () > System Settings > General Settings).
  3. Set up your payment gateways (Configuration () > Apps & Integrations).
  4. Set up your products and services (Configuration () > System Settings > Products/Services).
  5. Configure your domain pricing (Configuration () > System Settings > Domain Pricing).
  6. Set up your support ticket departments (Configuration () > System Settings > Support Departments).
  7. Set up email piping to manage tickets using the WHMCS Support Desk.
  8. Create and configure the WHMCS cron job and its automated tasks (Configuration () > System Settings > Automation Settings).
  9. Place some test orders on your website to check your setup.

For further guidance, watch our video tutorials: https://youtube.com/whmcs