Bagisto
Bagisto is an open-source e-commerce platform based on Laravel, designed to help developers and business owners quickly and flexibly build online stores. Created by Webkul, Bagisto offers a complete solution for managing products, categories, orders, customers, and supports multi-store and multi-channel functionality.
Bagisto leverages the Laravel framework and Vue.js, making it ideal for developers already familiar with these technologies. Additionally, Bagisto supports various essential features such as Advanced Product Catalog, Multi-Currency, Multi-Language, and Inventory Management. With its modular architecture, Bagisto is highly customizable to meet specific business needs.
1. System Requirements
System requirements for running Bagisto 2.2:
- Apache or Nginx web server
- PHP 8.3+
- Composer 2.5+
- MySQL 8.0+ or MariaDB 10.3+
Before starting the deployment, prepare the following:
- A VPS or server with Ubuntu 24.04 LTS OS
- SSH access to the server
- A domain already pointed to the server
2. Server Preparation
Update the system
sudo apt update
sudo apt upgrade -y
Install Apache
sudo apt install apache2 -y
Add the PPA ondrej/php repository
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt upgrade -y
Install PHP 8.3 and the required extensions.
sudo apt install php8.3 php8.3-cli php8.3-common \
php8.3-apcu php8.3-mbstring php8.3-gd php8.3-intl \
php8.3-xml php8.3-soap php8.3-bcmath php8.3-mysql php8.3-zip \
php8.3-curl php8.3-tidy php8.3-imagick php8.3-sqlite3 -y
Install Composer
sudo wget https://getcomposer.org/download/latest-stable/composer.phar -O /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer
Install MariaDB
sudo apt install mariadb-server -y
3. Create a Database
Log in to MariaDB
sudo mysql
Create a database and user
CREATE DATABASE bagisto;
CREATE USER 'bagisto'@'localhost' IDENTIFIED BY 'rahasia';
GRANT ALL PRIVILEGES ON bagisto.* TO 'bagisto'@'localhost';
FLUSH PRIVILEGES;
exit
4. Apache Configuration
Create a virtual host configuration for contoh.com
.
sudo nano /etc/apache2/sites-available/contoh.com.conf
Enter the configuration.
<VirtualHost *:80>
ServerName www.contoh.com
ServerAlias contoh.com
DocumentRoot /var/www/contoh.com/public
<Directory /var/www/contoh.com/public>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/apache2/contoh.com_error.log
CustomLog /var/log/apache2/contoh.com_access.log combined
</VirtualHost>
Enable the rewrite
module, virtual host, and restart apache2
.
sudo a2enmod rewrite
sudo a2ensite contoh.com
sudo systemctl restart apache2
Install certbot
sudo apt install certbot python3-certbot-apache -y
Request an SSL certificate.
sudo certbot --non-interactive \
-m [email protected] \
--agree-tos \
--no-eff-email \
--apache -d contoh.com -d www.contoh.com \
--redirect
5. Install Bagisto
Create a Bagisto project via Composer.
sudo composer create-project bagisto/bagisto /var/www/contoh.com
Navigate to the directory and install Bagisto.
cd /var/www/contoh.com
sudo php artisan bagisto:install
Prompts displayed during the installation process.
- Please enter the application name
- Please enter the application URL
- Please select the application timezone
- Please select the default application locale
- Please select the default currency
- Please choose the allowed locales for your channels
- Please choose the allowed currencies for your channels
- Please select the database connection
- Please enter the database host
- Please enter the database port
- Please enter the database name
- Please enter the database prefix
- Please enter your database username
- Please enter your database password
- Enter the name of the admin user
- Enter the email address of the admin user
- Configure the password for the admin user
- Please select if you want some sample products after installation
Change the user-group of the directory.
sudo chown -R www-data:www-data /var/www/contoh.com
Bagisto deployment has been completed and is ready to use.