Skip to content

Flint Engine — The eCommerce Operating System

Flint Engine eCommerce OS

Installation

Overview

This guide walks you through installing Flint Engine on a web server. The installation process sets up the database, default configuration, and initial admin account.

Step 1: Download Flint Engine

Get the Flint Engine files onto your server:

  1. Download or clone the repository to your web server
  2. Place the files in your web root directory (e.g., /var/www/html/ or /htdocs/flintdigital/)
  3. Ensure the web server user has read access to all files
# Clone the repository
git clone https://github.com/your-repo/flint-engine.git

# Or copy files via FTP/SFTP to your web root
# The project root should contain: app/, bootstrap/, config/, database/, public/, resources/, routes/, storage/

Step 2: Set Up Environment

  1. Copy the example environment file:
    cp .env.example .env
  2. Generate an application key:
    php artisan key:generate
  3. Edit .env and set your database credentials:
    DB_HOST=127.0.0.1
    DB_DATABASE=flint_engine
    DB_USERNAME=root
    DB_PASSWORD=your_password

Step 3: Set Up the Database

  1. Create a new MySQL database for Flint Engine
  2. Run the migration command to create all tables:
    php artisan migrate
  3. Seed the database with default data:
    php artisan db:seed

This creates all required tables including users, roles, permissions, site_settings, orders, licenses, and more.

Step 4: Configure Your Web Server

Point your web server document root to the public/ directory:

Apache

<VirtualHost *:80>
    ServerName yourdomain.com
    DocumentRoot /var/www/flint-engine/public

    <Directory /var/www/flint-engine/public>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Nginx

server {
    listen 80;
    server_name yourdomain.com;
    root /var/www/flint-engine/public;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Step 5: Set Permissions

# Set ownership to web server user
chown -R www-data:www-data /var/www/flint-engine

# Set directory permissions
find /var/www/flint-engine -type d -exec chmod 755 {} \;

# Set file permissions
find /var/www/flint-engine -type f -exec chmod 644 {} \;

# Make storage and cache writable
chmod -R 775 /var/www/flint-engine/storage
chmod -R 775 /var/www/flint-engine/bootstrap/cache

Step 6: Post-Installation

  1. Clear and rebuild cache:
    php artisan cache:clear
    php artisan config:cache
    php artisan route:cache
  2. Visit https://yourdomain.com/admin to access the admin panel
  3. Log in with the default credentials or the ones created during seeding
  4. Go to Settings and configure your site name, logo, and email settings

Important: For production, disable debug mode by setting APP_DEBUG=false in your .env file and configure proper email SMTP settings.

Common Installation Issues

  • 500 Internal Server Error — Check file permissions and PHP error logs
  • Database connection failed — Verify credentials in .env and ensure MySQL is running
  • Blank page — Enable debug mode temporarily: APP_DEBUG=true
  • Missing routes — Run php artisan route:cache and restart PHP