Руководство по установке
This is the complete, step-by-step installation guide for FeedbackPulse SaaS. Follow every step carefully.
Pre-Установка Checklist
Before you begin, make sure you have:
- A server meeting all requirements
- Доменное имя, указывающее на ваш сервер'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
Option A: Using SSH (Recommended)
# 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
- Connect to your server using FileZilla, WinSCP, or similar
- Перейдите к your web directory (usually
/var/www/or/home/user/public_html/) - Upload the entire extracted
feedbackpulse-saasfolder - Make sure the
public/subdirectory is accessible
Option C: Using cPanel File Manager
- Войдите to cPanel
- Open File Manager → navigate to
public_html(or a subdirectory) - Upload the ZIP file
- Extract it in place
- Важно: You'll need to set the document root to the
public/folder (see Apache Настройка)
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:
- Apache Настройка
- Nginx Настройка
- Shared Hosting (cPanel, Plesk, DirectAdmin) — if you're on виртуальный хостинг, follow this guide instead!
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
Step 4: Storage Symlink (Automatic)
The веб-установщик 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
Откройте браузер 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
- Введите ваш 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: Требования Check
- The installer automatically checks:
- Vendor dependencies (
vendor/autoload.phpexists) - PHP version (8.2+)
- Required PHP extensions
- Directory permissions (storage, bootstrap/cache)
- Hosting environment (detects виртуальный хостинг, shows compatibility info)
- Vendor dependencies (
- Fix any failed items before proceeding
Step 3: База данных Setup
- Введите ваш database credentials:
- Host:
127.0.0.1(orlocalhost) - Port:
3306 - База данных name:
feedbackpulse(create this first!) - Username: your database username
- Password: your database password
- Host:
- 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 Настройка
- Введите ваш SMTP details:
- Host: e.g.,
smtp.gmail.com - Port:
587(TLS) or465(SSL) - Username: your SMTP username
- Password: your SMTP password or app password
- Encryption: TLS (recommended)
- From Address:
[email protected]
- Host: e.g.,
- You can skip this and configure later in Admin Настройки
Completion
- Switches session and cache drivers to
databasefor production - Generates a
CRON_TOKENfor the web-based cron endpoint - Creates a
storage/installed.lockfile (prevents re-running) - Shows a success page with cron-задача setup instructions (both CLI and URL options) and next steps
Step 6: Set Up the Cron Job
FeedbackPulse needs a cron-задача to run scheduled tasks. This is essential for:
- Sending дайджест emails (daily/weekly)
- Processing trial expirations
- Enforcing хранение данных policies
- Sending usage alerts
- Running AI anomaly detection
- Sending запланированные отчёты
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"
Совет: 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 Установка
Run through this checklist:
| Check | How | Expected Result |
|---|---|---|
| Landing page loads | Visit https://yourdomain.com | See the лендинг |
| Login works | Visit https://yourdomain.com/login | Войдите with superadmin credentials |
| Admin panel | Visit https://yourdomain.com/admin/dashboard | See the admin dashboard |
| Storage link | Visit https://yourdomain.com/storage/ | No 404 error |
| Health check | Visit https://yourdomain.com/up | See "OK" text |
| Cron running | Check Admin → Настройки | No cron warnings |
| Email works | Admin → Настройки → Email → Send Test | Receive test email |
Post-Установка Steps
After installation is complete:
- Review тарифные планы —
Admin → Plans(edit pricing, limits, features) - Configure платёжные шлюзы —
Admin → Настройки → Payments(Stripe/PayPal Ключи API) - Customize the лендинг —
Admin → Landing Page - Test email delivery —
Admin → Настройки → Email → Send Test Email - Set up wildcard DNS (optional) — for tenant subdomains. See Wildcard DNS Setup.
- Create your first tenant — Register at
/registerin an incognito window
Установка Устранение неполадок
| Issue | Solution |
|---|---|
| Blank white page | Check storage/logs/laravel.log for errors. Usually a permissions issue. |
| 500 Server Error | Enable 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. |
| База данных connection refused | Verify credentials, ensure MySQL is running, check if localhost vs 127.0.0.1 matters. |
| Installer not loading | Make sure the web root points to public/ directory. |
| CSS/JS not loading | Clear browser cache. If images are missing, the storage fallback handles it automatically on виртуальный хостинг. On VPS, visit /update as superadmin to re-create the symlink. |
| Permission denied | Run the chown and chmod commands from Step 2 again. |
For more, see Устранение неполадок.
Следующие шаги
- Web Installer Walkthrough — detailed installer screenshots
- Apache Настройка — Apache virtual host setup
- Nginx Настройка — Nginx server block setup
- Настройка — fine-tune your
.env