1. Installation & Configuration
System Requirements:contentReference[oaicite:0]{index=0}: Ensure a LAMP stack (Linux, Apache, MySQL/MariaDB, PHP) and meet WHMCS’s minimum requirements:
- Linux OS (Apache 2.x recommended)
- PHP 7.2+ with needed extensions (cURL, GD2, JSON, PDO, ionCube Loader)
- MySQL 5.6+ or MariaDB
- 64MB+ PHP memory limit (128MB recommended)
- Cron job capability for scheduled tasks
Installing WHMCS:contentReference[oaicite:1]{index=1}:
- Purchase a license and download WHMCS from the official site.
- Upload & extract the WHMCS files to a folder or subdomain on your server.
- Create a new database and user (via cPanel or your DB tool).
- Browse to
install/install.php
and follow the steps (accept license, enter license key, database info, create admin account).
- Delete or rename the
install
directory for security, then set proper file permissions.
After installation, configure your General Settings (company details, email settings, domain/URL, invoices, etc.). This ensures WHMCS has your correct branding, system URLs, and mail configuration:contentReference[oaicite:2]{index=2}.
2. Integration with Hosting Providers
To sell hosting, you need a reseller hosting account or a dedicated server where WHMCS can auto-create new hosting accounts:contentReference[oaicite:3]{index=3}.
Choosing a Reseller Program
Many providers (HostGator, ResellerClub, InMotion, A2 Hosting, etc.) offer white-label reseller packages with cPanel/WHM. Often these include a WHMCS license discount. Look for reliability, resource allocation, and good support:contentReference[oaicite:4]{index=4}.
Connecting WHMCS to cPanel/Plesk/DirectAdmin
- Go to Configuration > System Settings > Servers and click “Add New Server.”
- Select the module that matches your panel (cPanel, Plesk, DirectAdmin).
- Enter hostname (or IP) and API credentials (often root/API token for cPanel).
- Click Test Connection to verify.
- Save and optionally mark this server as default.
With the server connected, create a hosting product in Products/Services, select the module (e.g., cPanel), and specify either a package name from WHM or custom resource limits:contentReference[oaicite:5]{index=5}.
Automatic Provisioning
In each product’s settings, under Module Settings, choose when to “Automatically setup the product” (often “On Payment”). Clients are automatically sent a welcome email, and WHMCS creates/suspends the account on your server as needed:contentReference[oaicite:6]{index=6}.
3. Billing & Automation Setup
Payment Gateways
WHMCS supports PayPal, Stripe, Authorize.Net, and many others:contentReference[oaicite:7]{index=7}.
- PayPal: Basic setup requires your PayPal email address. You can enable subscriptions for auto-recurring payments.
- Stripe: Enter API keys to accept credit cards directly on your site; supports tokenization for auto-billing.
Automating Invoices & Reminders
In Configuration > System Settings > Automation Settings, configure:
- Invoice Generation: How many days before due to generate recurring invoices.
- Overdue Reminders: Automatic email notices if clients haven’t paid by the due date.
- Auto-Suspension: Temporarily suspends accounts X days after non-payment.
- Auto-Termination: Permanently removes accounts if still unpaid after a set period (optional).
Ensure the cron job is set up (usually php -q /path/to/whmcs/crons/cron.php
) to run at least once daily. This handles billing cycles, domain sync, and more:contentReference[oaicite:8]{index=8}.
Promotions & Pricing
Define recurring prices for each billing cycle on your product pages. You can also create Coupons (e.g., 20% off) or Promotions under Promotions to encourage signups. Configure these to apply only to certain products or cycles:contentReference[oaicite:9]{index=9}.
4. Game Server Hosting Integration
For game hosting (Minecraft, ARK, CS:GO, etc.), use a specialized game panel like TCAdmin or Pterodactyl:contentReference[oaicite:10]{index=10}.
TCAdmin Setup
- Install TCAdmin on your Windows/Linux game server.
- In WHMCS, Configuration > Servers, add a server using the TCAdmin module.
- Enter your TCAdmin panel URL, admin/API credentials, and enable the billing API in TCAdmin.
- Test connection, then create WHMCS products mapped to specific game configurations.
Pterodactyl Setup
- Install Pterodactyl (Docker-based) on your server.
- Add a Pterodactyl server in WHMCS after installing the module (from GitHub or third-party source).
- Use the Pterodactyl Admin panel to generate an API key; enter it in WHMCS’s server settings.
- Create products specifying the “egg” (game config), node, RAM, and so on.
Once set, new orders automatically provision a game server instance. Customize your Welcome Email to include server IP/port and panel login details:contentReference[oaicite:11]{index=11}.
5. Security and Compliance
SSL & Securing Client Data
Always run WHMCS over HTTPS with a valid SSL certificate:contentReference[oaicite:12]{index=12}.
- Enable SSL on your domain or subdomain (e.g.,
billing.yourdomain.com
).
- Update WHMCS System URLs to use
https://
.
- Rename the admin folder from “admin” to something unique.
- Secure file permissions (read-only for configuration files, move attachments/downloads above webroot or protect them via .htaccess).
- Enable Two-Factor Authentication (2FA) for admins (and optionally for clients).
- Keep WHMCS, server OS, and PHP versions updated.
Fraud Protection
Use FraudLabs Pro or MaxMind integration to screen new orders for fraud:contentReference[oaicite:13]{index=13}.
- Get an API key from the chosen service.
- Enable it in Configuration > System Settings > Fraud Protection.
- Orders flagged with high risk scores are marked “Fraud” and not provisioned automatically.
GDPR & Data Privacy
If you have EU customers, be mindful of GDPR:contentReference[oaicite:14]{index=14}:
- Publish a clear Privacy Policy.
- Enable “Marketing Email opt-in” to get consent.
- Use Data Retention Settings to remove or anonymize inactive clients after X months.
- Allow clients to request data deletion (“right to be forgotten”).
- Consider cookie consent banners if operating in the EU.
6. Customer Support & Management
Support Tickets & Departments
WHMCS includes a built-in ticket system:contentReference[oaicite:15]{index=15}:
- Go to Configuration > System Settings > Support Departments to create departments (e.g., Sales, Tech, Billing).
- Enable Email Piping so tickets are created automatically when customers email your support address.
- Admins can manage tickets in the WHMCS admin area, add private notes, and transfer or escalate as needed.
Live Chat (Optional)
Integrate live chat via:
- WHMCS Live Chat & Visitor Tracking (paid official addon) or
- A third-party widget (Tawk.to, LiveChat, etc.) embedded in your WHMCS theme.
This can boost sales conversions and provide quick client help.
Client Management Dashboard
Each client has a profile with billing, services, domains, and tickets. You can “Login as Client” to see what they see. Consider customizing the client area to match your brand and make it easy for clients to manage their services and pay invoices:contentReference[oaicite:16]{index=16}.