Installation and Configuration Guide
Step-by-step instructions for installing, configuring, and setting up the Synology WHMCS module, including Synology DSM preparation, WHMCS integration, email templates, and product configuration.
- WHMCS setup (install/update)
- Synology part setup guide
- WHMCS part setup guide
- Email Template (puqSynology Notification disk limit)
- Add server (Synology NAS)
- Product Configuration
WHMCS setup (install/update)
Synology module WHMCS
Order now | Download | Community
System requirements
| Requirement | Minimum version |
|---|---|
| PHP | 7.4 or higher (7.4 / 8.1 / 8.2) |
| WHMCS | 8.x or higher |
| ionCube Loader | v13 or newer (v14, v15) |
| Synology DSM | 7.x or higher |
Note: The module uses ionCube encoding. Make sure ionCube Loader is installed and active on your server.
Backward compatibility
This module supports older PHP versions and older WHMCS versions for maximum compatibility with existing hosting environments. PHP-version-specific builds are provided:
- PHP 7.4 — for legacy WHMCS 8 installations running PHP 7.4
- PHP 8.1 — for WHMCS 8 installations running PHP 8.1
- PHP 8.2 — for WHMCS 8/9 installations running PHP 8.2
Each build is encoded with the appropriate ionCube version for the target PHP runtime.
Download
The module can be ordered and downloaded from PUQ Cloud:
- Order / Download: https://puqcloud.com/whmcs-module-synology.php
- Community: https://community.puqcloud.com/
- Direct download links for the latest version:
# PHP 7.4
wget https://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-Synology/php74/PUQ_WHMCS-Synology-latest.zip
# PHP 8.1
wget https://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-Synology/php81/PUQ_WHMCS-Synology-latest.zip
# PHP 8.2
wget https://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-Synology/php82/PUQ_WHMCS-Synology-latest.zip
After downloading, extract the archive:
unzip PUQ_WHMCS-Synology-latest.zip
Installation
Step 1: Upload files
Extract the module archive and copy the puqSynology directory to the WHMCS servers module directory:
WHMCS_WEB_DIR/modules/servers/puqSynology
Step 2: Add server
- Enter the correct Name and Hostname
- In Server Details, select the PUQ Synology module
- Enter valid Synology DSM credentials (username and password)
- Click Test connection to verify
Step 3: Create product
- Select the PUQ Synology module in the Module settings section
- Configure the product parameters
Update
Step 1: Backup
Before updating, it is recommended to back up:
- WHMCS database
- Module files in
modules/servers/puqSynology/
Step 2: Upload new files
Download and extract the new version, then overwrite all files in:
WHMCS_WEB_DIR/modules/servers/puqSynology/
Step 3: Verification
- Log in to the WHMCS admin panel
- Check the module is functioning correctly
- Verify product settings
Important (v3.0): Product reconfiguration is required after updating to version 3.0.
Synology part setup guide
Synology module WHMCS
Order now | Download | Community
Here are the initial steps of configuring Synology devices to prepare them for use with the WHMCS module.
Note: At the beginning, you should prepare the appropriate domain with the correct DNS entries so that you can generate a correct SSL certificate for Your Synology NAS server.
1. Generate an SSL certificate for your domain.
Connect the certificate for all services that will be used in the server.(FTPS, System, Synology Drive, etc...)
2. Make sure the partition is formatted in BTRFS
3. Enable the user's home folder.
4. Enable all necessary file services (ie: FTP, FTPS, SFTP, etc.).
5. Create user groups with the necessary quotas and permissions.
WHMCS part setup guide
Synology module WHMCS
Order now | Download | Community
1. Download the latest version of the module
Choose the build that matches your server's PHP version:
PHP 8.2
wget https://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-Synology/php82/PUQ_WHMCS-Synology-latest.zip
PHP 8.1
wget https://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-Synology/php81/PUQ_WHMCS-Synology-latest.zip
PHP 7.4
wget https://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-Synology/php74/PUQ_WHMCS-Synology-latest.zip
Note: All versions are available here: https://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-Synology/
2. Unzip the archive with the module
unzip PUQ_WHMCS-Synology-latest.zip
3. Copy "puqSynology" to "WHMCS_WEB_DIR/modules/servers/"
4. Add the Synology NAS server in WHMCS
System Settings -> Servers -> Add New Server
- Enter the correct Name and Hostname
- In the Server Details section, select the PUQ Synology module and enter the correct username and password of the Synology DSM account.
- Click Test connection to verify.
Warning: The ACCESS HASH field is used to store the server access key and is updated automatically — do not edit it manually.
For more details, see Add server (Synology NAS).
5. Create the product
System Settings -> Products/Services -> Create a New Product
In the Module Settings section, select the PUQ Synology module and the Server Group that contains your Synology server, then click Save Changes to load the configuration panel.
Every setting in this panel (License key, Disk, Synology group, Notifications, History, Client Area and User rules) is described in detail on the Product Configuration page.
Email Template (puqSynology Notification disk limit)
Synology module WHMCS
Order now | Download | Community
Create an email template for customer notifications.
System Settings->Email Templates->Create New Email Template
- Email Type: Product/service
- Unique Name: puqSynology Notification disk limit
Subject:
Disk space usage {$disk_used_percentage} % - {$username}
Body:
Dear {$client_name},
This letter informs you that the disk space usage limit is coming to an end.
Product/Service: {$service_product_name}
Due Date: {$service_next_due_date}
Username: {$username}
Disk limit: {$disk_limit_bytes*$unit_coefficient} {$unit}
Disk used: {$disk_used_unit} {$unit} ({$disk_used_percentage} %)
Disk free: {$disk_free_unit} {$unit} ({$disk_free_percentage} %)
{$signature}
Add server (Synology NAS)
Synology module WHMCS
Order now | Download | Community
Add a new server to the system WHMCS.
System Settings->Servers->Add New Server
- Enter the correct Name and Hostname
- In the Server Details section, select the "PUQ Synology" module and enter the correct username and password for the Synology NAS web interface.
- To check, click the "Test connection" button
Warning: WARNING: ACCESS HASH field Used to store the access key to the server and is updated automatically.
Product Configuration
Synology module WHMCS
Order now | Download | Community
Add a new product to WHMCS
System Settings -> Products/Services -> Create a New Product
In the Module Settings section, select the PUQ Synology module and the Server Group that contains your Synology server, then click Save Changes. The module then renders its modern configuration panel.
Note: Select the Server Group and save the product first — the Synology group drop-down (in the Disk section) is populated live from the server assigned to that group.
At the top of the panel:
- Module Name — the provisioning module (PUQ Synology).
- Server Group — the WHMCS server group whose Synology server this product is provisioned on.
- License key — your pre-purchased PUQ Synology license key. The validation status and the paid-through date are shown right below the field; the key must be active for the module to work.
Disk
Note: Display only. The disk size/unit are shown to the client in the client area (and used for the usage-percentage chart and notifications). They do not enforce a limit on Synology. The real quota/permission limits must be configured on the Synology group selected here (Control Panel → User & Group → Group → Quota).
-
Disk size — disk space shown to the client (display only).
0= Unlimited. - Disk unit — unit (MB / GB / TB) for the displayed disk space.
- Synology group (enforces the real limits) — the pre-configured Synology group assigned to provisioned users, chosen from a live drop-down of the groups that actually exist on the server. Use the refresh button to reload the list. Configure the real disk quota / permissions on this group in DSM.
Notifications
- Notify at % — usage threshold; when a client exceeds it, a low-disk-space notification is sent.
-
Email template — the WHMCS email template used for low-disk-space notifications (
Noneto disable).
History
- Save history (days) — how many days of disk-usage statistics to keep in WHMCS.
Client Area
- Link to instruction — an optional URL; when set, a User manual button is shown in the client area.
- Show password — how the password is presented in the client area (Show button / plain text / hidden).
User
-
Username rule — template for the generated username, using macros:
- Base:
{client_id},{service_id} - Random:
{random_digit_x},{random_letter_x}(where x is the length, e.g.{random_digit_4}) - Date & time:
{unixtime},{year},{month},{day},{hour},{minute},{second} - Example:
{client_id}-{service_id}-{random_digit_4} - The generated name is automatically normalised to be Synology/DSM compliant, and collisions with other services are resolved automatically.
- Base:
-
Password rule — generated password length (minimum 8), e.g.
12. The generated password always includes lowercase, uppercase, digit and special characters to satisfy the Synology DSM password-strength rules.