# Installation and configuration guide



# WHMCS setup(install/update)

### Synology module **[WHMCS](https://puqcloud.com/link.php?id=77)** 

#####  [Order now](https://puqcloud.com/whmcs-module-synology.php) | [Download](https://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-Synology/) | [FAQ](https://faq.puqcloud.com/)

<p class="callout info">To install and update a module, you must perform one and the same action.</p>

#####  

##### 1. Download the latest version of the module.

PHP 8.1

```Powershell
wget http://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-Synology/PUQ_WHMCS-Synology-latest.zip
```

PHP 7.4

```Powershell
wget http://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-Synology/php74/PUQ_WHMCS-Synology-latest.zip
```

<p class="callout info">All versions are available via link: [http://download.puqcloud.com/WHMCS/servers/PUQ\_WHMCS-Synology/](http://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-Synology/)</p>

##### 2. Unzip the archive with the module.

```Powershell
unzip PUQ_WHMCS-Synology-latest.zip
```

##### 3. Copy and Replace "puqSynology" to "WHMCS\_WEB\_DIR/modules/servers/"

# Synology part setup guide

### Synology module **[WHMCS](https://puqcloud.com/link.php?id=77)** 

#####  [Order now](https://puqcloud.com/whmcs-module-synology.php) | [Download](https://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-Synology/) | [FAQ](https://faq.puqcloud.com/)

Here are the initial steps of configuring Synology devices to prepare them for use with the WHMCS module.

<p class="callout info">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. </p>

##### 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...)

[![image-1660043277546.png](https://doc.puq.info/uploads/images/gallery/2022-08/scaled-1680-/image-1660043277546.png)](https://doc.puq.info/uploads/images/gallery/2022-08/image-1660043277546.png)

##### 2. Make sure the partition is formatted in BTRFS

[![image-1660043720097.png](https://doc.puq.info/uploads/images/gallery/2022-08/scaled-1680-/image-1660043720097.png)](https://doc.puq.info/uploads/images/gallery/2022-08/image-1660043720097.png)

#####  

##### 3. Enable the user's home folder.

[![image-1660043845442.png](https://doc.puq.info/uploads/images/gallery/2022-08/scaled-1680-/image-1660043845442.png)](https://doc.puq.info/uploads/images/gallery/2022-08/image-1660043845442.png)

#####  

##### 4. Enable all necessary file services (ie: FTP, FTPS, SFTP, etc.).

[![image-1660043988444.png](https://doc.puq.info/uploads/images/gallery/2022-08/scaled-1680-/image-1660043988444.png)](https://doc.puq.info/uploads/images/gallery/2022-08/image-1660043988444.png)

##### 5. Create user groups with the necessary quotas and permissions.

[![image-1660043586117.png](https://doc.puq.info/uploads/images/gallery/2022-08/scaled-1680-/image-1660043586117.png)](https://doc.puq.info/uploads/images/gallery/2022-08/image-1660043586117.png)

[![image-1660043591654.png](https://doc.puq.info/uploads/images/gallery/2022-08/scaled-1680-/image-1660043591654.png)](https://doc.puq.info/uploads/images/gallery/2022-08/image-1660043591654.png)

# WHMCS part setup guide

### Synology module **[WHMCS](https://puqcloud.com/link.php?id=77)** 

#####  [Order now](https://puqcloud.com/whmcs-module-synology.php) | [Download](https://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-Synology/) | [FAQ](https://faq.puqcloud.com/)

##### 1. Download the latest version of the module.

PHP 8.1

```Powershell
wget http://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-Synology/PUQ_WHMCS-Synology-latest.zip
```

PHP 7.4

```Powershell
wget http://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-Synology/php74/PUQ_WHMCS-Synology-latest.zip
```

<p class="callout info">All versions are available via link: [http://download.puqcloud.com/WHMCS/servers/PUQ\_WHMCS-Synology/](http://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-Synology/)</p>

##### 2. Unzip the archive with the module.

```Powershell
unzip PUQ_WHMCS-Synology-latest.zip
```

##### 3. Copy "puqSynology" to "WHMCS\_WEB\_DIR/modules/servers/"

##### 4. Create new server Synology NAS in WHMCS (System Settings-&gt;Products/Services-&gt;Servers)

```
System Settings->Servers->Add New Server
```

- Enter the correct **Name** and **Hostname**

[![image-1660041299469.png](https://doc.puq.info/uploads/images/gallery/2022-08/scaled-1680-/image-1660041299469.png)](https://doc.puq.info/uploads/images/gallery/2022-08/image-1660041299469.png)

- 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

[![image-1660041337777.png](https://doc.puq.info/uploads/images/gallery/2022-08/scaled-1680-/image-1660041337777.png)](https://doc.puq.info/uploads/images/gallery/2022-08/image-1660041337777.png)

<p class="callout warning">WARNING: **ACCESS HASH** field Used to store the access key to the server and is updated automatically.</p>

##### 5. Create a new Products/Services

##### Add new product to WHMCS

```
System Settings->Products/Services->Create a New Product
```

In the **Module settings** section, select the **"PUQ Synology"** module

[![image-1660042158599.png](https://doc.puq.info/uploads/images/gallery/2022-08/scaled-1680-/image-1660042158599.png)](https://doc.puq.info/uploads/images/gallery/2022-08/image-1660042158599.png)

- **License key:** A pre-purchased license key for the **"PUQ Synology"** module. For the module to work correctly, the key must be active
- **Unit:** Packet disk space units
- **Disk space size:** Disk size in this product
- **Notification disk limit email template:** Email template that will be sent when the disk quota is exceeded in %
- **Notification, used disk space X %:** Sets a percentage parameter, after exceeding this parameter a notification will be sent to the user
- **Username prefix/Username suffix:** Necessary in order to generate a username for the service, in the format: **prefix&lt;client\_id&gt;-&lt;service\_id&gt;suffix**
- **Group:** The group that will be assigned to the user on the server side of the **Synology NAS**
- **Save usage history (days):** The number of days it takes to save user disk usage statistics
- **Link to instruction:** Link to the instruction, if filled out, it will be reflected in the client area

# Email Template (puqSynology Notification disk limit)

### Synology module **[WHMCS](https://puqcloud.com/link.php?id=77)** 

#####  [Order now](https://puqcloud.com/whmcs-module-synology.php) | [Download](https://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-Synology/) | [FAQ](https://faq.puqcloud.com/)

##### 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

[![image-1660040723161.png](https://doc.puq.info/uploads/images/gallery/2022-08/scaled-1680-/image-1660040723161.png)](https://doc.puq.info/uploads/images/gallery/2022-08/image-1660040723161.png)

**Subject:**

```PHP
Disk space usage {$disk_used_percentage} % - {$username}
```

**Body:**

```PHP
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}
```

[![image-1660040784521.png](https://doc.puq.info/uploads/images/gallery/2022-08/scaled-1680-/image-1660040784521.png)](https://doc.puq.info/uploads/images/gallery/2022-08/image-1660040784521.png)

# Add server (Synology NAS)

### Synology module **[WHMCS](https://puqcloud.com/link.php?id=77)** 

#####  [Order now](https://puqcloud.com/whmcs-module-synology.php) | [Download](https://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-Synology/) | [FAQ](https://faq.puqcloud.com/)

##### Add a new server to the system WHMCS.

```
System Settings->Servers->Add New Server
```

- Enter the correct **Name** and **Hostname**

[![image-1660041299469.png](https://doc.puq.info/uploads/images/gallery/2022-08/scaled-1680-/image-1660041299469.png)](https://doc.puq.info/uploads/images/gallery/2022-08/image-1660041299469.png)

- 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

[![image-1660041337777.png](https://doc.puq.info/uploads/images/gallery/2022-08/scaled-1680-/image-1660041337777.png)](https://doc.puq.info/uploads/images/gallery/2022-08/image-1660041337777.png)

<p class="callout warning">WARNING: **ACCESS HASH** field Used to store the access key to the server and is updated automatically.</p>

# Product Configuration

### Synology module **[WHMCS](https://puqcloud.com/link.php?id=77)** 

#####  [Order now](https://puqcloud.com/whmcs-module-synology.php) | [Download](https://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-Synology/) | [FAQ](https://faq.puqcloud.com/)

##### Add new product to WHMCS

```
System Settings->Products/Services->Create a New Product
```

In the **Module settings** section, select the **"PUQ Synology"** module

[![image-1660042158599.png](https://doc.puq.info/uploads/images/gallery/2022-08/scaled-1680-/image-1660042158599.png)](https://doc.puq.info/uploads/images/gallery/2022-08/image-1660042158599.png)

- **License key:** A pre-purchased license key for the **"PUQ Synology"** module. For the module to work correctly, the key must be active
- **Unit:** Packet disk space units
- **Disk space size:** Disk size in this product
- **Notification disk limit email template:** Email template that will be sent when the disk quota is exceeded in %
- **Notification, used disk space X %:** Sets a percentage parameter, after exceeding this parameter a notification will be sent to the user
- **Username prefix/Username suffix:** Necessary in order to generate a username for the service, in the format: **prefix&lt;client\_id&gt;-&lt;service\_id&gt;suffix**
- **Group:** The group that will be assigned to the user on the server side of the **Synology NAS**
- **Save usage history (days):** The number of days it takes to save user disk usage statistics
- **Link to instruction:** Link to the instruction, if filled out, it will be reflected in the client area

