Thinking about launching an online store but Shopify fees seem steep, WooCommerce feels limiting, and Magento looks overwhelming? Meet Bagisto — a free, open-source e-commerce platform built on Laravel that doesn't charge monthly subscription fees or transaction commissions.
This guide walks you through deploying a complete online store on your own server: from choosing a VPS to launching your storefront. No fluff — just practical steps and tested solutions.
What is Bagisto and Why It Matters
Bagisto is an open-source e-commerce platform built on Laravel (a popular PHP framework) and Vue.js (a modern jаvascript library). Think of it as a ready-made foundation for your store with all essential features: product catalog, shopping cart, checkout, admin panel — everything you need to start selling.
Key Differences from Competitors
It's not a WordPress plugin like WooCommerce. Not a multi-gigabyte monster like Magento. Not a SaaS service with monthly fees like Shopify.
Bagisto is a standalone platform that:
- Runs on your own server
- Gives you complete source code access
- Requires no usage fees
- Built with modern technologies
- Has a clean, understandable architecture
Technologies Under the Hood
Laravel — one of the world's most popular PHP frameworks. Clean code, built-in security tools, massive developer community.
Vue.js — progressive jаvascript framework for interfaces. Lighter and faster than React or Angular, yet powerful enough for complex applications.
Composer — dependency manager for PHP. Simplifies package installation and updates.
This means if you know Laravel (or willing to learn), you can customize the store to match any business requirement.
Bagisto vs Competitors: Honest Comparison
Let's take an unbiased look at real pros and cons against other platforms.
Bagisto vs Magento
Bagisto Advantages:
- Simpler installation (15 minutes vs hour+ with Magento)
- Lower server requirements (4GB RAM vs 8GB+)
- Cleaner code structure (Laravel vs Magento's custom framework)
- Faster performance for mid-size projects
Magento Advantages:
- Larger extension marketplace
- More powerful for enterprise projects with millions of products
- Longer market presence means more experienced developers
Bottom line: Magento for large corporations, Bagisto for small to medium businesses.
Bagisto vs WooCommerce
Bagisto Advantages:
- WordPress-independent
- Modern architecture (MVC)
- Built-in API for mobile apps
- Multi-vendor without hacks
WooCommerce Advantages:
- Huge selection of themes and plugins
- Easier for non-technical users
- More ready-made integrations
Bottom line: WooCommerce for simple stores, Bagisto when you need flexibility and scalability.
Bagisto vs OpenCart / PrestaShop
Bagisto Advantages:
- Fresh codebase (not 2010s legacy)
- Easier customization thanks to Laravel
- Active development (monthly updates)
- Headless commerce out of the box
OpenCart/PrestaShop Advantages:
- More ready-made templates
- Cheaper to find freelancers for modifications
- Decade of community experience
Bottom line: If you need a modern platform for future growth — Bagisto.
Who Should Use Bagisto
Perfect fit if you're:
Developer or Agency — need flexible platform for custom projects. Laravel is industry standard, finding specialists is easy.
Business Owner with Technical Background — want control over your store without dependence on SaaS services and their pricing tiers.
Startup — limited budget but need modern store with scaling potential.
Growing Store — outgrew WooCommerce but Magento seems excessive.
Marketplace — planning multi-seller platform (like Etsy or Alibaba in miniature).
Not suitable if:
- Need to launch store right now, within an hour, no technical skills → go with Shopify
- Selling 2-3 products and need maximum simplicity → WooCommerce is simpler
- Planning millions of products and massive traffic → Magento more reliable
System Requirements
Before installation, verify your server meets minimum requirements.
Operating System
Linux (recommended):
- Ubuntu 20.04 LTS or newer
- Debian 10 or newer
- CentOS 8 / AlmaLinux 8
Windows (for local development):
- Windows 10/11 with WAMP or XAMPP
Server Software
Web Server:
- Nginx 1.18+ (recommended)
- Apache 2.4+ (with mod_rewrite)
Database:
- MySQL 8.0+
- MariaDB 10.3+
PHP:
- Version: 8.2 or newer
- Extensions: BCMath, Ctype, JSON, Mbstring, OpenSSL, PDO, Tokenizer, XML, cURL, GD, Fileinfo, Intl
Additional:
- Node.js 18.12 LTS or newer
- Composer 2.5 or newer
- Git (for Composer installation)
Server Resources
Minimum (for testing):
- 2 CPU cores
- 4 GB RAM
- 20 GB SSD
Recommended (for production):
- 4 CPU cores
- 8 GB RAM
- 50+ GB NVMe SSD
- 1 Gbps port
High-traffic stores:
- 8+ CPU cores
- 16+ GB RAM
- 100+ GB NVMe SSD
- 10 Gbps port
Why VPS, Not Shared Hosting
For Bagisto, you must have VPS or dedicated server. Shared hosting won't work for several reasons:
Command Line Access Required
Installing Bagisto via Composer requires SSH access and terminal commands. Shared hosting typically doesn't provide this.
Specific PHP Settings Needed
Some PHP extensions might be disabled on shared hosting for security reasons.
Performance
Laravel applications are sensitive to disk speed and RAM. On shared hosting, resources are split among hundreds of clients.
Web Server Customization
For maximum performance, you need ability to configure Nginx or Apache for your store's specifics.
Choosing VPS for Bagisto
Let's look at what THE.Hosting offers for running a Bagisto store.
Standard VPS
Suitable for most stores with moderate traffic.
Basic configuration (~€10/month):
- 2 vCPU
- 4 GB RAM
- 50 GB NVMe SSD
- 1 Gbps port
- Unlimited traffic
For growing stores (~€20/month):
- 4 vCPU
- 8 GB RAM
- 100 GB NVMe SSD
- 1 Gbps port
Hi-CPU VPS
If you have complex calculations (large catalog, many filters, integrations).
Characteristics:
- More powerful CPU cores
- Higher CPU frequency
- Faster request processing
- Better for high-load stores
Dedicated Servers
For enterprise projects or marketplaces with thousands of daily orders.
Benefits:
- All resources dedicated to your store
- Maximum performance
- Complete hardware control
THE.Hosting Key Advantages
- NVMe SSD Storage — 6x faster than regular SSDs
- 50+ Global Locations — place server close to customers
- 10 Gbps Ports — store won't crash during flash sales
- Anti-DDoS Protection — built-in attack protection
- SSL Certificates — free Let's Encrypt
- 24/7 Support — assistance in English and Russian
Important: THE.Hosting provides self-managed VPS. You get a clean server with root access and configure it yourself. Perfect for those who want full control.
Installing Server Environment
We'll install LEMP stack (Linux + Nginx + MySQL + PHP) on Ubuntu 22.04.
Connecting to Server
After creating VPS in THE.Hosting panel, you'll receive:
- Server IP address
- Root password (or SSH key)
Connect via SSH:
ssh root@185.104.248.123
(replace IP with yours)
System Update
apt update && apt upgrade -y
Installing Nginx
apt install nginx -y
systemctl start nginx
systemctl enable nginx
Verification: open http://your-ip in browser — should see Nginx page.
Installing MySQL
apt install mysql-server -y
Run secure installation wizard:
mysql_secure_installation
Recommended answers:
- Validate Password Plugin: Yes (if you want strict passwords)
- Remove anonymous users: Yes
- Disallow root login remotely: Yes
- Remove test database: Yes
- Reload privilege tables: Yes
Create database for Bagisto:
mysql -u root -p
In MySQL console:
CREATE DATABASE bagisto CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'bagisto_user'@'localhost' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON bagisto.* TO 'bagisto_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Installing PHP 8.2
apt install software-properties-common -y
add-apt-repository ppa:ondrej/php -y
apt update
Install PHP and required extensions:
apt install php8.2-fpm php8.2-cli php8.2-mysql php8.2-curl php8.2-xml \
php8.2-mbstring php8.2-zip php8.2-gd php8.2-intl php8.2-bcmath -y
Verify installation:
php -v
Should show: PHP 8.2.x
Installing Composer
cd /tmp
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer
Verify:
composer --version
Installing Node.js
curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
apt install nodejs -y
Verify:
node -v
npm -v
Installing Bagisto
Let's install the store itself.
Downloading Bagisto via Composer
cd /var/www
composer create-project bagisto/bagisto
Process takes 3-5 minutes — Composer downloads all dependencies.
Setting Permissions
cd bagisto
chown -R www-dаta:www-data .
chmod -R 755 .
chmod -R 777 storage bootstrap/cache
Environment Configuration
Copy environment variables file:
cp .env.example .env
Edit .env:
nano .env
Key parameters:
APP_NAME="My Store"
APP_ENV=production
APP_DEBUG=false
APP_URL=http://your-domain.com
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=bagisto
DB_USERNAME=bagisto_user
DB_PASSWORD=your_strong_password
MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=your_email@gmail.com
MAIL_PASSWORD=your_app_password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=your_email@gmail.com
MAIL_FROM_NAME="${APP_NAME}"
Save (Ctrl+O, Enter, Ctrl+X).
Generate Application Key
php artisan key:generate
Install Bagisto
Run installation command:
php artisan bagisto:install
Installation wizard will ask:
Create administrator? → Yes
Enter details:
- Email: your_email@example.com
- Password: (minimum 8 characters)
- Name: Your Name
Configure store? → Yes
Store parameters:
- Name: My Store
- Currency: USD (or EUR, GBP)
- Locale: en
Installation takes 2-3 minutes.
Compile Frontend Assets
npm install
npm run build
Or for production:
npm run prod
Configuring Nginx
Create virtual host configuration:
nano /etc/nginx/sites-available/bagisto
Insert:
server {
listen 80;
server_name your-domain.com www.your-domain.com;
root /var/www/bagisto/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
index index.php;
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;
}
}
Activate configuration:
ln -s /etc/nginx/sites-available/bagisto /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx
Installing SSL Certificate
For security and SEO, HTTPS is mandatory.
Install Certbot
apt install certbot python3-certbot-nginx -y
Obtain Certificate
certbot --nginx -d your-domain.com -d www.your-domain.com
Certbot automatically:
- Obtains Let's Encrypt certificate
- Configures Nginx for HTTPS
- Sets up auto-renewal
Your store is now accessible at https://your-domain.com
Initial Store Configuration
Access admin panel: https://your-domain.com/admin
Login: email you specified during installation Password: what you set
Basic Settings
Settings → General:
✅ Store name
✅ Logo (recommend PNG with transparency)
✅ Favicon
✅ Store address
✅ Contact email
✅ Phone
Settings → Localization:
✅ Default currency
✅ Timezone
✅ Date format
Settings → Channels:
Channels are your store's storefronts. Can create multiple (e.g., for different countries).
✅ Main channel created during installation
✅ Configure domains, currencies, languages per channel
Creating Categories
Catalog → Categories → Create:
Example structure for clothing store:
Men
├── Outerwear
├── T-shirts & Polos
├── Jeans & Trousers
└── Footwear
Women
├── Dresses
├── Blouses
├── Skirts
└── Footwear
Kids
└── ...
For each category:
- Name
- URL key (auto-generated, editable)
- Description (for SEO)
- Image
Adding Products
Catalog → Products → Create Product:
Required fields:
- SKU (article number)
- Name
- Price
- Category
Additional:
- Description
- Short description
- Images (multiple angles)
- Meta title, description (for SEO)
- Variations (sizes, colors)
Inventory:
- Stock quantity
- Status (In Stock / Out of Stock)
Save — product appears on site.
Configuring Payment Methods
Settings → Payment Methods:
Default available:
- Bank Transfer (offline)
- Cash on Delivery
- PayPal
For online card payments, need additional extensions:
- Stripe
- Square
- Authorize.Net
- Others via Bagisto marketplace
Shipping Configuration
Settings → Shipping Methods:
Built-in methods:
- Flat Rate — one price for all
- Per Unit — configurable rates
- Table Rate — based on weight/price
- Free Shipping
For courier service integration (UPS, FedEx, DHL), need extensions.
Performance Optimization
After basic setup, optimize store for speed.
Caching
Laravel supports several cache types:
Config cache:
php artisan config:cache
Route cache:
php artisan route:cache
View cache:
php artisan view:cache
Composer autoloader:
composer dump-autoload --optimize
Redis Setup (optional but recommended)
Redis speeds up caching and sessions.
Installation:
apt install redis-server -y
systemctl start redis
systemctl enable redis
PHP extension:
apt install php8.2-redis -y
systemctl restart php8.2-fpm
Configuration in .env:
CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
Clear and rebuild cache:
php artisan cache:clear
php artisan config:cache
Queue Configuration
For email sending and background tasks, set up supervisor.
Installation:
apt install supervisor -y
Configuration (create file):
nano /etc/supervisor/conf.d/bagisto-worker.conf
Content:
[program:bagisto-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/bagisto/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
user=www-data
numprocs=2
redirect_stderr=true
stdout_logfile=/var/www/bagisto/storage/logs/worker.log
Apply:
supervisorctl reread
supervisorctl update
supervisorctl start bagisto-worker:*
Image Compression
Product photos can weigh megabytes. Use compression services:
- TinyPNG (online)
- ImageOptim (Mac)
- RIOT (Windows)
Or automate via Laravel packages like Intervention Image.
CDN (optional)
For global audience, consider Cloudflare CDN:
- Faster static asset loading
- Additional DDoS protection
- Free SSL
Security
Online stores handle customer data — security is critical.
Firewall
Install UFW:
apt install ufw -y
Allow required ports:
ufw allow 22/tcp # SSH
ufw allow 80/tcp # HTTP
ufw allow 443/tcp # HTTPS
ufw enable
Fail2Ban
Protection from SSH brute-force and other attacks.
apt install fail2ban -y
systemctl start fail2ban
systemctl enable fail2ban
Regular Updates
System:
apt update && apt upgrade -y
Bagisto:
cd /var/www/bagisto
composer update
php artisan migrate
php artisan cache:clear
Backups
Important: THE.Hosting doesn't make automatic backups for you (self-managed VPS).
Database (daily):
#!/bin/bash
# /root/backup-db.sh
DATE=$(date +%Y-%m-%d)
mysqldump -u bagisto_user -p'password' bagisto | gzip > /root/backups/bagisto_$DATE.sql.gz
# Remove backups older than 7 days
find /root/backups/ -name "bagisto_*.sql.gz" -mtime +7 -delete
Make executable:
chmod +x /root/backup-db.sh
Add to cron (daily at 3 AM):
crontab -e
0 3 * * * /root/backup-db.sh
Files:
Copy uploaded images folder:
rsync -av /var/www/bagisto/storage/app/public/ /root/backups/files/
Best practice: store backups on separate server or cloud (AWS S3, Backblaze B2).
Disable Debug Mode
Check in .env:
APP_DEBUG=false
In production always must be false — otherwise users see full error traces with sensitive information.
Advanced Features
After launching basic store, consider advanced functions.
Multi-vendor Marketplace
Transform store into platform where multiple suppliers sell.
Extension: Bagisto Multi-Vendor Marketplace
Features:
- Seller registration
- Separate admin panels for each
- Commission configuration
- Payout system
- Seller ratings
Who needs: Creating local Etsy, Alibaba, or Amazon alternative.
PWA (Progressive Web App)
Make store feel like mobile app.
Extension: Bagisto PWA
Benefits:
- Works offline
- Add to home screen
- Push notifications
- Faster than regular website
Simple installation — via Composer and manifest configuration.
Mobile Application
Ready Flutter-based app for Android and iOS.
GitHub: bagisto/opensource-ecommerce-mobile-app
Features:
- Native interface
- Push notifications
- Biometric login
- Bagisto API integration
Publishing to stores (Google Play, App Store) requires developer account (~$100/year).
Headless Commerce
Separate frontend and backend — use Bagisto as API only.
When needed:
- Custom frontend on React/Vue/Next.js
- Multiple interfaces (web, mobile app, kiosks)
- Extreme performance
Bagisto provides REST API for all operations.
B2B Functionality
Corporate sales with special terms.
Extension: Bagisto B2B
Features:
- Company registration
- Contract-based pricing
- Credit limits
- Bulk orders
- Account managers
Frequently Asked Questions
Do I need programming skills for Bagisto?
Depends on tasks. For installation and basic setup, command line skills suffice. Deep customization requires Laravel and PHP knowledge.
Can I migrate from Shopify/WooCommerce to Bagisto?
Yes, but requires data migration. There are ready CSV import tools, or you can write migration scripts via API.
How many products can Bagisto handle?
On properly configured VPS — tens of thousands. With optimization (Elasticsearch for search, Redis for cache) — hundreds of thousands. Millions require dedicated server.
Is there Russian localization?
Yes, Bagisto supports Russian language. During installation, choose ru as default locale.
Where to find Bagisto extensions?
- Official marketplace: bagisto.com/en/extensions
- GitHub (many free)
- Custom development available
How to update Bagisto?
composer update
php artisan migrate
php artisan cache:clear
Always backup before updating!
Can Bagisto be used for dropshipping?
Yes, but requires integrations with suppliers via API or extensions.
Do I need license for commercial use?
No, Bagisto is completely free under MIT license. Use as you wish.
Conclusion
Bagisto is excellent choice if you need modern online store without SaaS platform lock-in and monthly fees. Yes, it requires time to learn, but in return you get:
- Complete platform control
- No sales commissions
- Unlimited customization
- Scalability from startup to enterprise
- Modern technology stack
THE.Hosting provides ideal infrastructure for Bagisto:
- VPS with NVMe drives for fast performance
- 50+ locations to place server close to customers
- Anti-DDoS protection from attacks
- 24/7 technical support
Launch test store over weekend — verify Bagisto fits your business. When ready for production — THE.Hosting ensures stability and performance of your online store.
What's next?
After launching store, focus on:
- Filling catalog with quality products
- Marketing setup (SEO, paid ads)
- User experience improvements
- Customer behavior analysis
Technology is a tool. What matters is your products, service, and customers. Good luck with your business!