#!/bin/bash # 检查是否以 root 用户运行 if [ "$(id -u)" -ne 0 ]; then echo "请以 root 用户运行此脚本" exit 1 fi # 系统检测,确定使用的包管理工具 if [ -f /etc/debian_version ]; then # Ubuntu / Debian 系统 PKG_MANAGER="apt-get" elif [ -f /etc/redhat-release ]; then # CentOS 系统 PKG_MANAGER="yum" else echo "不支持的系统" exit 1 fi # 检查 jq 是否已安装,若未安装则自动安装 if ! command -v jq &> /dev/null; then echo "jq 未安装,正在安装 jq ..." if [ "$PKG_MANAGER" == "apt-get" ]; then apt-get update && apt-get install -y jq elif [ "$PKG_MANAGER" == "yum" ]; then yum install -y jq else echo "无法安装 jq,未知的包管理器" exit 1 fi fi # 获取最新的版本号 VERSION=$(curl -s https://api.github.com/repos/perfect-panel/ppanel/releases/latest | jq -r .tag_name) if [ "$VERSION" == "null" ]; then echo "无法获取最新版本号,请检查网络或 GitHub API 状态" exit 1 fi # 安装路径 INSTALL_DIR="/opt/ppanel-server" SERVICE_NAME="ppanel" # 下载并解压二进制文件 echo "开始下载 ppanel 二进制文件,版本:$VERSION ..." wget https://github.com/perfect-panel/ppanel/releases/download/$VERSION/ppanel-server-linux-amd64.tar.gz -O /tmp/ppanel-server-linux-amd64.tar.gz # 创建安装目录 if [ ! -d "$INSTALL_DIR" ]; then mkdir -p "$INSTALL_DIR" fi # 解压文件到安装目录 echo "解压文件到 $INSTALL_DIR ..." tar -zxvf /tmp/ppanel-server-linux-amd64.tar.gz -C "$INSTALL_DIR" --strip-components=1 # 给二进制文件赋予执行权限 chmod +x "$INSTALL_DIR/ppanel-server" # 创建 systemd 服务文件 echo "创建 systemd 服务文件 ..." cat > /etc/systemd/system/$SERVICE_NAME.service <