55 lines
2.3 KiB
Bash
55 lines
2.3 KiB
Bash
#!/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 且账号安全"
|