Difference between revisions of "Installing WHMCS"

From WHMCS Documentation

 
(106 intermediate revisions by 19 users not shown)
Line 1: Line 1:
 
==Downloading WHMCS==
 
==Downloading WHMCS==
  
To download WHMCS, login to your clients area at www.whmcs.com/clients/clients_login.php.  You should then do the following to download the system:
+
<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 Licenses link
+
To download WHMCS:
*Next to one of your active licenses click the View & Download button
+
#Visit https://download.whmcs.com/
*You should then find it available to download in the Downloads Section
+
#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 on your server in php.ini. The first way is easy, all you have to do is upload the ioncube folder included in the zip file download to your WHMCS directory.  The second is slightly more difficult so 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 and upload them to your webspace
+
==Creating a Database==
#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 in binary mode - you can rename the folder to whatever you like (billing,clients,etc)
+
==Restricting Database Privileges==
#If you don't have Ioncube installed on your server then simply upload the runtime loaders folder named "ioncube" also included in the zip file to the whmcs directory
+
If you wish, once WHMCS is installed, you can remove certain privileges:
#CHMOD the following folders & files ''(unless your php is SUphp or phpsuexec)'':
+
*<tt>ALTER</tt>
/configuration.php          777
+
*<tt>CREATE</tt>
/announcements.xml          777
+
*<tt>DROP</tt>
/attachments                777
+
*<tt>INDEX</tt>
/downloads                  777
+
<div class="docs-alert-warning">
/templates_c                777
+
<span class="title">Important</span><br />
#Run the installation script at http://www.yourdomain.com/whmcs/install/install.php (choose New Install on Step 2) - This will guide you through the rest of the setup process.  On the last step, it will ask you to setup a cron job and provide you with the exact command you need to use. If you fail to do this, then automated tasks will not be performed.
+
These privileges would need to be granted again when upgrading WHMCS, and when activating and deactivating modules.
#Once completed, delete the install folder from your web server and CHMOD the configuration.php file back to 644.
+
</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:
 +
 
 +
# 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.
  
#Login to the Admin Area and configure your General Settings (Configuration > General Settings)
+
For further guidance, watch our video tutorials: [https://youtube.com/whmcs https://youtube.com/whmcs]
#Setup your Payment Gateways (Configuration > Payment Gateways)
 
#Setup your Products & Services (Configuration > Products/Services)
 
#Configure your Domain Pricing (Configuration > Domain Pricing)
 
#Setup your Support Ticket Departments (Configuration > Support Departments)
 
#Setup email piping so you can manage tickets using the WHMCS Support Desk - for full instructions on this please see the relevant article
 
#Ensure the WHMCS Cron Job is setup and configure automated tasks (Config > Automation Settings)
 
#Place some test orders on your website to check everything works as expected
 

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