Lumina Documentation

Local Installation (XAMPP/WAMP/Laragon)

Detailed local setup for XAMPP/WAMP/CLI PHP, php.ini extensions, SQL import, and Filament admin seeding.

Requirements

  • PHP 8.2+ with required extensions enabled
  • Composer 2.x
  • Node.js 20 LTS and npm
  • MySQL/MariaDB

Step 1: Enable Required PHP Extensions (XAMPP/WAMP/CLI)

Enable the same extensions in the PHP used by Apache and CLI. In XAMPP this is usually C:\xampp\php\php.ini , and in WAMP this is usually inside C:\wamp64\bin\php\phpX.X.X\php.ini.

  • Open php.ini and remove ; from these extensions if commented.
  • Required: curl, ctype, fileinfo, mbstring, openssl, pdo_mysql, tokenizer, xml, bcmath, intl, zip, gd.
  • Recommended for smoother package compatibility: exif, iconv, redis (if used).

Common php.ini lines to verify:

extension=curl
extension=mbstring
extension=pdo_mysql
extension=zip

Then restart Apache and verify the CLI php.ini path:

php --ini

Step 2: Prepare Project and Environment

Put the project in your web root for convenience: C:\xampp\htdocs\LuminaAI or C:\wamp64\www\LuminaAI.

copy .env.example .env
composer install
npm install
php artisan key:generate

Configure database in .env:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=luminaai_local
DB_USERNAME=root
DB_PASSWORD=

Step 3: Import SQL or MariaDB File in phpMyAdmin

Start Apache and MySQL in XAMPP/WAMP, then open phpMyAdmin: http://localhost/phpmyadmin.

  1. Create a database (for example: luminaai_local).
  2. Open the new database in left sidebar.
  3. Click Import.
  4. Choose your SQL file (.sql or exported MariaDB SQL dump).
  5. Keep format as SQL and click Go.

File location tips:

  • You can import from any local folder, but it is best to keep dumps inside project backups, for example LuminaAI\database\backup\project.sql.
  • If upload size fails, increase upload_max_filesize and post_max_size in php.ini, then restart Apache.

Step 4: Run Migrations and Seed Filament Admin

If you imported a full SQL dump, you may skip migration. Otherwise run:

php artisan migrate
php artisan db:seed
php artisan storage:link

Seed/create Filament admin user (use what your project supports):

php artisan make:filament-user
php artisan db:seed --class=AdminUserSeeder

Step 5: Access Website and Admin Panel

Run frontend and backend services:

npm run dev
php artisan serve --host=127.0.0.1 --port=8000
  • Website URL: http://127.0.0.1:8000
  • Filament admin URL: http://127.0.0.1:8000/admin (or your configured panel path)
  • Login using seeded admin credentials.

Troubleshooting (Local)

  • 500 error / blank page: run php artisan optimize:clear, check storage/logs/laravel.log, and confirm APP_KEY exists in .env.
  • Extension missing error: run php -m and confirm required modules are loaded in the same CLI PHP binary used by artisan.
  • SQL import too large: increase upload_max_filesize, post_max_size, and max_execution_time in php.ini, then restart Apache.
  • Filament login fails: ensure seeded user has correct panel access/role and reset password using Tinker or rerun admin seeder.
  • Permission errors: ensure storage and bootstrap/cache are writable by the local web server user.
  • Assets not loading: rerun npm install and npm run dev, then hard refresh browser (Ctrl+F5).