#!/usr/bin/env bash # ============================================================ # 酷冰甲官网 - 一键部署脚本(上传文件后运行一次) # 用法: # bash deploy.sh # 文件模式(默认,无需数据库) # DB=1 bash deploy.sh # 先改好 config/config.php 的 mysql 段再跑 # ============================================================ set -e echo "==> 检测 PHP 环境 ..." # 优先用 PATH 里的 php;找不到时自动探测宝塔等常见安装路径 PHP_BIN="$(command -v php || true)" if [ -z "$PHP_BIN" ]; then for p in /www/server/php/74/bin/php /www/server/php/80/bin/php \ /www/server/php/81/bin/php /www/server/php/82/bin/php \ /www/server/php/83/bin/php /usr/local/php/bin/php \ /usr/bin/php7.4 /usr/bin/php; do if [ -x "$p" ]; then PHP_BIN="$p"; break; fi done fi if [ -z "$PHP_BIN" ]; then echo "✗ 未找到 php 命令,请先安装 PHP 7.4+ 并将其加入 PATH" exit 1 fi "$PHP_BIN" -v | head -1 echo "==> 设置目录写权限 ..." # 关键点:宝塔/虚拟主机上 PHP 进程通常以 www 用户运行, # 上传后的文件若归 root,则 www 无写权限,后台保存会被静默丢弃。 # 这里把数据目录与生成 CSS 的目录一并 chown 给 www(仅 root 可执行 chown)。 if [ "$(id -u)" -eq 0 ]; then chown -R www:www storage 2>/dev/null || true chown -R www:www public/assets/css 2>/dev/null || true echo " 已将 storage / public/assets/css 属主改为 www" else echo " 当前非 root,跳过 chown(如保存失败请手动: chown -R www:www storage public/assets/css)" fi chmod -R 755 storage 2>/dev/null || true chmod -R 755 storage/data 2>/dev/null || true chmod -R 755 public/assets 2>/dev/null || true chmod -R 755 public/assets/css 2>/dev/null || true echo "==> 初始化数据 (install/install.php) ..." "$PHP_BIN" install/install.php echo "" echo "✓ 部署完成!" echo " 前台: http://你的域名/" echo " 后台: http://你的域名/admin (默认账号 admin / admin888)" echo "" echo "安全建议(生产环境务必执行):" echo " 1) 部署成功后删除安装目录: rm -rf install" echo " 2) 修改后台密码: 后台 -> 设置 -> 管理员" echo " 3) 若用 MySQL: 确认 config/config.php 的 driver=mysql 且账号安全"