Start a Project

Bagisto SAAS installation on WHM/Cpanel

Bagisto is a free and open-source e-commerce platform. It is built on various open-source technologies such as Laravel (PHP framework) and Vue.js.

With a number of totally customizable features, Bagisto enables retailers to establish their own shopping cart system.

However, Its features include a multistore inventory system, order management, customer care, product review, wishlist, theme, responsive CMS pages, numerous currencies, and many more.

In this tutorial, we learn how to install Bagisto saas on WHM/Cpanel as well as how to create saas tenants.

Requirements to install Bagisto:

Step 1: Install an Apache module, PHP Version, and PHP Extensions in WHM

1. Log into WHM.

2. Then Navigate to EasyApache 4.

3. Then, Click Customize under Currently Installed Packages.

4. Click Apache Modules, PHP Versions, and PHP Extensions.

Further, you can see and select the required PHP versions, PHP Extensions, and Additional Packages.

(i) Bellow are the required PHP extensions for the installation.

php, php-common, php-gmp, php-curl, php-soap, php-bcmath, php-intl, php-mbstring, php-xmlrpc, php-mysql, php-gd, php-xml, php-cli, php-zip, libapache2-mod-php

(ii)Make the following changes to the php.ini file for the best performance.

to search MultiPHP INI Editor in the search bar of WHM

file_uploads = On
allow_url_fopen = On
short_open_tag = On
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360

(iii) Now login to MySQL to create a database, create a user, and further grant the required permissions for the user to access the database.

sudo mysql -u root -p

Step 2: Update your Ubuntu system

Open your terminal, and then run the update command to keep the Ubuntu system in sync with the repositories.

sudo apt-get update

Step 3: Install Node.js and composer

Ubuntu 20.04 comes with Node.js in its default repository. You can simply run the following command to install the stable version of Node.js

sudo apt install nodejs

Install composer on Ubuntu and run the following command:

To quickly install Composer in the current directory, run the following script in your terminal. To automate the installation, use the guide on installing Composer programmatically.

Most likely, you want to put the composer.phar into a directory on your PATH, so for that you can simply call composer from any directory (Global install), using for example:

Step 4: Download the Bagisto

Use composer to download and then create a bagisto project into the user home directory.

This will create a directory named ‘bagisto’ in the /home/bagisto directory.

After that, you can navigate to the following directory to confirm the index.php file.

Step 5: Apache configuration for Bagisto

# vi /etc/apache2/conf/httpd.conf

Find “Define default vhosts for shared IPs

Now, you need to change the DocumentRoot Path here, like below

Document root path till public in bagisto

Now you need to change DocumentRoot Path also for HTTPS

Then, Find the “BEGIN: HTTPS vhosts list

After that, Put your SSL certificate here

Now your configuration is set to proceed further

Step 6:Change Primary Domain Document Root in cPanel/WHM:

# vim /var/cpanel/userdata/username/domain.com

in our case vi /var/cpanel/userdata/ashutech/ashutech.ml

change the document root path also

Step 7: Bagisto Configuration

Let’s first create the bagisto configuration file. For that use the existing sample (.env.example) file. and after that create a file named ‘.env’ in the Bagisto root directory ( /home/ashutech/public_html/bagisto/).

# sudo cp .env.example .env
# sudo nano .env

The .env file contains the Bagisto version, defined in the variable APP_VERSION.

Now provide the MySQL database information and APP_URL also in the .env filename as follows:

APP_URL=https://ashutech.ml

DB_DATABASE=bagistosaasnew
DB_USERNAME=bagistousernew
DB_PASSWORD=bagisto

Laravel eCommerce Multi-Tenant SaaS Module :

The laravel eCommerce multi-tenant SaaS module is an eCommerce virtual mall, where multiple-vendor can sign-up and can create their own e-commerce store with their domain name.

Bagisto is an online e-commerce platform that helps anyone to start their e-commerce store within a few minutes even without any technical requirements.

Therefore the merchant doesn’t need to add any plugin to create their store, it is the full end-to-end integration. You have to just signup then you can start your business.

Feature of Laravel eCommerce Multi-tenant SaaS Module:

Note:-

Step: 8 Installation of Laravel eCommerce Multi-Tenant SaaS Module:-

Customers will get a zip folder after purchasing the extension. After that, Unzip the respective extension zip and then merge the “package” folder into the project root directory.

Access the super admin panel using: http://saas.com/super/login

  1. Now, Goto config/app.php file then add the following line under ‘providers’ like below

Webkul\SAASCustomizer\Providers\SAASCustomizerServiceProvider::class

2. After that make the below entry in config/app.php “aliases

‘Company’ => Webkul\SAASCustomizer\Facades\Company::class

3. Now, go to config/concord.php and packages/Webkul/Core/src/Config/concord.php files and add the following line under the ‘modules’ index in both files:

\Webkul\SAASCustomizer\Providers\ModuleServiceProvider::class

4. After that go to the composer.json file inside the Bagisto root directory and add the following line under ‘psr-4

“Webkul\\SAASCustomizer\\”:”packages/Webkul/SAASCustomizer/src”

5. Another entry inside the file(‘app/Http/Kernel.php’,):

In this file, you can find an array of ’middleware groups’ inside it, and there is a key named ‘web’ inside it and then does an entry:

\Webkul\SAASCustomizer\Http\Middleware\ValidatesDomain::class

remove the code in the ‘middleware’ array.

\Webkul\Core\Http\Middleware\CheckForMaintenanceMode::class,

add the code in the ‘middleware’ array.

\Webkul\SAASCustomizer\Http\Middleware\SaasCheckForMaintenanceMode::class,

6. Find a file auth.php present inside the config folder from the root and do the following entries:

Insert the below in guards array

‘super-admin’ => [

‘driver’ => ‘session’,

‘provider’ => ‘superadmins’

],

‘super-admin-api’ => [
‘driver’ => ‘jwt’,
‘provider’ => ‘superadmins’,
],


7. Then insert the below code in the providers array

‘superadmins’ => [

‘driver’ => ‘eloquent’,

‘model’ => Webkul\SAASCustomizer\Models\Agent::class

],

8. Now, insert the below code in the ‘passwords‘ array

‘superadmins’ => [

‘provider’ => ‘superadmins’,

‘table’ => ‘super_admin_password_resets’,

‘expire’ => 60,

],

Now open the terminal and run the below command on the Bagisto root directory.

composer dump-autoload

php artisan SAAS:install

Once you run the command “php artisan SAAS:install” then you have to enter your super admin credentials like email id and password

Let’s discuss the DNS Record

Wildcard:- With the help of the Wildcard DNS record, we can match the request for the non-existence domain name. A Wildcard DNS record is identified by an “*” asterisk.

In my case, I am using Cloudflare as a DNS manager,

Access the dashboard after that by going to https://ashutech.ml/company/register

Merchant Registration

There is three-step in order to register on the SaaS module.

Merchant has to enter the Organization details like user name and Organization name as well.

Merchant Front End

Therefore after registration, the seller’s front will look like

Super-Admin Panel:-

Enter the example.com/super/login). Then the next page will open like below and then you have to enter your credentials then click on Sign in.

After successfully sign-in, the super admin dashboard will be open like below. Therefore the super-admin can view all the company which is registered on their SaaS Panel.

The tenant has been created successfully, so by following the same procedure you can create multiple tenants on your website.

Need Support?

Thank You for reading this Blog!

For further more interesting blogs, keep in touch with us. If you need any kind of support, simply raise a ticket at https://webkul.uvdesk.com/en/.

You may also visit our CS-Cart development services and quality CS-Cart Extensions.

For further help or query, please contact us or raise a ticket.

Exit mobile version