Archive

Synchronize Server Time with WHMCS

his tutorial provides a step-by-step guide for synchronizing server time with WHMCS billing software installation. If you are facing a situation in which your server time is not synchronized to WHMCS, this tutorial will quickly solve this frustration.

WHMCS Uses Incorrect Timezone

In some cases, the WHMCS software inexplicably uses the wrong server timezone. Despite having php.ini, the WHMCS software reflects incorrect server time and causes mistimed automations (Daily Crons, Domain Sync, etc).

Synchronize Server Time with WHMCS (Workaround)

When this is the case. edit the configuration.php file in the root WHMCS installation, adding the following text to the end of the file:

Edit the timezone to the appropriate timezone of your server. Save the file. Timezones should be tz format!

Your WHMCS timezone is now synchronized with the server clock.

Slow WHMCS Domain Spinner WHOIS Lookup

Slow WHMCS domain lookups are a source of frustration for some clients, as this, in turn, leads to loss of potential sales and reflects poorly overall on the business. Fortunately, this issue is generally a simple issue to resolve.

Slow Domain Lookup Causes

Typically, the speed at which WHMCS returns the requested domain name lookup results is directly related to the size of the domain lookup request, as in the number of top-level domains WHMCS is configured to provide per domain name lookup.

Resolving the Issue of Slow Domain Checker

  1. From the WHMCS Admin area, navigate to Setup – > General Settings – > Domains
  2. Find the active domain name spinner, located near the top of the menu (Standard and Enom are the default options)
  3. Select “Configure”
  4. Review the “Additional TLDs to Search” and remove some options (ten or fewer TLDs will provide optimal domain suggestion speeds)
  5. Perform some test domain lookups to verify the performance has improved.

Configure Domain Spinner

Remove STRICT_TRANS_TABLES in SQL Mode for WHMCS

WHMCS, a billing and support software for web hosts, may experience a conflict with the default settings of certain MySQL or MariaDB server versions. This conflict prevents critical cron jobs from completing in WHMCS, causing automation settings to fail.

Check SQL Mode Settings in phpMyAdmin

To verify this, log into cPanel and then access phpMyAdmin. Click on “Variables” on the right top side. Search for “SQL Mode” and see which entry is listed there. If you see:

STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION

Then this indicates SQL Strict Mode is enabled, which prevents WHMCS from completing SQL queries with INSERT or UPDATE statements. We will need to modify this setting in order for new entries to be added to the database table.

Manually Remove STRICT_TRANS_TABLES in MySQL Configuration

To change the mode on the server, SSH with root access to your server. Edit the MySQL configuration by modifying the my.cnf file, located typically in the /etc folder. Add the following entry to your my.cnf file:



If a [mysqld] section already exists, add the “sql-mode” property in the existing [mysqld] settings.

Restart the database.

  • In CentOS 6:

  • In CentOS 7-8:

Verifying SQL Mode Updates

Verify the SQL Mode values by repeating the “SQL Mode” search in phpMyAdmin > Variables. Refresh the page and verify the following value:



If making the change above doesn’t work, there may be additional my.cnf files (such as /usr/my.cnf) that overwrite the primary MySQL configuration file.

In this case, if you find the sql-mode entry in that file, you can remove the line from the file. Then save the file and restart the mysqld service.

Get Support

If you are unsure or unable to make this change, you may want to contact support to have the Support Team perform these changes.

List of Banned Subdomain Prefixes

This article provides suggestions for the Banned Subdomain Prefixes field of WHMCS administrative settings as part of WHMCS Initial Setup.

Who should read:

What Are “Banned Subdomain Prefixes”?

Providers may offer a complementary subdomain of an existing domain as an alternative for clients who do not provide or register their own domain. Specifically, this practice is common with Shared Hosting services.

or services which users can opt for using a Banned Subdomain Prefixes prevent Orders from being created for Products (typically Shared Hosting)

Order Hosting Plan Using Subdomain

For providers, there are often some subdomains that should be reserved and not for general use by clients.  Banned Subdomain Prefixes is a list that prevents client Orders with Products using any subdomain that exists on the list. Instead, clients can be notified of the invalid selection and reselect the prefix immediately, preventing any delays to the order.

By configuring the Banned Subdomain Prefixes during the initial WHMCS setup, providers are also able to avoid potential issues that could arise from creating accounts on the server for users assigned to certain subdomain prefixes (often required by the server software). An example would be the “www” prefix, which is often reserved for public web files (as in “www.communitydomain.com”) or “FTP” which is used by most File Transfer Protocol software (as in “ftp.communitydomain.com”). In either of those scenarios, most hosting providers will be facing issues if these subdomains are not reserved for their typically designated roles.

Commonly Reserved Subdomains

We have compiled a list of subdomain prefixes that are commonly used for other purposes. This list is in not fully inclusive and users should make changes as necessary for their custom requirements.

about
abuse
access
account
accounts
acme
activate
activities
activity
ad
add
address
adm
admanager
admin
administration
administrator
administrators
admins
ads
adsense
adult
advertising
adwords
affiliate
affiliatepage
affiliates
afp
ajax
all
alpha
analysis
analytics
android
anon
anonymous
answer
answers
ap
api
apis
app
appengine
appnews
apps
archive
archives
article
asdf
asset
assets
auth
authentication
avatar
backup
bank
banner
banners
base
beginners
beta
billing
bin
binaries
binary
blackberry
blog
blogs
blogsearch
board
book
bookmark
bookmarks
books
bot
bots
bug
bugs
business
buy
buzz
cache
calendar
call
campaign
cancel
captcha
career
careers
cart
catalog
catalogs
categories
category
cdn
cgi
cgi-bin
changelog
chart
charts
chat
check
checked
checking
checkout
client
cliente
clients
clients1
cnarne
code
comercial
comment
comments
communities
community
company
compare
compras
config
configuration
confirm
confirmation
connect
contact
contacts
contactus
contact-us
contact_us
content
contest
contribute
contributor
contributors
coppa
copyright
copyrights
core
corp
countries
country
cpanel
create
css
cssproxy
customise
customize
dashboard
data
db
default
delete
demo
design
designer
desktop
destroy
dev
devel
developer
developers
devs
diagram
diary
dict
dictionary
die
dir
directory
direct_messages
direct-messages
dist
diversity
dl
dmca
doc
docs
documentation
documentations
documents
domain
domains
donate
download
downloads
e
e-mail
earth
ecommerce
edit
edits
editor
edu
education
email
embed
embedded
employment
employments
empty
enable
encrypted
end
engine
enterprise
enterprises
entries
entry
error
errorlog
errors
eval
event
example
examplecommunity
exampleopenid
examplesyn
examplesyndicated
exampleusername
exchange
exit
explore
faq
faqs
favorite
favorites
favourite
favourites
feature
features
feed
feedback
feedburner
feedproxy
feeds
file
files
finance
folder
folders
first
following
forgot
form
forms
forum
forums
founder
free
friend
friends
ftp
fuck
fun
fusion
gadget
gadgets
game
games
gears
general
geographic
get
gettingstarted
gift
gifts
gist
git
github
gmail
go
golang
goto
gov
graph
graphs
group
groups
guest
guests
guide
guides
hack
hacks
head
help
home
homepage
host
hosting
hostmaster
hostname
howto
how-to
how_to
html
htrnl
http
httpd
https
i
iamges
icon
icons
id
idea
ideas
im
image
images
img
imap
inbox
inboxes
index
indexes
info
information
inquiry
intranet
investor
investors
invitation
invitations
invite
invoice
invoices
imac
ios
ipad
iphone
irc
irnages
irng
is
issue
issues
it
item
items
java
javascript
job
jobs
join
js
json
jump
kb
knowledge-base
knowledgebase
lab
labs
language
languages
last
ldap_status
ldap-status
ldapstatus
legal
license
licenses
link
links
linux
list
lists
livejournal
lj
local
locale
location
log
log-in
log-out
login
logout
logs
log_in
log_out
m
mac
macos
macosx
mac-os
mac-os-x
mac_os_x
mail
mailer
mailing
main
maintenance
manage
manager
manual
map
maps
marketing
master
me
media
member
members
memories
memory
merchandise
message
messages
messenger
mg
microblog
microblogs
mine
mis
misc
mms
mob
mobile
model
models
money
movie
movies
mp3
mp4
msg
msn
music
mx
my
mymme
mysql
name
named
nan
navi
navigation
net
network
networks
new
news
newsletter
nick
nickname
nil
none
notes
noticias
notification
notifications
notify
ns
ns1
ns2
ns3
ns4
ns5
null
oauth
oauth-clients
oauth_clients
ocsp
offer
offers
official
old
online
openid
operator
option
options
order
orders
org
organization
organizations
other
overview
owner
owners
p0rn
pack
page
pager
pages
paid
panel
partner
partnerpage
partners
password
patch
pay
payment
people
perl
person
phone
photo
photoalbum
photos
php
phpmyadmin
phppgadmin
phpredisadmin
pic
pics
picture
pictures
ping
pixel
places
plan
plans
plugin
plugins
podcasts
policies
policy
pop
pop3
popular
porn
portal
portals
post
postfix
postmaster
posts
pr
pr0n
premium
press
price
pricing
principles
print
privacy
privacy-policy
privacypolicy
privacy_policy
private
prod
product
production
products
profile
profiles
project
projects
promo
promotions
proxies
proxy
pub
public
purchase
purpose
put
python
queries
query
radio
random
ranking
read
reader
readme
recent
recruit
recruitment
redirect
register
registration
release
remove
replies
report
reports
repositories
repository
req
request
requests
research
reset
resolve
resolver
review
rnail
rnicrosoft
roc
root
rss
ruby
rule
sag
sale
sales
sample
samples
sandbox
save
scholar
school
schools
script
scripts
search
secure
security
self
seminars
send
server
server-info
server_info
server-status
server_status
servers
service
services
session
sessions
setting
settings
setup
share
shop
shopping
shortcut
shortcuts
show
sign-in
sign-up
signin
signout
signup
sign_in
sign_up
site
sitemap
sitemaps
sitenews
sites
sketchup
sky
slash
slashinvoice
slut
smartphone
sms
smtp
soap
software
sorry
source
spec
special
spreadsheet
spreadsheets
sql
src
srntp
ssh
ssl
ssladmin
ssladministrator
sslwebmaster
ssytem
staff
stage
staging
start
stat
state
static
statistics
stats
status
store
stores
stories
style
styleguide
styles
stylesheet
stylesheets
subdomain
subscribe
subscription
subscriptions
suggest
suggestqueries
support
survey
surveys
surveytool
svn
swf
syn
sync
syndicated
sys
sysadmin
sysadministrator
sysadmins
system
tablet
tablets
tag
tags
talk
talkgadget
task
tasks
team
teams
tech
telnet
term
terms
terms-of-service
termsofservice
terms_of_service
test
testing
tests
text
theme
themes
thread
threads
ticket
tickets
tmp
todo
to-do
to_do
toml
tool
toolbar
toolbars
tools
top
topic
topics
tos
tour
trac
translate
trace
translation
translations
translator
trends
tutorial
tux
tv
twitter
txt
ul
undef
unfollow
unsubscribe
update
updates
upgrade
upgrades
upi
upload
uploads
url
usage
user
username
usernames
users
uuid
validation
validations
ver
version
video
videos
video-stats
visitor
visitors
voice
volunteer
volunteers
w
watch
wave
weather
web
webdisk
webhook
webhooks
webmail
webmaster
webmasters
webrnail
website
websites
welcome
whm
whois
widget
widgets
wifi
wiki
wikis
win
windows
word
work
works
workshop
wpad
ww
wws
www
wwws
wwww
xfn
xhtml
xhtrnl
xml
xmpp
xpg
xxx
yaml
year
yml
you
yourdomain
yourname
yoursite
yourusername

View and download the source code at GitHub.

Prevent Copyright Infringement and Abuse

Banned Subdomain Prefixes can also be used to deter abusive and illegal use of copyrighted names.

How to Setup WHMCS Development and Testing Environment

Creating a testing and development environment will let you verify all of your customizations without any changes to your production system. This helps to protect your data and customizations.

We recommend setting this up before you upgrade WHMCS and whenever you write modules, themes, or other customizations.

Make sure to also perform basic steps like creating a full backup and checking our release notes for changes before upgrading.

1. Get a Development License

Contact WHMCS Customer Service to get a development license.

  • You can get one free development license for every active license that you purchase directly from whmcs.com.
  • If you purchase your WHMCS license through a reseller, you will need to buy the development license.

The addons for your paid license will be available in your test installation, except Live Chat. Installations using this type of license must be private and must return a Forbidden error or login prompt if accessed.

2. Meet the System Requirements

Your testing and development environment should meet the same system requirements as a production installation.

3. Duplicate your WHMCS Installation

For the most accurate results, your installation should be identical to your production setup, with the same data and configuration.

There are several methods to duplicate your installation. The method that you use will depend on many factors, including the hosting control panel you use.

If you’re using cPanel, copy your WHMCS installation in the File Manager interface:

  1. Log in to cPanel and go to Files >> File Manager.
  2. Select the folder for your production installation.
  3. Click Copy.
  4. Enter the new location (the location of your development installation).
  5. Edit the configuration.php file in your development environment to reflect the new location.

4. Duplicate your Database

You must also duplicate the data that WHMCS operates on. This means creating a second database, exporting the existing database, and then importing it to your new database. Like duplicating the installation, there are several ways to do this that partially depend on the hosting control panel you use.

If you’re using cPanel, you could follow this process:

  1. Use the MySQL Databases interface to create the new database.
  2. Use phpMyAdmin to export the existing data and import it into your new database.

5. Password Protect your Installation’s Directory

The development license requires you to make the development installation inaccessible, either using password protection or other methods that return an error or a login prompt.

In cPanel, you can password-protect the installation’s directory in Files >> Directory Privacy.

6. Update the System URL

Make sure to update the system URL in the General tab at Configuration > System Settings > General Settings to use the new testing environment’s URL.

If you can’t access the installation to do this in the interface yet, in WHMCS 8.8 and later, you can set the systemUrl setting in the configuration.php file:

$systemUrl="https://www.example.com/whmcs/"

In WHMCS 8.7 and earlier, you can use this MySQL command or update the value manually in phpMyAdmin:

UPDATE `tblconfiguration` SET value ='https://www.example.com/whmcs/' WHERE setting='SystemURL';

7. Prevent Sending Mail

To prevent sending test mail from your development installation to your real customers:

  1. Go to Configuration > System Settings > General Settings.
  2. In the General tab, set Disable Email Sending to ON.

You can also use a service like Mailtrap.io to serve this purpose.

You may also want to set your payment gateways and domain registrars to test mode and disconnect from your production servers. You can also prevent accidentally charging customers by adding extra characters to the encryption hash in your development environment’s configuration.php file. This makes WHMCS unable to read encrypted data, ensuring that it can’t use encrypted data to charge credit cards or perform other actions.

You must exercise caution when you do this. Accidentally making this type of change on your production installation could cause serious problems.

Testing a New Version

After you copy your production installation and have confirmed that everything is functional, you can upgrade WHMCS. We recommend that you use the Automatic Updater for this since it streamlines the process for you.

After the upgrade, go through WHMCS and exercise all of the features and functions that you use most. Check both the Client Area and Admin Area, and make sure to place several orders for your various products. Advance these test orders through every step of the process, including marking them as paid and ensuring correct provisioning.

Monitor Configuration > System Health and look for any problems or incompatibilities. The Cron Job Activity Report email will confirm whether your automation tasks are successful.

After you have completed everything successfully, you can upgrade your production installation.

How to Manage Products and Services in WHMCS

This article provides a guide for how to manage products and services in WHMCS.

How to Manage Products and Services in WHMCS

To manage products and services in WHMCS, follow the steps below:

  1. Login to the WHMCS Admin.
  2. Navigate to the Products/Services interface (Settings -> Products/Services -> Products/Services)
  3. Overview of products and services:
    Manage Products and Services in WHMCS
  4. Using the buttons provided, you can “Create a New Group”, “Create a New Product”, or “Duplicate a Product”. Additionally, you may reorganize products, edit a product, or delete a product using the product-specific buttons on the left.

Conclusion

You now know how to manage products and services in WHMCS.

How to Install WHMCS Domain Registrar Module

This article provides a guide for how to install the WHMCS domain registrar module for use with Rad Web Hosting domain reseller API.

What is WHMCS Domain Registrar Module?

  • This is a Domain Registrar module for WHMCS to integrate API functionality for Domains resellers, allowing them to connect to the API from a remote WHMCS installation.
  • Hosting providers can now easily offer cheap domain names to their clients and reduce administrative load.
  • Domains can be registered, transferred, renewed, and modified directly in your existing WHMCS without the need for direct logins to domain provider interfaces.
  • This module also installs Client Area domain controls with a robust management interface. Your end clients will have access to self-service domain controls and features.
  • The ready-made solution eliminates the need for costly and time-consuming development of API integrations. The registrar module provides full automation for registering, transferring, and renewing domain names for remote control of all domain functions.

Prerequisites

Please read the following system requirements for the WHMCS Domain Reseller module:

  • Working WHMCS installation (v5.3+)
  • Read Web Hosting API key

Users can gain access to the API key by signing up for a Domain Reseller account

How to Install WHMCS Domain Registrar Module

  1. Download the module (Login to Client Area -> Domains -> Reseller Area -> Settings -> Integrations)
    download latest Domain Registrar module
  2. Upload and extract the archive (.zip or tar.gz) at the WHMCS root directory (/path/to/your_whmcs)
  3. Verify the HostingInIndia registrar module is located at /path/to/your_whmcs/modules/registrars/HostingInIndia

Configure Registrar in WHMCS

  1. Login to the WHMCS admin.
  2. Navigate to Setup -> Products/Services -> Domain Registrars
  3. Activate the HostingInIndia registrar
    configure Rad Web Hosting WHMCS domain registrar
  4. Enter the API Username and API Secret (provided by HostingInIndia in the Hosting Dashboard).
  5. In the Hosting Dashboard, navigate to the Domains Reseller “Settings” tab (Domains -> Domain Reseller -> Settings).Domains Reseller settings
  6. Whitelist all IP addresses that will be authorized to make calls to the API.

 

Whitelist IPs for API access

The registrar module is now active! If you face any difficulty, please open a support ticket for assistance.

NOTE: You must add funds to your account. Domain registrations/transfers/renewals initiated by the API are funded from this account balance. PayPal, Credit Cards, and over 40 cryptocurrencies can be used for funding. $20 is the minimum funds allowed per transaction.

Related

For more about the Domain Reseller WHMCS API module, check out these links:

  • Domain Reseller Program
  • Domain API Information
  • Domains Reseller Module Updated to v3.0.11 with Support for WHMCS 8.7

Visit the official WHMCS Marketplace listing:

Available on the WHMCS Marketplace