修复nginx安装,尝试不用重启也能使用alist,更新文件结构

This commit is contained in:
lsy 2024-11-22 20:10:11 +08:00
parent 9126ea0312
commit 2ae7fcbfdb
16 changed files with 84 additions and 72 deletions

View File

@ -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"
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
kill $PPID &> /dev/null kill $PPID &> /dev/null
fi

View File

@ -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
View File

@ -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. DockerDocker 相关功能) ## ✨ 主要特性
- **作用**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. VPNVPN 管理) ### 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