# Installation and configuration guide



# WHMCS setup(install/update)

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

#####  [Order now](https://puqcloud.com/whmcs-module-wireguard-business-vpn.php) | [Download](https://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-WireGuard-Business-VPN/) | [FAQ](https://faq.puqcloud.com/)

<p class="callout info">**Module is coded ionCube v13**</p>

Supported php version:

- php 7.4 WHMCS 8.11.0 -
- php 8.1 WHMCS 8.11.0 +
- php 8.2 WHMCS 8.11.0 +

<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.2

```Powershell
wget http://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-WireGuard-Business-VPN/php82/PUQ_WHMCS-WireGuard-Business-VPN-latest.zip
```

PHP 8.1

```Powershell
wget http://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-WireGuard-Business-VPN/php81/PUQ_WHMCS-WireGuard-Business-VPN-latest.zip
```

PHP 7.4

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

<p class="callout info">All versions are available: [https://download.puqcloud.com/WHMCS/servers/PUQ\_WHMCS-WireGuard-Business-VPN/](https://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-WireGuard-Business-VPN/)</p>

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

```Powershell
unzip PUQ_WHMCS-WireGuard-Business-VPN-latest.zip
```

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

<div id="bkmrk-"><div></div></div>

# PUQVPNCP installation and configuration

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

#####  [Order now](https://puqcloud.com/whmcs-module-wireguard-business-vpn.php) | [Download](https://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-WireGuard-Business-VPN/) | [FAQ](https://faq.puqcloud.com/)

##### Official documentation:  
  
[PUQVPNCP Documentation](https://doc.puq.info/books/puqvpncp/page/description)  
[PUQVPNCP Download](https://download.puqcloud.com/cp/puqvpncp/)  
[PUQVPNCP Order now](https://panel.puqcloud.com/index.php?rp=/store/puqvpn)

#### **1. Install the required packages**

```shell
apt-get update
apt-get install wireguard wireguard-dkms wireguard-tools -y
apt-get install iproute2 iptables -y
apt-get install bind9 -y
```

#### 2. **Download the latest version of the package**

[https://download.puqcloud.com/cp/puqvpncp/](https://download.puqcloud.com/cp/puqvpncp/)

#### 3. Install the puqvpncp package

```shell
wget https://download.puqcloud.com/cp/puqvpncp/puqvpncp_1.6.1_amd64.deb
dpkg -i puqvpncp_1.6.1_amd64.deb
```

#### 4. After installation, connect to your server via a web browser.

http://SERVER\_IP:8098  
Username: admin  
Password: admin

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

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

#### **5. Enable SSL Let’s Encrypt** 

**Requirements**

- The active domain name that resolves the server's IP address
- Port 80 and 443 are always open, and not busy with another process

**In order for the system to start the procedure for obtaining an SSL certificate from Let's Encrypt, it is necessary.**

**In the configuration file, enable the use of SSL and enter the domain name.**

```shell
nano /etc/puqvpncp/puqvpncp.conf 
```

```shell
LetsEncrypSSL=yes
Domain=XXXXXX.XXX
```

Restart the **PUQVPNCP** service

```shell
service puqvpncp restart
```

<p class="callout info">After these steps, the first time you connect to the server via the https protocol, the system will request an SSL certificate and automatically renew it if necessary.</p>

<p class="callout warning">ATTENTION. After activating SSL, the system will only work in the https protocol on port 443.   
A redirect is also set from port 80 to port 443.</p>

<p class="callout warning">To connect to the server via the https protocol, use only the domain that was set in the configuration file.   
Otherwise, you will get an error that SSL is not working correctly.</p>

#### 6. License configuration is available in the menu item **Settings-&gt;License**

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

By default, the system limit is 50 users and the API is disabled.

In order to activate the license key, the key must be entered in the "License Key" field and click on the "Save" button

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

#### **7.Creation of access API**

To manage API Access Hashs, go to the section Settings-&gt;API

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

**Enter the name and IP address of the WHMCS server and click the ADD button**

<p class="callout warning">**Attention.   
The generated Access hash will only be shown once. Copy it, it will be needed during configuration of the product server in the WHMCS system.**</p>

<p class="callout info">Accept the fact that once the Access Hashs API is created, it will only be shown once.  
Each API Access Hash only works from a specific IP address.</p>

# Add server (PUQVPNCP) in WHMCS

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

#####  [Order now](https://puqcloud.com/whmcs-module-wireguard-business-vpn.php) | [Download](https://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-WireGuard-Business-VPN/) | [FAQ](https://faq.puqcloud.com/)

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

Login to Your WHMCS panel and create new server in WHMCS (*System Settings-&gt;Products/Services-&gt;Servers*)

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

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

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

**Name is just for Your convenience and You can put there anything You like ie: *Mygreat PUQVPNCP routr***

<p class="callout info">**You can choose whatever hostname You want. Valid entries look similar to: vpn.mydomain.com, ourgreatvpn.mydomain.net. You can also dedicate whole domain ie: myVPNservices.com if You like. The important thing is to resolve the choosen IP address of the [PUQVPNCP](https://doc.puq.info/books/puqvpncp/page/description) in DNS server for Your domain.** </p>

- In the **"Assigned IP Addresses field"**, enter a list of IP addresses that will be issued to users.

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

#####  

##### Enter the correct data in the Access Hash field  
  


- In the **Server Details** section, select the "**PUQ WireGuard Business-VPN**" module and enter the correct API Access Hash.
- To check, click the **"Test connection"** button

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

# Product Configuration

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

#####  [Order now](https://puqcloud.com/whmcs-module-wireguard-business-vpn.php) | [Download](https://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-WireGuard-Business-VPN/) | [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 WireGuard Business-VPN"** module

[![image-1673191608638.png](https://doc.puq.info/uploads/images/gallery/2023-01/scaled-1680-/image-1673191608638.png)](https://doc.puq.info/uploads/images/gallery/2023-01/image-1673191608638.png)

- **License key:** A pre-purchased license key for the **"PUQ WireGuard Business-VPN"** module. For the module to work correctly, the key must be active

##### WireGuard configuration 

- **Public IP for all services -** If you want to assign one public IP address to all services (IP must be configured on the **[PUQVPNCP](https://doc.puq.info/books/puqvpncp/page/description)** server)
- **Public IP -** If you want to assign one public IP address to all services (IP must be configured on the **[PUQVPNCP](https://doc.puq.info/books/puqvpncp/page/description)** server)
- **Allow internal traffic-** If you want to enable traffic exchange between VPN clients <span style="background-color: #ffff99;">**(package change)**</span>
- **DNS1, DNS2 -** DNS servers if they differ from the configuration in the **[PUQVPNCP](https://doc.puq.info/books/puqvpncp/page/description)** panel <span style="background-color: #ffff99;">**(package change)**</span>

##### VPN users settings

- **Number of VPN users -** Number of vpn accounts per service <span style="background-color: #ffff99;">**(package change)**</span>
- **Bandwidth Download** - Bandwidth Download of VPN accounts <span style="background-color: #ffff99;">**(package change)**</span>
- **Bandwidth Upload-** BandwidthUpload of VPN accounts <span style="background-color: #ffff99;">**(package change)**</span>
- **Link to instruction-** If you have prepared instructions for your customers on how to use the service, then a link to the instructions is provided here (If filled, it will be shown in the client area)
- **Link to VPN clients-** Link to download the VPN client. For example [https://www.wireguard.com/install/](https://www.wireguard.com/install/) (If filled, it will be shown in the client area)
- **Persistent Keepalive-** sets the Keepalive parameter in the WireGuard server client configuration <span style="background-color: #ffff99;">**(package change)**</span>
- **Enable IKEv2-** Enable IKEv2 protocol support <span style="background-color: #ffff99;">**(package change)**</span>

