- Created by Dev, last modified on May 17, 2021
Problem - Getting display but with no wording/text in the Client front end
Solution
If you are not using the default English language. Make sure you had make a copy of the lang/english.php to the language you are using. For example, if you are using Chinese then copy lang/english.php → lang/chinese.php
Problem - WHMCS installation is behind CloudFlare
Solution
Since Cloudflare will mask your visitor's IP address, you will need to insert the following code into your WHMCS configuration.php
if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
Problem - Getting An error occurred while trying to connect to the hosting server. Please contact support. message on Client Area
Solution
This error occurs when there is no matching server in Module's Admin interface server listing (Figure 1) to the server that the hosting package it is using (WHMCS → Setup → Products/Services → Servers) Figure 1
To solve this issue, make sure the hosting servers that are going to be using this module have an Server Listing entry under the CSF Unblocker Admin interface
Problem - Remote server with system(), fileperms(), posix_getpwuid(), fileowner(), filegroup() disabled in PHP
Solution
These functions are only needed for the cronjob and with One Step Installer. If you had used the one step installer, then it should have copied your /usr/local/lib/php.ini into /var/www/
Therefore, you can simply removed them in the disable_functions in the /var/www/php.ini to allow the cronjob to have access to those functions without impacting your server's security.
Problem - Remote server passes the connection test but blank rules
Solution
If the remote server's Web Address is set to use https, try set it back to http.
Problem - Module stopped connecting to remote server
Solution
There are numerous factors on why the connection stop working. Here are a few things to check.
The module allows for a 15 minutes padding between server's time. So make sure the time between servers are in sync to the actual time
The remote server is blocking the IP of the WHMCS server, check /etc/csf/csf.deny
The module files on the remote server is not accessible. Check the httpd logs and see if CSFUnblockremote.php is being hit by your WHMCS
The ioncube loader updated during a update. Make sure the loader is able to decode the remote server files
Problem - Remote server passes the connection test but blank rules
Solution
If the remote server's Web Address is set to use https, try set it back to http.
Problem - Cronjob not running properly on the remote server
Solution
If the cronjob is running properly, the ownership for CSFUnblockRemote.php and CSFSettings.php in /var/www/html/ should be set to the $fileOwner and $fileGroup in CSFSettings.php.
You should also see the following files in /var/www/ generated by the cronjob
aa.cluster aa.local ar.cluster ar.local csf.allow csf.deny csffilesize.txt csf.tempban daa.local da.cluster da.local dr.cluster dr.local tdr.cluster tdr.local
If your cronjob isn't working, then check the following.
The PHP binary the cronjob is running have the proper ioncube loader. If you are running multiple PHP environment then check the section below
The php.ini in /var/www/ don't have the functions needed for this module. Removed them in disabled_functions if it is disabled.
Note
Note that since only the module's cronjob is using the customized php.ini, therefore your system's security won't be compromised.
Problem - Dealing with Multiple PHP server environments
Solution
The module auto installer will install the cronjob using the native PHP (/usr/bin/php). There are few things you need to watch out for when you have multiple PHP installed on a system
The PHP binary being use in the web root have ioncube10 enabled
The cronjob being run have ioncube10 enabled
For the cronjob, you can make any necessary changes to the PHP binary you desire to run as long as ioncube10 is included.
Problem - IP isn't being removed from IPtables even though the IP removal was success via module
Solution
Try running the following command on the remote server's shell
perl /etc/csf/csf.pl -r
and if you get result similar to
Can't locate YAML/Tiny.pm in @INC (@INC contains: /usr/local/csf/lib /usr/local/cpanel /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/local/csf/lib/ConfigServer/CloudFlare.pm line 41. Compilation failed in require at /etc/csf/csf.pl line 202.
then you just need to run the following command to fix the missing dependency.
cpan YAML::Tiny
If you don't get the error when running the first command, then make sure there is a cronjob installed and running properly on the remote server.
Things to check when the module is not connecting to the remote server
If your module is having trouble connecting to the remote server, here is a checklist for you to verify everything is setup correctly
Click on the Connection Tester on the Server Listing in the Admin interface. This will reveal whether your WHMCS server can make a http/https connection to your remote server's Web Address. To test this on your browser, you should be able to goto http://yourhostname/CSFUnblockremote.php, if it display a white page. Then the remote files are installed properly. If you are getting a 404, then the files are missing in the document root. If you are getting 500 then the permission and ownership is most likely incorrect.
- Did you enable the $allowedIP variable in the CSFSettingsremote.php? If so, make sure the outgoing IP of your WHMCS matches one of the IP in the array.
Make sure the remote server module files are in the document root for the Web Address of your remote server. For example, with cPanel/DA servers the default document root is /var/www/html. So perform the command ls -lah /var/www/html and see if the remote server module files had been installed to that path correctly if using the One Step installer.
Check if there is any PHP error_log in the document root and the directory in Step 2. In a cPanel/DA server, it would be /var/www/ or /var/www/html
Check if the remote server have the proper ioncube loader installed for the PHP. For servers with multiple PHP installed check which PHP binary is being run when the remote server file is being run and during the cronjob
Check to see the cronjob is setup for on the remote server. The cronjob is essential for it to self heal any permission or ownership change. You also need to make sure the cronjob is running using root
Need Additional Support: Submitting Support Ticket
When submitting a support ticket regarding the module isn't connecting, please make sure to include the following information
How did you install the remote server modules?
Is the cronjob running?
- Perform the following two commands on your remote server's SSH
ls -lah /var/www/
and
ls -lah /var/www/html
and provide us the result
Check /var/www/html and see if there is any error_log