修改文件权限:描述权限变更的原因

This commit is contained in:
2025-05-14 22:36:50 +08:00
parent e7fa464edb
commit eaba13df5b
7 changed files with 136 additions and 4 deletions
+86 -4
View File
@@ -1,18 +1,100 @@
# 检查 Nginx 是否已安装
if command -v nginx &> /dev/null; then
echo "✅ Nginx 已安装,跳过安装步骤"
else
echo "🚀 安装 Nginx"
apt install -y nginx
# 检测系统类型
if command -v apt &> /dev/null; then
# Debian/Ubuntu 系统
apt install -y nginx
elif command -v yum &> /dev/null; then
# CentOS/RHEL 系统
yum install -y nginx
elif command -v dnf &> /dev/null; then
# 较新版本的 Fedora/RHEL 系统
dnf install -y nginx
else
echo "❌ 不支持的操作系统:未找到支持的包管理器"
exit 1
fi
fi
# 函数:尝试使用指定的包管理器安装
try_install() {
local cmd=$1
if command -v "$cmd" &> /dev/null; then
echo "📦 尝试使用 $cmd 安装 snapd..."
if sudo "$cmd" install -y snapd; then
return 0
fi
fi
return 1
}
# 检查 Certbot 是否已安装
if command -v certbot &> /dev/null; then
echo "✅ Certbot 已安装,跳过安装步骤"
else
echo "🚀 安装 Certbot"
sudo apt install -y certbot
sudo apt install -y python3-certbot-nginx
# 检测系统类型
if [ -f /etc/debian_version ]; then
# Ubuntu/Debian 系统
apt install -y certbot python3-certbot-nginx
elif [ -f /etc/redhat-release ]; then
# CentOS/RHEL 系统
# 首先安装 EPEL 仓库
yum install -y epel-release
# 安装 snapd
# 检查是否已安装
if command -v snap &> /dev/null; then
echo "✅ snapd 已经安装"
exit 0
fi
echo "🔍 检测系统包管理器..."
# 尝试使用 dnf 安装
if try_install "dnf"; then
echo "✅ 使用 dnf 安装 snapd 成功"
# 尝试使用 yum 安装
elif try_install "yum"; then
echo "✅ 使用 yum 安装 snapd 成功"
# 尝试使用 apt-get 安装(适用于 Debian/Ubuntu
elif try_install "apt-get"; then
echo "✅ 使用 apt-get 安装 snapd 成功"
else
echo "❌ 无法安装 snapd,未找到支持的包管理器"
exit 1
fi
# 启用 snapd 服务
systemctl enable --now snapd.socket
# 创建符号链接
ln -s /var/lib/snapd/snap /snap
# 安装 certbot
snap install --classic certbot
# Prepare the Certbot command
sudo ln -s /snap/bin/certbot /usr/bin/certbot
else
echo "❌ 不支持的操作系统"
exit 1
fi
fi
# 验证安装
echo "🔍 验证安装"
if command -v nginx &> /dev/null && command -v certbot &> /dev/null; then
echo "✅ Nginx 和 Certbot 安装成功"
nginx -v
certbot --version
else
echo "❌ 安装验证失败"
exit 1
fi
echo "🚀 复制当前目录的配置文件到nginx配置文件目录"