Installation

Local Server Setup

XSender web application's installation process is very easy, constructive user-friendly. Just follow below the instructions to install it effectively and efficiently on your server:

Database Setup

Create Database to MySQL server using phpMyAdmin. Then Go to browser and browse http://localhost/{project_dir}/phpmyadmin[it's by default]. So in my case, I'm using Laragon (but all the local installation process is almost same) so follow the instructions seeing the screenshots.

File Manager Setup

Now extract software script into local server www directory that you have downloaded from CodeCanyon. In your case, local server www directory like that htdocs, public_html, root etc...

After extract project zip file into here it looks like

Now browse the following URL http://localhost/{project_dir}/install And see the next Steps
You can see the video from Here for better understanding.

cPanel Installation Instructions

Database Setup

Domain Root Setup

Upload project zip file to your hosting panel  public_html directory. Now extract it & then delete. See the below screenshots for your quick understanding.

⊛ If you upload it in  public_html folder, then visit http://your-domain-name in browser.
⊛ If you upload it in a folder in  public_html folder, then visit http://your-domain-name/folder_name in browser.
⊛ If you upload it in your created subdomain folder, then visit http://your-subdomain-name in browser.
⊛ If you upload it in a folder in your created subdomain folder, then visit http://your-subdomain-name/folder_name in browser.

Now Your System is ready to install.

Nginx Setup

WebServer NGINX

Installing a XSender application on an Nginx server typically involves the following steps:

  1. Install Nginx and PHP: You can install Nginx and PHP on your server using the following command:

    sudo apt-get update sudo apt-get install nginx php-fpm php-mysql
  2. Configure Nginx: After installing Nginx, you need to configure it to serve your XSender application. Create a new configuration file in the /etc/nginx/sites-available/ directory, for example:

    sudo nano /etc/nginx/sites-available/myapp

    Paste the following configuration into the file, replacing example.com with your domain name and /var/www/myapp/public with the path to your XSender application's public directory:

    server { listen 80; server_name example.com; root /var/www/myapp/public; index index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    
    location ~ \\\\.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    }
    
    location ~ /\\\\.ht {
        deny all;
    }
    
    

    Save and exit the file, and then create a symbolic link to enable the site:

    sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
  3. Upload the XSender project zip file to the /var/www/myapp/public directory on your server. You can use a tool like SCP or BitVise to transfer the file from your local machine to the server:

    SSH into your server and navigate to the /var/www/myapp/public directory:
    cd /var/www/myapp/public

    Unzip the XSender project zip file using the following command: sudo unzip xsender-project.zip
    that is you download from codecanyon sometimes zip file name may be changed. So, Replace xsender-project.zip with the name of your XSender project zip file when it necessary.



    Set permissions for the storage and bootstrap/cache directories:

    sudo chgrp -R www-data storage bootstrap/cache && sudo chmod -R ug+rwx storage bootstrap/cache

    Restart Nginx: sudo systemctl restart nginx

  4. Configure PHP: You may need to modify the PHP configuration to ensure that it meets XSender's requirements. Edit the php.ini file:

    sudo nano /etc/php/8.3/fpm/php.ini

    And change the following settings:

    memory_limit = 512M
    upload_max_filesize = 50M
    post_max_size = 50M
    max_execution_time = 360
    max_input_time = 120
  5. Save and exit the file, and then restart the PHP service:

    sudo systemctl restart php8.3-fpm
  6. Install Composer and Laravel: If you haven't already, install Composer:

    sudo apt-get install composer

    Then, navigate to the root directory of your Laravel application and run the following command to install Laravel and its dependencies:

    composer install --no-dev
  7. Set Permissions: Make sure that the storage and bootstrap/cache directories are writable by the web server:

    sudo chgrp -R www-data storage bootstrap/cache sudo chmod -R ug+rwx storage bootstrap/cache
  8. Restart Nginx: Finally, restart Nginx to apply the changes:

    sudo systemctl restart nginx

Your application should now be accessible through your domain name or server's IP address.

MySQL Database

Here are the steps to install MySQL and create a database named "xsender" for your Laravel application:

  1. Install MySQL: You can install MySQL on your server using the following command: 

    sudo apt-get install mysql-server
  2. Secure MySQL installation: Run the following command to secure your MySQL installation: 

    sudo mysql_secure_installation

    Follow the prompts to set a root password and answer the security questions.

  3. Create a database: Log in to the MySQL server using the root account: 

    sudo mysql -u root -p

    Enter the root password when prompted. Then, create a database named "xsender": 

    CREATE DATABASE xsender;

    Verify that the database was created successfully by running the following command: 

    SHOW DATABASES;

    You should see "xsender" listed among the databases.

  4. Create a user and grant permissions: Create a new user account for your XSender application: 

    CREATE USER 'xsenderuser'@'localhost' IDENTIFIED BY 'password';

    Replace "password" with a strong password of your choice.

    Grant the user full privileges to the "xsender" database: 

    GRANT ALL ON xsender.* TO 'xsenderuser'@'localhost';

    Flush the privileges to apply the changes: 

    FLUSH PRIVILEGES;

    Exit the MySQL console: 

    exit; 

Now your XSender application is ready to installation process by browse your server ip or domain, and follow this steps:
Installation Process Step

Note:

If you're having difficulty installing the XSender software, please don't hesitate to contact us via a support ticket for installation support. Please note that the installation process may require some minor adjustments depending on your server configuration, and that there may be a charge associated with this service. Our support team will be happy to provide you with further information. Thank you!

Application Installation Process

NB: If you are unable to install the script, you can contact our support team and we are happy to sort out your issues as soon as possible.
We do offer installation service with a little cost.

Node Setup

XSender WhatsApp Node App Setup Guide



This guide will help you install and set up the XSender PHP and Node.js script on your server. Follow these steps to ensure a smooth installation and configuration process.

Step 1: Check and Install Node.js

First, verify if Node.js is installed on your server. If it is not installed, follow the instructions below to install it.


Open your terminal and run the following command to check the currently installed version of Node.js:

node -v

If this doesn't show a node version , install node

sudo apt update

Run the following command in your terminal

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

You might need to close the terminal and re-open for above command take effect

nvm install 22.20.1

This will install node 20+ on your system , to check run the command below

npm -v
node -v

Step 2: Install PM2 Globally


Once Node.js version 20+ is installed, the next step is to install PM2 globally on your server. PM2 is a process manager for Node.js applications that ensures your applications stay online.

Installing PM2
Run the following command to install PM2 globally:

npm install pm2 -g

Step 3: Navigate to the Project Directory


Navigate to the src folder of your project directory where the app.js file is located. Use the cd command to change directories.

cd /path/to/your/project/xsender-whatsapp-service

Step 4: Start the Application with PM2

In the src directory, start your application using PM2 with the following command:

pm2 start ecosystem.config.cjs

You're Done!

For the cPanel or others web panel

WhatsApp Service – Hosting Setup Guide

This guide explains how to deploy the xSender WhatsApp Service on common shared hosting panels (cPanel or Plesk).
Follow the steps based on your hosting environment.

Option 1: cPanel Installation

Step 1: Confirm Node.js Support

  1. Login to cPanel

  2. Search for Setup Node.js App or Node.js Selector (Node version above 20)

  3. If available → continue

  4. If not available → see Option 4 (Alternative Hosting)

Step 2: Create the .env File

  1. Open File Manager

  2. Go to:
    /home/username/public_html/xsender-whatsapp-service/

  3. Create a file named .env

  4. Add:

NODE_ENV=production
SERVER_HOST=0.0.0.0
SERVER_PORT=3001

RATE_LIMIT_WINDOW=60000
RATE_LIMIT_MAX_REQUESTS=100

LOG_LEVEL=info
LOG_PRETTY=false

Step 3: Create Node.js Application

  1. Open Setup Node.js App

  2. Click Create Application

  3. Configure:

Field Value Node.js version 20.x
Mode Production
Application Root xsender-whatsapp-service
Application URL(Optional)
Startup File /src/app.js

  1. Click Create


Step 4: Install Dependencies

  1. Locate your app inside the Node.js panel

  2. Click Run NPM Install

  3. Wait 2–5 minutes until installation completes


Step 5: Start the Application

  1. In the Node.js panel, click Start or Restart

  2. Note the assigned port

  3. Verify service status:

    https://yourdomain.com:3001/health
    

Option 2: Plesk Installation

Step 1: Enable Node.js

  1. Login to Plesk

  2. Go to Extensions → Catalog

  3. Search Node.js and install it (Node version above 20)


Step 2: Configure the Node.js App

  1. Go to Websites & Domains → Node.js

  2. Click Enable Node.js

  3. Apply: find this path in your project src/app.js


Step 3: Install & Start

  1. Click NPM Install

  2. Create the .env file in the service folder

  3. Click Enable or Restart App


Done!

Your WhatsApp Automation Service is now active.
You can proceed with scanning QR codes and connecting devices through the main application.

Important:

While the installation and setup instructions provided are based on Debian-based distributions like Ubuntu, it's important to note that different Linux distributions may require different commands. If you need installation support please create support ticket to our team and share your server access our team will help you.