Bagisto Laravel Installation: Channel & Theme Setup

Installing Bagisto on a fresh LEMP stack often fails due to mismatched PHP versions or missing extensions. We'll walk through the exact steps to get a stable e-commerce store running, covering common pitfalls from day one. Our team has configured Bagisto for over 15 production stores, and we guarant

Development and maintenance of all types of websites:

Informational websites or web applications
Business card websites, landing pages, corporate websites, online catalogs, quizzes, promo websites, blogs, news resources, informational portals, forums, aggregators
E-commerce websites or web applications
Online stores, B2B portals, marketplaces, online exchanges, cashback websites, exchanges, dropshipping platforms, product parsers
Business process management web applications
CRM systems, ERP systems, corporate portals, production management systems, information parsers
Electronic service websites or web applications
Classified ads platforms, online schools, online cinemas, website builders, portals for electronic services, video hosting platforms, thematic portals

These are just some of the technical types of websites we work with, and each of them can have its own specific features and functionality, as well as be customized to meet the specific needs and goals of the client.

Our competencies:

Frequently Asked Questions

Latest works

  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1284
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1240
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    982
  • image_crm_chasseurs_493_0.webp
    CRM development for Chasseurs
    1031
  • image_website-sbh_0.webp
    Website development for SBH Partners
    1104
  • image_website-_0.webp
    Website development for Red Pear
    553

Installing Bagisto on a fresh LEMP stack often fails due to mismatched PHP versions or missing extensions. We'll walk through the exact steps to get a stable e-commerce store running, covering common pitfalls from day one. Our team has configured Bagisto for over 15 production stores, and we guarantee every installation for 6 months.

Why Bagisto on Laravel Is a Solid Choice

Bagisto leverages Laravel 11, Vue 3, and Redis, offering flexibility and performance. However, the setup demands precise version control.

Common Installation Headaches

Typical errors: incompatible PHP (needs 8.1+), missing BCMath or GD, misconfigured queue workers, and filesystem permissions. Below we address each.

Server Requirements

Component Minimum Recommended
PHP 8.1 8.2+
MySQL / MariaDB 8.0 / 10.3 MySQL 8.0
Composer 2.x 2.x
Node.js 16 18 LTS
RAM 1 GB 2 GB+

Required PHP extensions: BCMath, Ctype, cURL, DOM, Fileinfo, JSON, Mbstring, OpenSSL, PCRE, PDO, Tokenizer, XML, GD or Imagick.

Note: Using Redis for cache and queues cuts processing time by 5–10× compared to file-based caching. Configure it early.

Installation via Composer

composer create-project bagisto/bagisto:^2.2 myshop cd myshop cp .env.example .env 

Edit .env:

APP_URL=https://myshop.example.com DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=bagisto DB_USERNAME=bagisto_user DB_PASSWORD=secret CACHE_DRIVER=redis QUEUE_CONNECTION=redis SESSION_DRIVER=redis REDIS_HOST=127.0.0.1 REDIS_PORT=6379 

Run the installer:

php artisan bagisto:install 

This runs migrations, seeders, publishes assets, and creates the first admin. Then build frontend:

npm install npm run build 

Nginx Configuration

server { listen 80; server_name myshop.example.com; root /var/www/myshop/public; index index.php; add_header X-Frame-Options "SAMEORIGIN"; add_header X-Content-Type-Options "nosniff"; charset utf-8; location / { try_files $uri $uri/ /index.php?$query_string; } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } error_page 404 /index.php; location ~ \.php$ { fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.(?!well-known).* { deny all; } } 

Enable SSL with Certbot: certbot --nginx -d myshop.example.com.

Queue Workers with Supervisor

Bagisto uses queues for emails, invoices, and webhooks.

[program:bagisto-worker] process_name=%(program_name)s_%(process_num)02d command=php /var/www/myshop/artisan queue:work redis --sleep=3 --tries=3 --max-time=3600 autostart=true autorestart=true stopasgroup=true killasgroup=true user=www-data numprocs=2 redirect_stderr=true stdout_logfile=/var/www/myshop/storage/logs/worker.log stopwaitsecs=3600 
supervisorctl reread supervisorctl update supervisorctl start bagisto-worker:* 

Admin Panel Initial Setup

Log in at /admin to configure:

Channels and Locales

A channel is a separate "storefront" with its own domain, currency, and language. For multilingual stores, create one channel with multiple locales.

Taxes

Catalog → Taxes → Tax Categories — create categories (e.g., VAT 20%). Then link to taxpayer groups and regions via Tax Rates.

Shipping Methods

Built-in: FlatRate, Free Shipping. For third-party carriers (e.g., CDEK), install a package or create a custom provider in config/carriers.php.

Payment Methods

Built-in: Cash On Delivery, Money Transfer, PayPal. Custom gateways register in config/paymentmethods.php and implement Webkul\Payment\Payment.

Email Configuration

MAIL_MAILER=smtp MAIL_HOST=smtp.example.com MAIL_PORT=587 [email protected] MAIL_PASSWORD=secret MAIL_ENCRYPTION=tls [email protected] MAIL_FROM_NAME="My Store" 

Publish email templates:

php artisan vendor:publish --tag=bagisto-mail-views 

Edit them in resources/views/vendor/shop/emails/.

Cron for Scheduler

* * * * * cd /var/www/myshop && php artisan schedule:run >> /dev/null 2>&1 

Handles cart cleanup, sitemap generation, and currency rate updates.

File Permissions

chmod -R 775 storage bootstrap/cache chown -R www-data:www-data /var/www/myshop 

What Our Turnkey Setup Includes

Phase Duration Actions
Analysis 1–2 days Hosting selection, version alignment
Installation 1 day Composer, environment, dependencies
Configuration 1–2 days Channels, taxes, shipping, payments
Integration 1 day Email, queues, cron
Testing 1 day Functional checks

Post-Installation Checklist

  • [ ] Run php artisan config:cache && php artisan route:cache
  • [ ] Set up DB backups (cron + mysqldump or spatie/laravel-backup)
  • [ ] Verify Redis via php artisan tinkerRedis::ping()
  • [ ] Test email with a sample order
  • [ ] Monitor queues using Laravel Horizon (composer require laravel/horizon)
  • [ ] Confirm sitemap generation at /sitemap.xml

Additional Tips

For performance, use Redis for cache and queues. Monitor with Laravel Horizon. Laravel Queues documentation

What to Do If Something Breaks? Common Fixes
  • Database connection error: check .env
  • Composer errors: update PHP version
  • Assets not loading: run npm install && npm run build

If you need a turnkey Bagisto installation with warranty and support, contact us. We'll assess your project free of charge.