修复nginx安装,尝试不用重启也能使用alist,更新文件结构
This commit is contained in:
parent
9126ea0312
commit
2ae7fcbfdb
@ -20,7 +20,6 @@ if ! command -v git &> /dev/null; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
declare path
|
declare path
|
||||||
echo "请输入脚本的安装位置"
|
echo "请输入脚本的安装位置"
|
||||||
read -p "默认 /var/script:" path
|
read -p "默认 /var/script:" path
|
||||||
@ -69,18 +68,22 @@ update_alias() {
|
|||||||
if [[ -e "$file" ]]; then
|
if [[ -e "$file" ]]; then
|
||||||
sed -i '/alias tool.*/d' "$file"
|
sed -i '/alias tool.*/d' "$file"
|
||||||
echo "alias tool='$path/linuxtool/run.sh'" >> "$file"
|
echo "alias tool='$path/linuxtool/run.sh'" >> "$file"
|
||||||
source "$file" &> /dev/null
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
shopt -s expand_aliases
|
||||||
|
alias tool="$path/linuxtool/run.sh"
|
||||||
|
export -f tool 2>/dev/null || true
|
||||||
|
|
||||||
for file in "${HOME}/.bashrc" "${HOME}/.profile" "${HOME}/.zshrc" "/etc/profile"; do
|
for file in "${HOME}/.bashrc" "${HOME}/.profile" "${HOME}/.zshrc" "/etc/profile"; do
|
||||||
update_alias "$file"
|
update_alias "$file"
|
||||||
done
|
done
|
||||||
|
|
||||||
alias tool="$path/linuxtool/run.sh"
|
|
||||||
|
|
||||||
|
|
||||||
echo "工具箱已经安装成功"
|
echo "工具箱已经安装成功"
|
||||||
echo "位置:${path}/linuxtool"
|
echo "位置:${path}/linuxtool"
|
||||||
echo "命令:tool"
|
echo "命令:tool"
|
||||||
kill $PPID &> /dev/null
|
|
||||||
|
|
||||||
|
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
|
||||||
|
kill $PPID &> /dev/null
|
||||||
|
fi
|
@ -4,30 +4,34 @@ read -p "请输入要绑定的域名(多个用空格隔开):" domain_names
|
|||||||
declare ssl_cert_path
|
declare ssl_cert_path
|
||||||
declare ssl_key_path
|
declare ssl_key_path
|
||||||
declare primary_domain=$(echo "${domain_names}" | awk '{print $1}')
|
declare primary_domain=$(echo "${domain_names}" | awk '{print $1}')
|
||||||
|
declare folder_domain
|
||||||
echo "SSL证书选择"
|
echo "SSL证书选择"
|
||||||
echo "1.自动申请(默认)"
|
echo "1.自动申请(默认)"
|
||||||
echo "2.手动输入"
|
echo "2.手动输入"
|
||||||
read -p "请输入选择:" user_choice
|
read -p "请输入选择:" user_choice
|
||||||
if [[ $user_choice == 2 ]]; then
|
if [[ $user_choice == 2 ]]; then
|
||||||
echo "证书路径, 默认 ${HOME}/.acme.sh/${primary_domain}_ecc/fullchain.cer"
|
|
||||||
|
folder_domain=$(ls ${HOME}/.acme.sh/ | grep "^${primary_domain}" | head -n1)
|
||||||
|
echo "证书路径, 默认 ${HOME}/.acme.sh/${folder_domain:-"${primary_domain}_ecc"}/fullchain.cer"
|
||||||
read -p "请输入证书地址:" ssl_cert_path
|
read -p "请输入证书地址:" ssl_cert_path
|
||||||
if [[ -z $ssl_cert_path ]];then
|
if [[ -z $ssl_cert_path ]];then
|
||||||
ssl_cert_path="${HOME}/.acme.sh/${primary_domain}_ecc/fullchain.cer"
|
ssl_cert_path="${HOME}/.acme.sh/${folder_domain:-"${primary_domain}_ecc"}/fullchain.cer"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
echo "密钥路径, 默认 ${HOME}/.acme.sh/${primary_domain}_ecc/${primary_domain}.key"
|
echo "密钥路径, 默认 ${HOME}/.acme.sh/${folder_domain:-"${primary_domain}_ecc"}/${primary_domain}.key"
|
||||||
|
|
||||||
read -p "请输入密钥地址:" ssl_key_path
|
read -p "请输入密钥地址:" ssl_key_path
|
||||||
if [[ -z $ssl_key_path ]];then
|
if [[ -z $ssl_key_path ]];then
|
||||||
ssl_key_path="${HOME}/.acme.sh/${primary_domain}_ecc/${primary_domain}.key"
|
ssl_key_path="${HOME}/.acme.sh/${folder_domain:-"${primary_domain}_ecc"}/${primary_domain}.key"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "1.nginx(默认)"
|
echo "1.nginx(默认)"
|
||||||
read -p "请选择:" user_choice
|
read -p "请选择:" user_choice
|
||||||
bash "$(dirname $(dirname $0))/acme/test.sh"
|
bash "$(dirname $(dirname $0))/acme/test.sh"
|
||||||
bash "$(dirname $(dirname $0))/acme/apply.sh" "nginx" "${domain_names}"
|
bash "$(dirname $(dirname $0))/acme/apply.sh" "nginx" "${domain_names}"
|
||||||
ssl_cert_path="${HOME}/.acme.sh/${primary_domain}_ecc/fullchain.cer"
|
folder_domain=$(ls ${HOME}/.acme.sh/ | grep "${primary_domain}")
|
||||||
ssl_key_path="${HOME}/.acme.sh/${primary_domain}_ecc/${primary_domain}.key"
|
ssl_cert_path="${HOME}/.acme.sh/${folder_domain}/fullchain.cer"
|
||||||
|
ssl_key_path="${HOME}/.acme.sh/${folder_domain}/${primary_domain}.key"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
declare config_file_name
|
declare config_file_name
|
||||||
|
123
README.md
123
README.md
@ -1,72 +1,77 @@
|
|||||||
## 功能概述
|
# 🛠 Linux 服务器管理工具箱
|
||||||
|
|
||||||
### 1. Automation(自动化脚本管理)
|
一个功能强大的 Linux 服务器运维管理工具集,提供图形化菜单界面,简化各类运维任务。
|
||||||
- **作用**:管理和执行各种自动化任务。
|
|
||||||
- **主要文件**:
|
|
||||||
- `manage.sh`:用户管理脚本。
|
|
||||||
- `acme_update.sh`:更新 ACME 脚本和续订证书。
|
|
||||||
- `backup.sh`:数据备份,支持多种备份方式。
|
|
||||||
- `menu.sh`:交互式菜单,选择执行功能。
|
|
||||||
- `up-docker_compose.sh`:更新 Docker Compose 服务。
|
|
||||||
- `update.sh`:自动更新系统包管理器配置。
|
|
||||||
|
|
||||||
### 2. Docker(Docker 相关功能)
|
## ✨ 主要特性
|
||||||
- **作用**:Docker 功能和服务管理。
|
|
||||||
- **主要文件**:
|
|
||||||
- `image.sh`:管理 Docker 镜像。
|
|
||||||
- `manage.sh`:Docker 服务管理。
|
|
||||||
- `source.sh`:配置 Docker 镜像源。
|
|
||||||
- `test.sh`:检查 Docker 安装。
|
|
||||||
- `alist.sh`、`gitea.sh`、`nginx-proxy-manager.sh`、`safeline.sh`、`siyuan.sh`、`typecho.sh`、`vaultwarden.sh`、`xboard.sh`:安装和配置不同 Docker 应用。
|
|
||||||
|
|
||||||
### 3. Manage(系统管理)
|
- 🎯 智能环境检测,自动安装依赖
|
||||||
- **作用**:系统管理相关功能。
|
- 🎨 中文交互式菜单界面
|
||||||
- **主要文件**:
|
- 📦 模块化设计,功能可扩展
|
||||||
- `install.sh`:安装和配置系统工具。
|
- 🔒 安全可靠,支持权限控制
|
||||||
- `unInstall.sh`:卸载系统工具和清理配置。
|
- 🚀 一键部署常用服务
|
||||||
|
|
||||||
### 4. Other(其他功能)
|
## 🔧 核心功能
|
||||||
- **作用**:其他实用功能。
|
|
||||||
- **主要文件**:
|
|
||||||
- `bbr_open.sh`:开启 BBR 加速。
|
|
||||||
- `language.sh`:更改系统语言设置。
|
|
||||||
- `reinstall.sh`:重新安装系统工具。
|
|
||||||
|
|
||||||
### 5. User(用户管理)
|
### 系统管理
|
||||||
- **作用**:用户和权限管理功能。
|
- 用户账号管理
|
||||||
- **主要文件**:
|
- SSH 安全配置
|
||||||
- `key.sh`:管理 SSH 密钥。
|
- 系统重装
|
||||||
- `manage.sh`:用户管理功能。
|
- BBR 网络加速
|
||||||
- `ssh.sh`:管理和配置 SSH 服务。
|
- 语言环境设置
|
||||||
- `test.sh`:检查 SSH 客户端安装。
|
|
||||||
|
|
||||||
### 6. Web(网页相关功能)
|
### Docker 应用
|
||||||
- **作用**:网页相关功能。
|
一键部署以下应用:
|
||||||
- **主要文件**:
|
- Alist (文件管理)
|
||||||
- `acme`:SSL 证书管理脚本。
|
- Gitea (Git 服务器)
|
||||||
- `apply.sh`:申请 SSL 证书。
|
- Nginx Proxy Manager (反向代理)
|
||||||
- `manage.sh`:管理已申请证书。
|
- Safeline (WAF 防火墙)
|
||||||
- `test.sh`:测试 SSL 证书有效性。
|
- Siyuan (知识管理)
|
||||||
- `nginx`:Nginx 配置相关脚本。
|
- Typecho (博客系统)
|
||||||
- `install.sh`:安装 Nginx。
|
- Vaultwarden (密码管理)
|
||||||
- `manage.sh`:管理 Nginx 配置。
|
- XBoard (代理面板)
|
||||||
- `test.sh`:测试 Nginx 是否正常运行。
|
|
||||||
|
|
||||||
### 7. Sources.sh(源管理)
|
### SSL 证书
|
||||||
- **作用**:管理软件源配置。
|
- 自动申请/续期
|
||||||
|
- HTTP/DNS 验证
|
||||||
|
- Cloudflare API 集成
|
||||||
|
|
||||||
### 8. VPN(VPN 管理)
|
### Web 服务
|
||||||
- **作用**:VPN 服务的安装
|
- Nginx 配置管理
|
||||||
|
- 站点管理
|
||||||
|
- 反向代理设置
|
||||||
|
|
||||||
### 9. Software(软件管理)
|
### 自动化任务
|
||||||
- **作用**:安装常用软件包。
|
- 系统更新
|
||||||
|
- 数据备份(支持网盘)
|
||||||
|
- Docker 服务更新
|
||||||
|
- 证书自动续期
|
||||||
|
|
||||||
|
### 软件源管理
|
||||||
|
- 智能切换镜像源
|
||||||
|
- 自动更新软件源
|
||||||
|
|
||||||
### 菜单机制
|
## 💻 安装方法
|
||||||
该系统通过菜单提供用户友好的界面,允许用户选择可用脚本执行。菜单机制包括以下两个子功能:
|
|
||||||
|
|
||||||
#### 1. test 菜单
|
### 快速安装
|
||||||
- **功能**:执行特定测试脚本,验证系统功能正常。
|
```bash
|
||||||
|
wget -O install.sh https://raw.githubusercontent.com/lsy2246/linuxtool/main/install.sh && bash install.sh
|
||||||
|
```
|
||||||
|
|
||||||
#### 2. menu 菜单
|
### 使用说明
|
||||||
- **功能**:用户友好的界面,选择可用脚本执行。
|
1. 运行安装脚本
|
||||||
|
2. 选择安装位置(默认 /var/script)
|
||||||
|
3. 重新连接终端
|
||||||
|
4. 输入 `tool` 启动工具箱
|
||||||
|
|
||||||
|
## 🔍 系统要求
|
||||||
|
|
||||||
|
- 系统: Debian/Ubuntu/Arch Linux
|
||||||
|
- 权限: root 权限
|
||||||
|
- 内核: Linux 5.0+
|
||||||
|
- 工具: curl/wget
|
||||||
|
|
||||||
|
## 📝 问题反馈
|
||||||
|
|
||||||
|
如有问题或建议:
|
||||||
|
- 提交 Issue
|
||||||
|
- 关注公众号: lsy22
|
||||||
|
Loading…
Reference in New Issue
Block a user