Difference between revisions of "Installing WHMCS"

From WHMCS Documentation

m (Creating a Database)
 
(35 intermediate revisions by 6 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==
For day to day use, only the following database privileges are required. All others may be disabled.
 
  
*DELETE
+
WHMCS requires specific database privileges for installations, updates, and daily use.
*INSERT
 
*SELECT
 
*UPDATE
 
*LOCK TABLES
 
  
Please note that installation, upgrading, activating, and deactivating modules require the following additional privileges.
+
For a complete list of the required privileges, see [[System_Environment_Guide#Database_Privileges|System Environment Guide]].
 
 
*ALTER
 
*CREATE
 
*DROP
 
*INDEX
 
  
 
==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:
  
Installing WHMCS is very simple. The following steps will guide you through the process:
+
# Unzip the contents of the <tt>.zip</tt> file to a folder on your computer.
 +
# Rename the <tt>configuration.sample.php</tt> to <tt>configuration.php</tt>.
 +
# Edit the <tt>configuration.php</tt> file, removing the following lines:
 +
#:<source lang="yaml">
 +
// Prevent sample file execution. Remove from live configuration.
 +
return;
 +
</source>
 +
# 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>
 +
# 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.
  
*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...)
 
 
<div class="docs-alert-warning">
 
<div class="docs-alert-warning">
<span class="title">Note:</span> The folder name "admin" is reserved for the administration area, so cannot be used as the installation directory name here</div>
+
<span class="title">Required file and folder permissions</span><br /><br />
*Now visit the installation script at http://www.yourdomain.com/whmcs/install/install.php to run the installer process - if you get an Ioncube related error message, see the installation Ioncube steps above
+
<tt>/configuration.php          CHMOD 400 Readable<br />
*Follow the instructions on screen to install which will involve setting file permissions as listed below, entering your license key and setting up your primary admin account
+
/attachments                CHMOD 777 Writable<br />
 +
/downloads                  CHMOD 777 Writable<br />
 +
/templates_c                CHMOD 777 Writable</tt><br /><br />
 +
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 <tt>644</tt> 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.
 +
</div>
 +
 
 +
<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>
  
When complete, delete the install folder from your web server and ensure the configuration.php file permissions are restricted.
+
==Installing WHMCS In cPanel & WHM==
  
<div class="docs-alert-warning">
+
<div class="docs-alert-danger">
<span class="title">Required file & folders permissions</span><br /><br />
+
cPanel, L.L.C. deprecated the '''Site Software''' feature in cPanel & WHM version 104. We recommend using the manual installation method above.
/configuration.php          CHMOD 400 Readable<br />
 
/attachments                CHMOD 777 Writeable<br />
 
/downloads                  CHMOD 777 Writeable<br />
 
/templates_c                CHMOD 777 Writeable<br /><br />
 
The above applies unless your php is suPHP or PHPSuExec, in which case you directories should be more restrictive. If using DSO as your php handler, you must use 644 permissions.  It is important that permissions are limited to only the account that owns the web server process and that no other system accounts can read your configuration file or modify any files related to WHMCS.
 
 
</div>
 
</div>
  
Advanced users can also [[Install_On_The_Command_Line|perform this process on the command line]].
+
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].
  
==Installing WHMCS In cPanel==
+
==Restricting Database Privileges==
# Check with your server administrator or hosting provider that WHMCS has been installed using the ''Site Software'' feature of WHM. For more information, please see: https://help.whmcs.com/m/installation/l/1027775-configuring-whmcs-in-cpanel-site-software
+
If you wish, once WHMCS is installed, you can remove certain privileges:
# Login to cPanel and click the ''Site Software'' icon
+
*<tt>ALTER</tt>
# Click the ''WHMCS'' link
+
*<tt>CREATE</tt>
# Select the desired domain for the WHMCS application to be installed to:
+
*<tt>DROP</tt>
# Click ''Install''
+
*<tt>INDEX</tt>
# The installation may take up to 30 seconds and once completed, you will see a success confirmation along with a link to the login page and automatically generated default login credentials.
+
<div class="docs-alert-warning">
# Visit the administration URL via the link provided to login for the first time.
+
<span class="title">Important</span><br />
# Upon logging in for the first time, you will be asked to review and agree to the End User License Agreement.
+
These privileges would need to be granted again when upgrading WHMCS, and when activating and deactivating modules.
# You will subsequently be asked to activate WHMCS. This can be done either by entering an existing WHMCS license key if you already have one, or by following the link to purchase a new license.
+
</div>
# After entering your license key, click ''Activate'' to validate and complete the process.
 
WHMCS is now installed and ready to use!
 
  
 
==Post Installation Suggested Steps==
 
==Post Installation Suggested Steps==
  
After installation is completed, we recommend that you go through and configure your new WHMCS system in the following order:
+
After you complete installation, we recommend that you configure WHMCS in the following order:
 
 
#Perform the recommended [[Further Security Steps]]
 
#Login to the Admin Area and configure your General Settings (Setup > [[Configuration|General Settings]])
 
#Setup your Payment Gateways (Setup  > [[Payment Gateways]])
 
#Setup your Products & Services (Setup  > [[Products and Services]])
 
#Configure your Domain Pricing (Setup  > [[Domains_Configuration|Domain Pricing]])
 
#Setup your Support Ticket Departments (Setup  > [[Support_Center|Support Departments]])
 
#Setup email piping so you can manage tickets using the WHMCS Support Desk - for full instructions on this please see the [[Email Piping]] article
 
#Ensure the WHMCS Cron Job is setup and configure automated tasks (Setup  > [[Automation Settings]])
 
#Place some test orders on your website to check everything works as expected
 
  
[[File:Videotutorial.png‎|center|link=https://www.whmcs.com/get-support/video-tutorials/|Watch Video Tutorial]]
+
# Perform the recommended [[Further Security Steps]].
 +
# Configure your general settings ('''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[General Settings]]''').
 +
# 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 ('''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[Products and Services|Products/Services]]''').
 +
# Configure your domain pricing ('''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[Domain Pricing]]''').
 +
# Set up your support ticket departments ('''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[Support Departments]]''').
 +
#Set up [[Email Piping|email piping]] to manage tickets using the WHMCS Support Desk.
 +
# 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.
  
For further guidance, you can watch video tutorials we have prepared for the above tasks @ [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