Web Installer Walkthrough
FeedbackPulse SaaS includes a beautiful, browser-based installer. No command line needed (after the initial file upload and composer install).
Accessing the Installer
Accedez a:
https://yourdomain.com/install
Can't see the installer? Make sure:
- Your web server points to the
public/directory- Apache
mod_rewriteis enabled (or Nginx has propertry_files)- There is NO
storage/installed.lockfile (this blocks the installer after first installation)
Step 1: Welcome & License
The first screen welcomes you and asks for your Envato/CodeCanyon purchase code.
Where to find your purchase code:
- Connectez-vous to CodeCanyon
- Allez a Downloads → find FeedbackPulse SaaS
- Click Download → License certificate and purchase code
- The purchase code looks like:
a1b2c3d4-e5f6-7890-abcd-ef1234567890
What it does:
- Validates your license with the Envato API
- Ensures you have a legitimate copy
- Unlocks the rest of the installer
Step 2: Configuration Requise Check
The installer automatically scans your server and checks:
PHP Version
- PHP 8.2 ou superieur is required
- Shows your current PHP version
Vendor Dependencies
- Checks that
vendor/autoload.phpexists (Composer dependencies must be installed or uploaded)
PHP Extensions
The following are checked:
pdo_mysql— Base de Donnees connectivitymbstring— String handlingopenssl— Encryptiontokenizer— Code parsingxml— XML processingctype— Character validationjson— JSON handlingbcmath— Math operationsfileinfo— File type detectioncurl— API calls
Directory Permissions
storage/— Must be writablebootstrap/cache/— Must be writable
Result Display
- Green checkmarks = requirement met
- Red crosses = requirement NOT met (must fix before proceeding)
Fixing failed checks:
# Install missing PHP extensions (Ubuntu)
sudo apt install php8.2-mysql php8.2-mbstring php8.2-xml php8.2-bcmath php8.2-curl php8.2-gd php8.2-zip
# Fix permissions
sudo chmod -R 775 storage bootstrap/cache
sudo chown -R www-data:www-data storage bootstrap/cache
# Restart PHP
sudo systemctl restart php8.2-fpm
Step 3: Base de Donnees Configuration
Entrez votre MySQL/MariaDB connection details:
| Champ | Exemple | Notes |
|---|---|---|
| Base de Donnees Host | 127.0.0.1 | Use 127.0.0.1 instead of localhost for reliability |
| Base de Donnees Port | 3306 | Default MySQL port |
| Base de Donnees Name | feedbackpulse | Must exist already! |
| Base de Donnees Username | feedbackpulse_user | With full privileges on the database |
| Base de Donnees Password | your_secure_password | The user's password |
Before This Step
You must create the database first:
-- Log into MySQL
mysql -u root -p
-- Create the database
CREATE DATABASE feedbackpulse CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- Create a dedicated user (recommended)
CREATE USER 'feedbackpulse_user'@'localhost' IDENTIFIED BY 'your_secure_password';
GRANT ALL PRIVILEGES ON feedbackpulse.* TO 'feedbackpulse_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
What Happens When You Click "Setup Base de Donnees"
- The installer tests the connection
- Saves your database credentials to the
.envfile - Runs all database migrations (creates ~30 tables)
- Seeds default data:
- 3 default plans d'abonnement (Starter, Growth, Pro)
- Default platform settings
- Shows a success message
Note : Session and cache drivers remain as
fileduring installation for stability. They are switched todatabaseautomatically at the completion step.
This step may take 10-30 seconds depending on your server.
Step 4: Admin Account
Create your superadmin account:
| Champ | Exemple | Notes |
|---|---|---|
| Full Name | John Smith | Your display name |
| Email Address | [email protected] | Used for login and notifications |
| Password | (strong password) | Minimum 8 characters. Use a strong password! |
| Confirm Password | (must match) | Must match |
What Happens
- Creates your user account with
role = superadmin - This is the only superadmin account created automatically
- You'll use this to log in at
/loginand access/admin/dashboard
Securite tip: Use a unique, strong password. You can enable 2FA later in Parametres.
Step 5: Email Configuration
Configure SMTP for sending transactional emails:
| Champ | Exemple | Notes |
|---|---|---|
| SMTP Host | smtp.gmail.com | Your email provider's SMTP server |
| SMTP Port | 587 | 587 for TLS, 465 for SSL |
| SMTP Username | [email protected] | Usually your email address |
| SMTP Password | your_app_password | App-specific password recommended |
| Encryption | tls | TLS (recommended) or SSL |
| From Address | [email protected] | The "from" address on outgoing emails |
| From Name | FeedbackPulse | The "from" name on outgoing emails |
Common SMTP Providers
| Provider | Host | Port | Encryption | Notes |
|---|---|---|---|---|
| Gmail | smtp.gmail.com | 587 | TLS | Requires App Password (not regular password) |
| Mailgun | smtp.mailgun.org | 587 | TLS | Great for transactional email |
| Amazon SES | email-smtp.{region}.amazonaws.com | 587 | TLS | Cost-effective at scale |
| SendGrid | smtp.sendgrid.net | 587 | TLS | Use apikey as username |
| Postmark | smtp.postmarkapp.com | 587 | TLS | Best deliverability |
| Mailtrap | sandbox.smtp.mailtrap.io | 587 | TLS | For testing only! |
Can't configure email now? You can skip this step and configure it later in
Admin → Parametres → Email. The platform will work without email, but features like invitations, digests, and password resets won't function.
Step 6: Installation Complete!
You'll see a success page with:
- Base de Donnees configured and migrated
- Admin account created
- Email configured
installed.lockfile created- Session and cache drivers switched to
database CRON_TOKENauto-generated for web-based cron- Shared hosting notice (if symlink couldn't be created)
Cron Job Instructions (shown on completion page)
The completion page displays two cron setup options with copy-paste commands:
-
CLI Command — for VPS/dedicated servers:
* * * * * cd /path/to/project && php artisan schedule:run >> /dev/null 2>&1 -
URL/wget — for hebergement mutualise (uses the auto-generated
CRON_TOKEN):wget -q -O /dev/null "https://yourdomain.com/cron/run?token=YOUR_CRON_TOKEN"
Save these! Copy the cron command from the completion page before navigating away. You can also find your
CRON_TOKENin the.envfile.
The installed.lock File
The installer creates storage/installed.lock to prevent anyone from re-running the installer. This is a security measure.
To re-run the installer (e.g., fresh install), delete this file:
rm storage/installed.lockThen visit
/installagain.
Post-Installation Checklist
After the installer completes:
- Set up the tache cron using the instructions shown on the completion page (see Cron Jobs & Queue Workers)
- Connectez-vous at
https://yourdomain.com/loginwith your superadmin credentials - Visit
Admin → Plans— review and customize plans d'abonnement - Visit
Admin → Parametres → Payments— connect Stripe/PayPal - Visit
Admin → Parametres → Email— send a test email - Visit
Admin → Landing Page— customize your public homepage - Set up SSL (see SSL Certificates)
- Optionally set up wildcard DNS (see Wildcard DNS Setup)
Etapes Suivantes
- Apache Configuration or Nginx Configuration
- Environment Variables — fine-tune your
.env - Cron Jobs & Queue Workers — set up automated tasks