Aller au contenu principal

Guide d'Installation

This is the complete, step-by-step installation guide for FeedbackPulse SaaS. Follow every step carefully.


Pre-Installation Checklist

Before you begin, make sure you have:

  • A server meeting all requirements
  • Un nom de domaine pointant vers votre serveur's IP address
  • SSH access to your server (or FTP for file upload)
  • A MySQL/MariaDB database and credentials
  • An SMTP email account (Gmail, Mailgun, Amazon SES, etc.)
  • Your Envato purchase code (from CodeCanyon order)

Step 1: Upload Files to Your Server

# Connect to your server
ssh user@your-server-ip

# Navigate to web directory
cd /var/www

# Upload and extract the ZIP file
# (Upload the zip via SCP, SFTP, or wget from a temporary link)
unzip feedbackpulse-saas.zip -d feedbackpulse-saas
cd feedbackpulse-saas

Option B: Using FTP/SFTP

  1. Connect to your server using FileZilla, WinSCP, or similar
  2. Accedez a your web directory (usually /var/www/ or /home/user/public_html/)
  3. Upload the entire extracted feedbackpulse-saas folder
  4. Make sure the public/ subdirectory is accessible

Option C: Using cPanel File Manager

  1. Connectez-vous to cPanel
  2. Open File Manager → navigate to public_html (or a subdirectory)
  3. Upload the ZIP file
  4. Extract it in place
  5. Important : You'll need to set the document root to the public/ folder (see Apache Configuration)

Step 2: Set File Permissions

cd /var/www/feedbackpulse-saas

# Set ownership (replace www-data with your web server user)
# Apache: www-data | Nginx: www-data or nginx
sudo chown -R www-data:www-data .

# Set directory permissions
sudo find . -type d -exec chmod 755 {} \;
sudo find . -type f -exec chmod 644 {} \;

# Make storage and cache writable
sudo chmod -R 775 storage bootstrap/cache

Step 3: Configure Your Web Server

Your web server must point to the public/ directory inside the project — NOT the project root. This is a critical security requirement.

Choose your web server:

Quick version:

Apache:

DocumentRoot /var/www/feedbackpulse-saas/public

Nginx:

root /var/www/feedbackpulse-saas/public;

After configuring, restart your web server:

# Apache
sudo systemctl restart apache2

# Nginx
sudo systemctl restart nginx

The installateur web automatically attempts to create the storage symlink during the final step. You do not need to run any commands.

  • VPS/Dedicated: The symlink is created automatically. No action needed.
  • Shared hosting: If symlinks are disabled on your host, FeedbackPulse uses a built-in PHP fallback to serve uploaded files (logos, images). Everything works — no action needed.

The installer completion page will tell you whether the symlink was created or if the fallback is active.


Step 5: Run the Web Installer

Ouvrez votre navigateur and navigate to:

https://yourdomain.com/install

The installer will guide you through 5 steps. See Web Installer Walkthrough for detailed screenshots and explanations.

Quick summary:

Step 1: License Verification

  • Entrez votre Envato/CodeCanyon purchase code
  • This validates your license with the Envato API
  • If you're not using Envato, there may be a skip option

Step 2: Configuration Requise Check

  • The installer automatically checks:
    • Vendor dependencies (vendor/autoload.php exists)
    • PHP version (8.2+)
    • Required PHP extensions
    • Directory permissions (storage, bootstrap/cache)
    • Hosting environment (detects hebergement mutualise, shows compatibility info)
  • Fix any failed items before proceeding

Step 3: Base de Donnees Setup

  • Entrez votre database credentials:
    • Host: 127.0.0.1 (or localhost)
    • Port: 3306
    • Base de Donnees name: feedbackpulse (create this first!)
    • Username: your database username
    • Password: your database password
  • The installer will run all migrations and seed default data

Create the database first:

CREATE DATABASE feedbackpulse CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Step 4: Admin Account

  • Create your superadmin account:
    • Name: Your name
    • Email: [email protected]
    • Password: A strong password (min 8 characters)
  • This is the account you'll use to manage the entire platform

Step 5: Email Configuration

  • Entrez votre SMTP details:
    • Host: e.g., smtp.gmail.com
    • Port: 587 (TLS) or 465 (SSL)
    • Username: your SMTP username
    • Password: your SMTP password or app password
    • Encryption: TLS (recommended)
    • From Address: [email protected]
  • You can skip this and configure later in Admin Parametres

Completion

  • Switches session and cache drivers to database for production
  • Generates a CRON_TOKEN for the web-based cron endpoint
  • Creates a storage/installed.lock file (prevents re-running)
  • Shows a success page with tache cron setup instructions (both CLI and URL options) and next steps

Step 6: Set Up the Cron Job

FeedbackPulse needs a tache cron to run scheduled tasks. This is essential for:

  • Sending resume par e-mails (daily/weekly)
  • Processing trial expirations
  • Enforcing retention des donnees policies
  • Sending usage alerts
  • Running AI anomaly detection
  • Sending rapports programmes

Option 1 — CLI command (VPS / Dedicated):

crontab -e

Add this line:

* * * * * cd /var/www/feedbackpulse-saas && php artisan schedule:run >> /dev/null 2>&1

Option 2 — URL/wget (Shared Hosting):

If your hosting panel only supports URL-based cron, use the web cron endpoint (the CRON_TOKEN is auto-generated during installation and shown on the completion page):

wget -q -O /dev/null "https://yourdomain.com/cron/run?token=YOUR_CRON_TOKEN"

Astuce : The installer completion page shows both options with your actual server path and token pre-filled. Copy them from there!

For more details, see Cron Jobs & Queue Workers.


Step 7: Configure SSL (HTTPS)

HTTPS is strongly recommended for security, especially since FeedbackPulse handles authentication and payment data.

Using Let's Encrypt (Free)

# Install Certbot
sudo apt install certbot python3-certbot-nginx # for Nginx
# OR
sudo apt install certbot python3-certbot-apache # for Apache

# Get certificate
sudo certbot --nginx -d yourdomain.com # for Nginx
# OR
sudo certbot --apache -d yourdomain.com # for Apache

Certbot will automatically configure your web server for HTTPS and set up auto-renewal.

For more details, see SSL Certificates.


Step 8: Verify the Installation

Run through this checklist:

CheckHowExpected Result
Landing page loadsVisit https://yourdomain.comSee the page d'accueil
Login worksVisit https://yourdomain.com/loginConnectez-vous with superadmin credentials
Admin panelVisit https://yourdomain.com/admin/dashboardSee the admin dashboard
Storage linkVisit https://yourdomain.com/storage/No 404 error
Health checkVisit https://yourdomain.com/upSee "OK" text
Cron runningCheck Admin → ParametresNo cron warnings
Email worksAdmin → Parametres → Email → Send TestReceive test email

Post-Installation Steps

After installation is complete:

  1. Review plans d'abonnementAdmin → Plans (edit pricing, limits, features)
  2. Configure passerelles de paiementAdmin → Parametres → Payments (Stripe/PayPal Cles API)
  3. Customize the page d'accueilAdmin → Landing Page
  4. Test email deliveryAdmin → Parametres → Email → Send Test Email
  5. Set up wildcard DNS (optional) — for tenant subdomains. See Wildcard DNS Setup.
  6. Create your first tenant — Register at /register in an incognito window

Installation Depannage

IssueSolution
Blank white pageCheck storage/logs/laravel.log for errors. Usually a permissions issue.
500 Server ErrorEnable debug mode temporarily: set APP_DEBUG=true in .env, then check the error.
"Class not found"Ensure the vendor/ directory is present and intact. Re-upload it from the downloaded package if needed.
Base de Donnees connection refusedVerify credentials, ensure MySQL is running, check if localhost vs 127.0.0.1 matters.
Installer not loadingMake sure the web root points to public/ directory.
CSS/JS not loadingClear browser cache. If images are missing, the storage fallback handles it automatically on hebergement mutualise. On VPS, visit /update as superadmin to re-create the symlink.
Permission deniedRun the chown and chmod commands from Step 2 again.

For more, see Depannage.


Etapes Suivantes