Difference between revisions of "System Health Status"

From WHMCS Documentation

(MySQL Server Configuration Check)
 
(12 intermediate revisions by 2 users not shown)
Line 7: Line 7:
 
[[File:SystemHealthStatusPage.png|thumb|System Health Status Page]]An overview of the checks performed and the purpose of each is provided below.
 
[[File:SystemHealthStatusPage.png|thumb|System Health Status Page]]An overview of the checks performed and the purpose of each is provided below.
  
'''System Cron Tasks'''
+
=== System Cron Tasks ===
  
 
Checks that the system cron has run to completion within the last 24 hours.  If this reports a failure, it indicates that either the cron is not running (invalid cron command, file permissions, cron folder path, etc.) or that the cron is failing to complete successfully.
 
Checks that the system cron has run to completion within the last 24 hours.  If this reports a failure, it indicates that either the cron is not running (invalid cron command, file permissions, cron folder path, etc.) or that the cron is failing to complete successfully.
  
If this check reports a problem, you should begin by checking your cron command configuration and the activity log within WHMCS. Further helpful documentation regarding this check can be found [https://help.whmcs.com/m/troubleshooting/l/757222-resolving-attention-items-on-the-system-health-status-page#system_cron_tasks here]
+
If this check reports a problem, you should begin by checking your cron command configuration and the activity log within WHMCS. For more information, see [https://help.whmcs.com/m/troubleshooting/l/757222-resolving-attention-items-on-the-system-health-status-page#system_cron_tasks our troubleshooting documentation].
  
For further assistance, please contact our support team.
+
For further assistance, contact our support team.
  
'''Cron PHP Version Mismatch'''
+
=== Cron PHP Version Mismatch ===
  
 
Many server configurations utilize a separate php.ini file in the command line or cron engine than the web server uses. This can sometimes cause issues when different configurations are used in two places.
 
Many server configurations utilize a separate php.ini file in the command line or cron engine than the web server uses. This can sometimes cause issues when different configurations are used in two places.
Line 21: Line 21:
 
This warning identifies if automation tasks are being executed under different PHP versions to that being used to visit the admin area via a browser.
 
This warning identifies if automation tasks are being executed under different PHP versions to that being used to visit the admin area via a browser.
  
Please [https://help.whmcs.com/m/automation/l/969680-identifying-the-php-ini-used-for-in-command-line-cron-engine review this guide] for step-by-step instructions to resolve this situation on a stock cPanel server.
+
For steps to resolve this issue on a stock cPanel & WHM server, see [https://help.whmcs.com/m/automation/l/969680-identifying-the-php-ini-used-for-in-command-line-cron-engine our help documentation].
  
Otherwise contact your server admin/hosting provider for assistance.
+
For more help, contact your system administrator or hosting provider.
  
 
<div class="docs-alert-info">
 
<div class="docs-alert-info">
Line 29: Line 29:
 
</div>
 
</div>
  
'''Insecure Permissions Check'''
+
=== Insecure Permissions Check ===
  
Ensures that key files and directories have appropriate permissions. Will alert you to ownership mismatches and/or permission levels that are higher than required for day-to-day operation of the system.
+
This check ensures that key files and directories have the appropriate permissions. It will alert you to ownership mismatches or permission levels that are higher than are necessary for day-to-day operation of the system.
  
Please see this [https://help.whmcs.com/m/troubleshooting/l/757222-resolving-attention-items-on-the-system-health-status-page#permissions_check help guide] for more information.
+
For most WHMCS installations, we recommend the following permissions:
  
'''Required PHP Extensions'''
+
<table class="table table-striped table-condensed">
 +
<tr><th>File or Directory</th><th><tt>chmod</tt> Permission</th></tr>
 +
<tr><td><tt>configuration.php</tt></td><td>400 (Readable)</td></tr>
 +
<tr><td><tt>/attachments</tt></td><td>777 (Writeable)</td></tr>
 +
<tr><td><tt>/downloads</tt></td><td>777 (Writeable)</td></tr>
 +
<tr><td><tt>/templates_c</tt></td><td>777 (Writeable)</td></tr>
 +
<tr><td><tt>All other files</tt></td><td>644 (Owner writeable, otherwise readable)</td></tr>
 +
<tr><td><tt>All other directories</tt></td><td>755 (Owner writeable, otherwise readable and executable)</td></tr>
 +
</table>
  
Checks for any PHP extensions required by WHMCS to operate and will alert you to any that are missing.  Should any be reported as missing, you should recompile PHP with the missing extensions included, as detailed [https://help.whmcs.com/m/troubleshooting/l/757222-resolving-attention-items-on-the-system-health-status-page#required_php_extensions here]
+
<div class="docs-alert-warning">
 +
<span class="title">PHP</span><br />
 +
* This does not apply to installations using suPHP or phpSuExec.
 +
* If you use DSO as your PHP handler, you '''must''' use <tt>644</tt> permissions.
 +
</div>
 +
 
 +
For more information, see [https://help.whmcs.com/m/troubleshooting/l/757222-resolving-attention-items-on-the-system-health-status-page#permissions_check our help documentation].
 +
 
 +
=== Required PHP Extensions ===
 +
 
 +
This check detects your configured PHP extensions and lists any missing extensions that WHMCS requires in order to function.
  
'''Recommended PHP Extensions'''
+
If you see any extensions here, add those extensions to your PHP configuration and recompile PHP.
  
Checks for the presence of recommended PHP extensions. While not strictly required, this will alert you to any extensions which are not available in your environment that are either required by certain addons/modules or that can help provide improved performance. Detailed in our help guide [https://help.whmcs.com/m/troubleshooting/l/690502-resolving-warnings-on-the-system-health-status-page#recommended_php_extensions here] we recommend recompiling PHP with the missing extensions listed.
+
=== Recommended PHP Extensions ===
  
'''Required PHP Functions'''
+
Checks for the presence of recommended PHP extensions. While not strictly required, this will alert you to any extensions which are not available in your environment that are either required by certain addons or modules or that can help provide improved performance. Detailed in our help guide [https://help.whmcs.com/m/troubleshooting/l/690502-resolving-warnings-on-the-system-health-status-page#recommended_php_extensions here] we recommend recompiling PHP with the missing extensions listed.
 +
 
 +
=== Required PHP Functions ===
  
 
Checks for any PHP functions that are required for WHMCS to operate and will alert you to any that are disabled. If you see any functions reported here, you should check for the presence of them in the ''php.ini'' configuration file '''disable_functions''' setting and remove them.
 
Checks for any PHP functions that are required for WHMCS to operate and will alert you to any that are disabled. If you see any functions reported here, you should check for the presence of them in the ''php.ini'' configuration file '''disable_functions''' setting and remove them.
  
'''PHP Memory Limit'''
+
=== PHP Memory Limit ===
  
Checks the memory limit setting in your PHP environment and will alert you when it is too low. Will alert you by way of a failure level alert when below the minimum required value and a warning level alert when above the minimum but below the recommended value. For more details on the required memory limit, please refer to the [[System Requirements]] page.
+
Checks the memory limit setting in your PHP environment and will alert you when it is too low. Will alert you by way of a failure level alert when below the minimum required value and a warning level alert when above the minimum but below the recommended value.  
  
'''Error Reporting'''
+
For more details on the required memory limit, see [[System Requirements]].
  
Alerts you if error reporting is enabled in your environment. While useful for development and debugging situations, in production, we strongly recommend having error reporting disabled for security reasons.
+
=== Error Reporting ===
  
'''PHP Error Levels'''
+
This check alerts you if '''Display Errors''' is enabled in the '''Other''' tab at '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[General Settings]]'''.
  
Alerts you if the error reporting level is set to a very high level. We recommend only logging certain error types, as detailed [https://help.whmcs.com/m/troubleshooting/l/757222-resolving-attention-items-on-the-system-health-status-page#display_errors here]
+
'''Display Errors''' is useful for development and debugging situations. For security reasons, we '''strongly''' recommend disabling it whenever you are not actively troubleshooting an issue.
  
'''PHP Version'''
+
=== PHP Error Levels ===
  
Checks your PHP Version. Will alert you if your current PHP version has reached End of Life and is no longer supported by the PHP Group.
+
Alerts you if the error reporting level is set to a very high level. We recommend only logging certain error types, as detailed [https://help.whmcs.com/m/troubleshooting/l/757222-resolving-attention-items-on-the-system-health-status-page#display_errors here].
  
'''Customising Default Paths'''
+
=== PHP Version ===
 +
 
 +
Checks your PHP version. Will alert you if your current PHP version has reached End of Life and is no longer supported by the PHP Group.
 +
 
 +
=== Customising Default Paths ===
  
 
Checks for the existance of custom directory paths. You can customise some of the default directory paths in WHMCS to make it more difficult for malicious users to find them. This check will alert you if any directories that support customisation have not been customised. Please see  [https://help.whmcs.com/m/troubleshooting/l/690502-resolving-warnings-on-the-system-health-status-page#custom_templates this] helpful documentation about this.  
 
Checks for the existance of custom directory paths. You can customise some of the default directory paths in WHMCS to make it more difficult for malicious users to find them. This check will alert you if any directories that support customisation have not been customised. Please see  [https://help.whmcs.com/m/troubleshooting/l/690502-resolving-warnings-on-the-system-health-status-page#custom_templates this] helpful documentation about this.  
  
'''Using Default Templates'''
+
=== Using Default Templates ===
  
 
Alerts you if any template settings are set to a template of a default name which could be an indication of customisations having been made to a default template. This can result in customisations being lost at the time of the next upgrade. Please see  [https://help.whmcs.com/m/troubleshooting/l/690502-resolving-warnings-on-the-system-health-status-page#custom_templates this] helpful documentation about this.  
 
Alerts you if any template settings are set to a template of a default name which could be an indication of customisations having been made to a default template. This can result in customisations being lost at the time of the next upgrade. Please see  [https://help.whmcs.com/m/troubleshooting/l/690502-resolving-warnings-on-the-system-health-status-page#custom_templates this] helpful documentation about this.  
  
'''Installed cURL Version'''
+
=== Installed cURL Version ===
  
 
Checks the installed curl version and alerts you if your version is known to have any vulnerabilities. More information available [https://help.whmcs.com/m/troubleshooting/l/690502-resolving-warnings-on-the-system-health-status-page#curl_tls_openssl_version_warnings here]
 
Checks the installed curl version and alerts you if your version is known to have any vulnerabilities. More information available [https://help.whmcs.com/m/troubleshooting/l/690502-resolving-warnings-on-the-system-health-status-page#curl_tls_openssl_version_warnings here]
  
'''SSL Support in cURL'''
+
=== SSL Support in cURL ===
  
 
Checks to ensure that the curl library present in the PHP environment has SSL support which is required for normal WHMCS operation and many of the modules which come with WHMCS.
 
Checks to ensure that the curl library present in the PHP environment has SSL support which is required for normal WHMCS operation and many of the modules which come with WHMCS.
  
'''PHP Session Support'''
+
=== PHP Session Support ===
  
Alerts you to common issues with the PHP Session configuration in your PHP environment, please see these guides for more information:
+
This check displays common issues with your PHP environment's session configuration. For more information to resolve this issue, see [https://help.whmcs.com/m/troubleshooting/l/757222-resolving-attention-items-on-the-system-health-status-page#php-session-support-is-disabled Resolving Items on the System Health Status Page].
* [https://help.whmcs.com/m/troubleshooting/l/757222-resolving-attention-items-on-the-system-health-status-page#php-session-support-is-disabled PHP Session Support is Disabled]
 
*[https://help.whmcs.com/m/troubleshooting/l/757222-resolving-attention-items-on-the-system-health-status-page#session-autostart-is-enabled PHP Session autostart is Enabled]
 
* [https://help.whmcs.com/m/troubleshooting/l/757222-resolving-attention-items-on-the-system-health-status-page#the-php-session-save-path-is-not-writeable The PHP Session save path is not writeable]
 
  
'''Secure TLS Support in cURL'''
+
=== Secure TLS Support in cURL ===
  
 
Checks to ensure that the curl library present in the PHP environment supports secure TLS versions (TLS v1.1 and v1.2). With many payment vendors phasing out legacy SSL/TLS protocols in accordance with PCI DSS recommendations, this check will help to stay up to date with newer standards.
 
Checks to ensure that the curl library present in the PHP environment supports secure TLS versions (TLS v1.1 and v1.2). With many payment vendors phasing out legacy SSL/TLS protocols in accordance with PCI DSS recommendations, this check will help to stay up to date with newer standards.
  
'''MySQL Server Configuration Check'''
+
=== MySQL Server Configuration Check ===
  
 
<div class="docs-alert-info">
 
<div class="docs-alert-info">
Line 104: Line 125:
 
These values are for guidance only and higher limits may be necessary on low-powered or heavily-loaded servers. For assistance with your MySQL server configuration, contact your hosting provider or system administrator.
 
These values are for guidance only and higher limits may be necessary on low-powered or heavily-loaded servers. For assistance with your MySQL server configuration, contact your hosting provider or system administrator.
  
'''CloudLinux™ MySQL Extension Check'''
+
=== CloudFlare® Proxy Check ===
 +
 
 +
<div class="docs-alert-info">
 +
We added this check in WHMCS 8.10.
 +
</div>
 +
 
 +
This check indicates whether WHMCS detected that you are using CloudFlare. A warning displays if there is a misconfiguration in your settings for trusted proxies.
 +
 
 +
If you see a warning message, click the link to automatically adjust your trusted proxy settings.
 +
 
 +
=== CloudLinux™ MySQL Extension Check ===
 
   
 
   
 
<div class="docs-alert-info">
 
<div class="docs-alert-info">
Line 116: Line 147:
 
For help to resolve this problem, see CloudLinux's [https://docs.cloudlinux.com/lve_manager/#php-selector-client-plugin PHP Selector documentation] or contact your server administrator.
 
For help to resolve this problem, see CloudLinux's [https://docs.cloudlinux.com/lve_manager/#php-selector-client-plugin PHP Selector documentation] or contact your server administrator.
  
'''Event Handling'''
+
=== Support Ticket Mask Check ===
 +
 
 +
<div class="docs-alert-info">
 +
We added this check in WHMCS 8.3.
 +
</div>
 +
 
 +
Checks the amount of possible ticket numbers that the system can create and the percentage that it has already used.  The system bases this on your '''[[Support_Tab#Support_Ticket_Mask_Format|Support Ticket Mask Format]]''' setting in the '''[[Support Tab|Support]]''' tab at '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings >  General Settings'''.
 +
 
 +
To resolve this issue, adjust the '''Support Ticket Mask Format''' setting to allow more possible ticket number combinations.
 +
 
 +
=== Event Handling ===
 
   
 
   
 
<div class="docs-alert-info">
 
<div class="docs-alert-info">
Line 122: Line 163:
 
</div>
 
</div>
 
   
 
   
Checks for proper execution of event handling jobs like the Create, Terminate, and other actions for WHMCS's provisioning modules. If the check detects problems, consider changing the '''Event Handling''' setting at '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings >  General Settings''' in the '''[[Other_Tab|Other]]''' tab.
+
Checks for proper execution of event handling jobs like the Create, Terminate, and other actions for WHMCS's provisioning modules. If the check detects problems, consider changing the '''Event Handling''' setting in the '''[[Other Tab|Other]]''' tab at '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings >  General Settings'''.
 +
 
 +
=== System URL Check ===
 +
 
 +
<div class="docs-alert-info">
 +
We added this check in WHMCS 8.8.
 +
</div>
 +
 
 +
Checks whether you have set '''WHMCS System URL''' in the '''[[General_Tab|General]]''' tab at '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[General Settings]]'''. If possible, WHMCS attempts to set this value automatically during installation.

Latest revision as of 18:11, 3 April 2024

The System Health Status page provides an overview of the WHMCS installation and system environment status. It will highlight any potential configuration or security related issues that may need your attention. It also allows you to check if any updates are available for your currently installed WHMCS version, as well as providing quick and easy access to the Changelog and Release Notes for it.

You can find this feature at Configuration () > System Health .

The Checks

System Health Status Page
An overview of the checks performed and the purpose of each is provided below.

System Cron Tasks

Checks that the system cron has run to completion within the last 24 hours. If this reports a failure, it indicates that either the cron is not running (invalid cron command, file permissions, cron folder path, etc.) or that the cron is failing to complete successfully.

If this check reports a problem, you should begin by checking your cron command configuration and the activity log within WHMCS. For more information, see our troubleshooting documentation.

For further assistance, contact our support team.

Cron PHP Version Mismatch

Many server configurations utilize a separate php.ini file in the command line or cron engine than the web server uses. This can sometimes cause issues when different configurations are used in two places.

This warning identifies if automation tasks are being executed under different PHP versions to that being used to visit the admin area via a browser.

For steps to resolve this issue on a stock cPanel & WHM server, see our help documentation.

For more help, contact your system administrator or hosting provider.

The result of this check are cached so the warning may not disappear immediately after making the necessary changes to resolve the issue and will only update after the Daily Cron tasks have been executed.

Insecure Permissions Check

This check ensures that key files and directories have the appropriate permissions. It will alert you to ownership mismatches or permission levels that are higher than are necessary for day-to-day operation of the system.

For most WHMCS installations, we recommend the following permissions:

File or Directorychmod Permission
configuration.php400 (Readable)
/attachments777 (Writeable)
/downloads777 (Writeable)
/templates_c777 (Writeable)
All other files644 (Owner writeable, otherwise readable)
All other directories755 (Owner writeable, otherwise readable and executable)

PHP

  • This does not apply to installations using suPHP or phpSuExec.
  • If you use DSO as your PHP handler, you must use 644 permissions.

For more information, see our help documentation.

Required PHP Extensions

This check detects your configured PHP extensions and lists any missing extensions that WHMCS requires in order to function.

If you see any extensions here, add those extensions to your PHP configuration and recompile PHP.

Recommended PHP Extensions

Checks for the presence of recommended PHP extensions. While not strictly required, this will alert you to any extensions which are not available in your environment that are either required by certain addons or modules or that can help provide improved performance. Detailed in our help guide here we recommend recompiling PHP with the missing extensions listed.

Required PHP Functions

Checks for any PHP functions that are required for WHMCS to operate and will alert you to any that are disabled. If you see any functions reported here, you should check for the presence of them in the php.ini configuration file disable_functions setting and remove them.

PHP Memory Limit

Checks the memory limit setting in your PHP environment and will alert you when it is too low. Will alert you by way of a failure level alert when below the minimum required value and a warning level alert when above the minimum but below the recommended value.

For more details on the required memory limit, see System Requirements.

Error Reporting

This check alerts you if Display Errors is enabled in the Other tab at Configuration () > System Settings > General Settings.

Display Errors is useful for development and debugging situations. For security reasons, we strongly recommend disabling it whenever you are not actively troubleshooting an issue.

PHP Error Levels

Alerts you if the error reporting level is set to a very high level. We recommend only logging certain error types, as detailed here.

PHP Version

Checks your PHP version. Will alert you if your current PHP version has reached End of Life and is no longer supported by the PHP Group.

Customising Default Paths

Checks for the existance of custom directory paths. You can customise some of the default directory paths in WHMCS to make it more difficult for malicious users to find them. This check will alert you if any directories that support customisation have not been customised. Please see this helpful documentation about this.

Using Default Templates

Alerts you if any template settings are set to a template of a default name which could be an indication of customisations having been made to a default template. This can result in customisations being lost at the time of the next upgrade. Please see this helpful documentation about this.

Installed cURL Version

Checks the installed curl version and alerts you if your version is known to have any vulnerabilities. More information available here

SSL Support in cURL

Checks to ensure that the curl library present in the PHP environment has SSL support which is required for normal WHMCS operation and many of the modules which come with WHMCS.

PHP Session Support

This check displays common issues with your PHP environment's session configuration. For more information to resolve this issue, see Resolving Items on the System Health Status Page.

Secure TLS Support in cURL

Checks to ensure that the curl library present in the PHP environment supports secure TLS versions (TLS v1.1 and v1.2). With many payment vendors phasing out legacy SSL/TLS protocols in accordance with PCI DSS recommendations, this check will help to stay up to date with newer standards.

MySQL Server Configuration Check

We added this check in WHMCS 8.1.

Alerts you to MySQL server configuration settings which may degrade the performance of WHMCS. Including preventing the Daily Automation System Tasks and Auto Updater from completing successfully. A warning is displayed if the following settings are below the suggested minimums:

connect_timeout < 10 seconds
wait_timeout < 300 seconds
interactive_timeout < 300 seconds
max_allowed_packet < 4194304 (or 4MB)

These values are for guidance only and higher limits may be necessary on low-powered or heavily-loaded servers. For assistance with your MySQL server configuration, contact your hosting provider or system administrator.

CloudFlare® Proxy Check

We added this check in WHMCS 8.10.

This check indicates whether WHMCS detected that you are using CloudFlare. A warning displays if there is a misconfiguration in your settings for trusted proxies.

If you see a warning message, click the link to automatically adjust your trusted proxy settings.

CloudLinux™ MySQL Extension Check

We added this check in WHMCS 8.2.

The CloudLinux-provided pdo_mysql PHP extension can cause problems with data display in the WHMCS interface. Instead, CloudLinux users should use the nd_pdo_mysql extension.

This check only applies to CloudLinux users.

For help to resolve this problem, see CloudLinux's PHP Selector documentation or contact your server administrator.

Support Ticket Mask Check

We added this check in WHMCS 8.3.

Checks the amount of possible ticket numbers that the system can create and the percentage that it has already used. The system bases this on your Support Ticket Mask Format setting in the Support tab at Configuration () > System Settings > General Settings.

To resolve this issue, adjust the Support Ticket Mask Format setting to allow more possible ticket number combinations.

Event Handling

We added this check in WHMCS 8.4.

Checks for proper execution of event handling jobs like the Create, Terminate, and other actions for WHMCS's provisioning modules. If the check detects problems, consider changing the Event Handling setting in the Other tab at Configuration () > System Settings > General Settings.

System URL Check

We added this check in WHMCS 8.8.

Checks whether you have set WHMCS System URL in the General tab at Configuration () > System Settings > General Settings. If possible, WHMCS attempts to set this value automatically during installation.