Difference between revisions of "Installing WHMCS"

From WHMCS Documentation

(Post Installation Suggested Steps)
 
(84 intermediate revisions by 15 users not shown)
Line 1: Line 1:
 
==Downloading WHMCS==
 
==Downloading WHMCS==
  
To download WHMCS, login to our client area at [http://www.whmcs.com/members/clientarea.php www.whmcs.com/members] and then do the following:
+
<div class="docs-alert-info">
 +
<span class="title">Reseller Customers</span><br />
 +
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.
 +
</div>
  
#Click the My Products & Services link
+
To download WHMCS:
#Select one of your active license keys to view the details
+
#Visit https://download.whmcs.com/
#Choose the latest stable version to download from the downloads listed at the bottom of the page
+
#Click Download under the Full Release heading. This will be the latest release version.
  
==Installing Ioncube==
+
==Installing ionCube Loader®==
  
WHMCS is encrypted using the Ioncube system.  There are therefore two ways to use WHMCS. You can use the runtime decoders or you can install the Ioncube decoders into php directly.  The first way is simplest as all you have to do is upload the ioncube folder from the Ioncube download in our client area to your WHMCS directory but it doesn't always work.  So the second is slightly more difficult, but more commonly successful, and here is a tutorial on how to do it.
+
WHMCS is encrypted using ionCube Loader to protect the source code. Most hosting providers compile ionCube support into the PHP build by default.  
  
You WILL require root access to the server in order to do this.
+
If you need to install ionCube on your server, see our [[Ioncube Installation Tutorial]].
  
#Download the latest loaders to your computer from http://www.ioncube.com/loaders.php
+
==Creating a Database==
#Extract the contents of the archived file on your local PC to a folder of your choice.
 
#Upload the folder IONCUBE via FTP to your domain webspace
 
#Now establish an SSH connection with server using a suitable client (e.g. Putty for PC's or Terminal on Mac). This is usually done using the command: SSH rootusername@yourserver.com (you will then be asked for your password).
 
#You will need to browse to the public folder where you uploaded the IONCUBE directory (search internet for change and view directory commands in Unix).
 
#Move the ioncube folder to a permanent location by entering: mv ioncube /usr/local
 
#Next, you need to locate the php.ini file, to do this enter: locate php.ini - You should find it is in /usr/local/lib/php.ini.  Now that you know the location of php.ini you need to edit it. pico /usr/local/lib/php.ini
 
#Now find where other zend extentions are in the file: ctrl + w: zend_extension
 
#Paste in your new line for ioncube loader: zend_extension = /usr/local/ioncube/ioncube_loader_lin_x.so (Replace x with your version of PHP eg. 4.4)
 
#Save the changes: ctrl + X then Y and enter
 
#Restart the web server to take effect: /etc/init.d/httpd restart
 
  
That's it!  Ioncube is now installed on your server!  You should now see a section in your PHP Info page that says:
+
<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>
  
Additional Modules
+
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]].
Module Name ionCube Loader
+
 
 +
* [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]
 +
 
 +
==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#Database_Privileges|System Environment Guide]].
  
 
==Installing WHMCS==
 
==Installing WHMCS==
  
Installing WHMCS is very simple. The following steps will guide you through the process:
+
<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:
 +
 
 +
# 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.
 +
 
 +
<div class="docs-alert-warning">
 +
<span class="title">Required file and folder permissions</span><br /><br />
 +
<tt>/configuration.php          CHMOD 400 Readable<br />
 +
/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>
 +
 
 +
==Installing WHMCS In cPanel & WHM==
 +
 
 +
<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>
  
#Unzip the contents of the zip file to a folder on your computer
+
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].
#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 to whatever you like (billing, clients, etc...)
 
#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
 
#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
 
#When complete, delete the install folder from your web server and CHMOD the configuration.php file back to 644.
 
  
Required file & folders permissions (unless your php is suPHP or PHPSuExec):
+
==Restricting Database Privileges==
+
If you wish, once WHMCS is installed, you can remove certain privileges:
/configuration.php          CHMOD 777 Writeable
+
*<tt>ALTER</tt>
/attachments                CHMOD 777 Writeable
+
*<tt>CREATE</tt>
/downloads                  CHMOD 777 Writeable
+
*<tt>DROP</tt>
/templates_c                CHMOD 777 Writeable
+
*<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==
  
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:
  
#Login to the Admin Area and configure your General Settings (Setup > General Settings)
+
# Perform the recommended [[Further Security Steps]].
#Setup your Payment Gateways (Setup  > Payment Gateways)
+
# Configure your general settings ('''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[General Settings]]''').
#Setup your Products & Services (Setup  > Products/Services)
+
# Set up your payment gateways ('''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > [[Apps and Integrations|Apps & Integrations]]''').
#Configure your Domain Pricing (Setup  > Domain Pricing)
+
# Set up your products and services ('''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[Products and Services|Products/Services]]''').
#Setup your Support Ticket Departments (Setup  > Support Departments)
+
# Configure your domain pricing ('''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[Domain Pricing]]''').
#Setup email piping so you can manage tickets using the WHMCS Support Desk - for full instructions on this please see the relevant article
+
# Set up your support ticket departments ('''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[Support Departments]]''').
#Ensure the WHMCS Cron Job is setup and configure automated tasks (Configuration > Automation Settings)
+
#Set up [[Email Piping|email piping]] to manage tickets using the WHMCS Support Desk.
#Place some test orders on your website to check everything works as expected
+
# 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 furthur guidance, you can watch video tutorials we have prepared for the above tasks @ [http://www.whmcs.com/tutorials.php www.whmcs.com/tutorials.php]
+
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