Getting Started / Installation
🚀 Before applying our module, better take a look at this section. Get started with SaaS module for Perfex CRM in no time with our easy-to-follow installation guides.
This section includes step-by-step instructions and video walkthroughs to help you install and activate your SaaS Module for Perfex CRM with ease. Whether you’re a complete beginner or an experienced developer, our detailed guides are designed to get you up and running quickly, so you can start unlocking powerful SaaS functionality in no time.
Articles
⚙️ Requirements
📋 System Requirements
The Perfex CRM SaaS Module is built with simplicity and performance in mind, requiring minimal server-side adjustments to get up and running. However, as with any SaaS-oriented solution that serves external clients, we highly recommend using a dedicated resources environment such as a VPS or Dedicated Server to ensure optimal reliability, speed, and security.
✅ While the module can run on a properly configured shared hosting environment, please note that our official support coverage applies only to installations hosted on dedicated resource environments.
🖥️ Recommended Hosting
To ensure the best experience and long-term success of your SaaS platform, consider choosing a hosting provider that offers root access, wildcard SSL support, and full server control.
🔗 Get Dedicated Hosting Resources
✅ Minimum Technical Requirements
To use the Perfex CRM SaaS Module, you must have:
- ✅ Perfex CRM v3.0+ installed (factory-state version)
- ✅ Apache or Nginx web server
- ✅ PHP 7.4+
- ✅ A Top-Level Domain (e.g.
domain.com
) - ✅ MySQL/MariaDB (with zero sql modes and root access)
- ✅ Wildcard SSL Certificate (Let’s Encrypt or other) — if SSL is required
⚠️ Important: Installation and configuration of your hosting environment (server setup, domain pointing, SSL configuration, etc.) are not included in the support package provided with your Envato purchase.
However, we’re more than happy to offer consultation services and point you in the right direction if you need guidance selecting the proper hosting or configuration tools.
✅ Installation & Configuration Service
🔧 Need Help with Installation?
While our SaaS Module for Perfex CRM comes with clear, step-by-step instructions to guide you through the entire setup process, we understand that some users may prefer to leave the technical part to the experts—and that’s perfectly okay!
Setting up a SaaS module involves a few server-level configurations and advanced Perfex CRM customizations that not everyone is familiar with. If you’re short on time, not confident with server environments, or simply want peace of mind knowing that everything is set up flawlessly and securely, we’re here to help.
✅ What’s Included in the Installation Service?
- Full SaaS Module installation on your server
- Configuration of the module to match your existing Perfex CRM environment
- Services Optimization (MySQL profiling etc)
- Basic testing to ensure everything works as expected
- Professional and friendly support throughout the process
💡 Please Note:
This installation service is optional and not included in the Envato license. Envato’s standard support policy covers product-related questions and bug fixes, but not hands-on configuration or server setup.
🎯 When Should You Consider Purchasing This?
- If you’re not familiar with server configurations
- If you’re unsure how to perform this installation and you meet module’s requirements
- If you want a hassle-free experience from the start
👉 Ready to Let Us Handle the Setup?
Click the button below to raise a support ticket within the Support Portal and ask our Professional Installation Service. You’ll be contacted by a representative of our team, regarding the next steps.
🛠️ a) Perfex CRM SaaS module Installation
Welcome to our installation guide for the SaaS Module for Perfex CRM!
In this video, we’ll walk you through the seamless installation process step-by-step. Whether you’re a seasoned developer or new to the world of CRM modules, we’ve got you covered. Follow along as we demonstrate how to set up and configure the SaaS Module, ensuring a smooth integration with your Perfex CRM installation.
Get ready to unlock the power of multitenancy and start monetizing your SaaS service with our SaaS Module for Perfex CRM.
🔧 b) Configuring DNS Records needed
🌐 Configuring Wildcard A Records
To properly support tenant subdomains (e.g. client1.yourdomain.com
, client2.yourdomain.com
, etc.) in your SaaS Module for Perfex CRM, you’ll need to configure a wildcard A record in your DNS settings. This record ensures that any subdomain under your main domain points to your server and loads the correct tenant workspace.
✅ What is a Wildcard A Record?
A wildcard A record allows all subdomains of a domain to resolve to a single IP address—without needing to create each subdomain manually. Instead of configuring:
client1.yourdomain.com → 123.123.123.123
client2.yourdomain.com → 123.123.123.123
client3.yourdomain.com → 123.123.123.123
You simply add:
*.yourdomain.com → 123.123.123.123
This is essential for SaaS platforms that dynamically generate subdomains for each customer (tenant).
☁️ Using Cloudflare
Cloudflare is one of the most popular DNS management providers and works perfectly with wildcard A records.
🔧 Steps to Add a Wildcard A Record in Cloudflare:
- Log in to your Cloudflare Dashboard.
- Select your domain from the list.
- Go to the DNS tab.
- Click “Add Record”.
- Set the following values:
- Type: A
- Name:
*
- IPv4 Address: Your server IP (e.g.,
123.123.123.123
) - Proxy status: DNS only (⚠️ Important: Must be gray-clouded for wildcard subdomains to work properly)
- Click Save.
⚠️ Important: Cloudflare does not support wildcard subdomains over their proxy (orange-clouded) unless they are pre-defined. That’s why you must select “DNS Only” (gray-cloud) when setting up the wildcard record.
🧩 Using Other DNS Providers (GoDaddy, Namecheap, etc. including all Control Panels)
If you’re not using Cloudflare, the process is similar. Here’s a general guide:
- Log in to your DNS provider’s dashboard.
- Navigate to your domain’s DNS Management or Zone Editor.
- Add a new A Record with the following values:
- Host / Name:
*
- Type: A
- Value / Points to: Your server IP address
- TTL: Auto or 30 minutes
- Host / Name:
- Save changes.
Each provider may label things slightly differently, but the concept is the same. Once the wildcard A record is in place, all subdomains will resolve to your server.
🔍 How to Verify
After updating your DNS:
- Open a terminal or command prompt.
- Run:
ping randomsubdomain.yourdomain.com
If it returns your server’s IP, the wildcard DNS record is working as expected.
💡 Pro Tip: Pairing with Wildcard SSL
If your SaaS module is running over HTTPS, make sure you’re also using a Wildcard SSL Certificate (e.g., from Let’s Encrypt or a paid provider). This ensures that all tenant subdomains are covered under the same certificate.
💻 c1) Configuration for cPanel/WHM (Automatic)
🔐 cPanel Integration Made Easy
The latest versions of the SaaS Module now support direct cPanel connections using your username and password.
To use this way:
- Navigate to the Settings area.
- Enter your cPanel username and password in the designated fields.
- Save your changes — and you’re all set!
This integration streamlines domain management and simplifies tenant subdomain provisioning, giving you more control with minimal setup.
💻 c2) Configuration for other panels/LAMP/LNMP (manual)
🛠️ Manual MySQL Configuration – for Plesk/DirectAdmin/CloudPanel/AAPanel/VirtualMin and nude LAMP/LNMP setups
For users who prefer a more hands-on approach or are hosting outside of a cPanel environment, our SaaS Module also supports manual MySQL configuration. This can also be used for every other control panel than cPanel or “nude” setups.
To set up SaaS module this way:
- Go to the Settings area of the module.
- Click on the MySQL tab.
- Enter the following details:
- MySQL Host (e.g.
127.0.0.1
or your database server’s IP) - Port (default is usually
3306
) - Root MySQL Username
- Root MySQL Password
- MySQL Host (e.g.
- Save your settings after checking the connection.
This method gives you full control over database-level operations, which is essential for managing subdomain provisioning and tenant database creation when not using cPanel.
⚠️ Important: Ensure the MySQL user has the necessary privileges to create and manage databases (usually “root”)
🔧 d1) Apache WildCard SSL configuration (manual setups)
In order to create WildCard domain for global access, we need to create WildCard DNS entry (A entry) for the subdomains on our DNS server.
IE: *.example.com for our base domain entry (example.com).
This way, all incoming traffic will be recognized and will be routed in the proper domain.
Step 1:
You will need to configure the Apache config file /etc/apache2/sites-available/000-default.conf. In most cases (new installations), this configuration file, includes the following contents:
<VirtualHost *:80>
#ServerName www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
</VirtualHost>
You will need to edit these contents, uncomment ServerName and replace contents according to your domain’s preferences.
In the example below, we will use themesic.com domain for our Perfex SaaS module WildCard Installation:
<VirtualHost *:80>
ServerName themesic.com
ServerAlias *.themesic.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
</VirtualHost>
Step 2:
After making the proper changes, you will need to contact to the host provider, in order to add the WildCard DNS entry in your DNS zone.
If you handle the DNS zone on your own, you can do that manually. Here’s an example of adding a WildCard DNS entry in CloudFlare: https://developers.cloudflare.com/dns/manage-dns-records/reference/wildcard-dns-records/
🔧 d2) Nginx configuration for WildCard SSL (manual setups)
In order to create WildCard domain for global access, we need to create WildCard DNS entry (A entry) for the subdomains on our DNS server.
IE: *.example.com for our base domain entry (example.com).
This way, all incoming traffic will be recognized and will be routed in the proper domain.
Step 1:
You will need to configure the Nginx config file /etc/nginx/sites-available/default. In most cases (new installations), this configuration file, includes the following contents:
server {
listen 80 default_server;
listen [::]:80 default_server;
...
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
...
}
You will need to edit these contents and replace them according to your domain’s preferences.
In the example below, we will use themesic.com domain for our Perfex SaaS module WildCard Installation:
server {
listen 80 default_server;
listen [::]:80 default_server;
...
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name themesic.com *.themesic.com;
...
}
Step 2:
After making the proper changes, you will need to contact to the host provider, in order to add the WildCard DNS entry in your DNS zone.
If you handle the DNS zone on your own, you can do that manually. Here’s an example of adding a WildCard DNS entry in CloudFlare: https://developers.cloudflare.com/dns/manage-dns-records/reference/wildcard-dns-records/