跳到主要内容

Web 安装程序详解

FeedbackPulse SaaS 内置了精美的浏览器安装程序,无需命令行(初次文件上传和 composer install 之后)。


访问安装程序

在浏览器中访问:

https://yourdomain.com/install

看不到安装程序? 请确认:

  • Web 服务器指向 public/ 目录
  • Apache 已启用 mod_rewrite(或 Nginx 配置了正确的 try_files
  • 不存在 storage/installed.lock 文件(首次安装后此文件会阻止安装程序再次运行)

第 1 步:欢迎与许可证验证

第一个页面欢迎您并要求输入 Envato/CodeCanyon 购买码

在哪里找到购买码:

  1. 登录 CodeCanyon
  2. 进入 下载 → 找到 FeedbackPulse SaaS
  3. 点击 下载许可证证书与购买码
  4. 购买码格式如:a1b2c3d4-e5f6-7890-abcd-ef1234567890

此步骤的作用:

  • 通过 Envato API 验证您的许可证
  • 确保您持有合法副本
  • 解锁安装程序的后续步骤

第 2 步:环境检查

安装程序会自动扫描您的服务器并检查:

PHP 版本

  • 需要 PHP 8.4 或更高版本
  • 显示您当前的 PHP 版本

依赖项

  • 检查 vendor/autoload.php 是否存在(Composer 依赖项必须已安装或已上传)

PHP 扩展

以下扩展会被检查:

  • pdo_mysql — 数据库连接
  • mbstring — 字符串处理
  • openssl — 加密
  • tokenizer — 代码解析
  • xml — XML 处理
  • ctype — 字符验证
  • json — JSON 处理
  • bcmath — 数学运算
  • fileinfo — 文件类型检测
  • curl — API 调用

目录权限

  • storage/ — 必须可写
  • bootstrap/cache/ — 必须可写

结果显示

  • 绿色勾号 = 要求已满足
  • 红色叉号 = 要求未满足(必须修复后才能继续)

修复检查失败项:

# 安装缺失的 PHP 扩展(Ubuntu)
sudo apt install php8.4-mysql php8.4-mbstring php8.4-xml php8.4-bcmath php8.4-curl php8.4-gd php8.4-zip

# 修复权限
sudo chmod -R 775 storage bootstrap/cache
sudo chown -R www-data:www-data storage bootstrap/cache

# 重启 PHP
sudo systemctl restart php8.4-fpm

第 3 步:数据库配置

输入您的 MySQL/MariaDB 连接信息:

字段示例备注
数据库主机127.0.0.1为确保可靠性,使用 127.0.0.1 而非 localhost
数据库端口3306默认 MySQL 端口
数据库名feedbackpulse必须提前创建!
数据库用户名feedbackpulse_user需要对数据库拥有完整权限
数据库密码your_secure_password用户的密码

此步骤之前

您必须提前创建数据库:

-- 登录 MySQL
mysql -u root -p

-- 创建数据库
CREATE DATABASE feedbackpulse CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- 创建专用用户(推荐)
CREATE USER 'feedbackpulse_user'@'localhost' IDENTIFIED BY 'your_secure_password';
GRANT ALL PRIVILEGES ON feedbackpulse.* TO 'feedbackpulse_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

点击"配置数据库"后会发生什么

  1. 安装程序测试连接
  2. 将数据库凭据保存到 .env 文件
  3. 运行所有数据库迁移(创建约 30 张数据表)
  4. 填充默认数据:
    • 3 个默认订阅套餐(入门版、成长版、专业版)
    • 默认平台设置
  5. 显示成功消息

注意: 安装过程中 Session 和缓存驱动保持为 file 以确保稳定性。安装完成步骤时会自动切换为 database

此步骤根据服务器性能可能需要 10-30 秒。


第 4 步:管理员账户

创建您的超级管理员账户:

字段示例备注
全名张三您的显示名称
邮箱地址[email protected]用于登录和接收通知
密码(强密码)最少 8 位,请使用强密码!
确认密码(必须一致)必须与密码相同

此步骤会执行的操作

  • 创建 role = superadmin 的用户账户
  • 这是唯一自动创建的超级管理员账户
  • 您将使用此账户在 /login 登录并访问 /admin/dashboard

安全提示: 使用唯一的强密码,后续可在设置中启用双因素认证(2FA)。


第 5 步:邮件配置

配置发送事务性邮件的 SMTP 信息:

字段示例备注
SMTP 主机smtp.gmail.com您的邮件服务商 SMTP 服务器
SMTP 端口587TLS 使用 587,SSL 使用 465
SMTP 用户名[email protected]通常是您的邮箱地址
SMTP 密码your_app_password推荐使用应用专用密码
加密方式tlsTLS(推荐)或 SSL
发件地址[email protected]外发邮件的"发件人"地址
发件人名称FeedbackPulse外发邮件的"发件人"名称

常用 SMTP 服务商

服务商主机端口加密备注
Gmailsmtp.gmail.com587TLS需要应用专用密码(非普通密码)
Mailgunsmtp.mailgun.org587TLS适合事务性邮件
Amazon SESemail-smtp.{region}.amazonaws.com587TLS大规模使用成本效益高
SendGridsmtp.sendgrid.net587TLS用户名填 apikey
Postmarksmtp.postmarkapp.com587TLS最佳送达率
Mailtrapsandbox.smtp.mailtrap.io587TLS仅用于测试!

现在无法配置邮件? 可以跳过此步骤,稍后在 管理员 → 设置 → 邮件 中配置。平台不依赖邮件也可运行,但邀请、摘要和密码重置等功能将无法使用。


第 6 步:安装完成!

您将看到成功页面,包含以下信息:

  • 数据库已配置并完成迁移
  • 管理员账户已创建
  • 邮件已配置
  • installed.lock 文件已创建
  • Session 和缓存驱动已切换为 database
  • Web Cron 的 CRON_TOKEN 已自动生成
  • 共享主机提示(如果软链接无法创建)

Cron 任务说明(显示在完成页面)

完成页面会显示两种 Cron 配置方案,附带可复制粘贴的命令:

  1. CLI 命令 — 用于 VPS/独立服务器:

    * * * * * cd /path/to/project && php artisan schedule:run >> /dev/null 2>&1
  2. URL/wget — 用于共享主机(使用自动生成的 CRON_TOKEN):

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

请保存好这些命令! 离开页面前请从完成页面复制 Cron 命令。您也可以在 .env 文件中找到 CRON_TOKEN

installed.lock 文件

安装程序创建 storage/installed.lock 文件,防止任何人重新运行安装程序,这是一项安全措施。

重新运行安装程序(如全新安装),请删除此文件:

rm storage/installed.lock

然后再次访问 /install


安装后检查清单

安装程序完成后:

  • 使用完成页面上显示的说明配置 Cron 任务(参阅 Cron 任务与队列工作进程
  • 使用超级管理员凭据登录 https://yourdomain.com/login
  • 访问 管理员 → 套餐 — 查看并自定义订阅套餐
  • 访问 管理员 → 设置 → 付款 — 接入 Stripe/PayPal
  • 访问 管理员 → 设置 → 邮件 — 发送测试邮件
  • 访问 管理员 → 落地页 — 自定义公开首页
  • 配置 SSL(参阅 SSL 证书
  • 可选配置通配符 DNS(参阅通配符 DNS 配置

下一步