文档

文档

helper.sh 脚本的使用方式、运维建议与一键命令示例。

分发模型

  • 每个脚本同时提供面向人的说明页和原始文件 URL。
  • 终端自动化使用原始 URL,交接和审阅使用说明页 URL。
  • 把运维前提条件直接写在可执行命令旁边。

快速开始

helper.sh 把脚本作为纯文本文件发布,因此你可以按自己的运维规范选择在线查看、下载或直接 pipe 给 bash。

curl -fsSL helper.sh/optimize_centos7_ssh.sh | sudo bash
curl -fsSL helper.sh/centos_disable_password_ssh.sh | sudo bash
curl -fsSL helper.sh/install_openvpn_client_centos7.sh | sudo bash
curl -fsSL helper.sh/tree-to-file.sh | sh
curl -fsSL -o switch-centos7-repo.sh helper.sh/switch-centos7-repo.sh && sudo bash switch-centos7-repo.sh
curl -fsSL helper.sh/install_openvpn_client_ubuntu.sh | sudo bash
curl -fsSL helper.sh/install_docker_ubuntu_2404.sh | sudo bash
curl -fsSL helper.sh/install_nginx_base_docker.sh | sudo bash
curl -fsSL helper.sh/install_mysql57_base_docker.sh | sudo bash
curl -fsSL helper.sh/install_redis705_base_docker.sh | sudo bash
curl -fsSL helper.sh/install_php72_base_docker.sh | sudo bash
curl -fsSL helper.sh/install_workerman3524_base_docker.sh | sudo bash
curl -fsSL helper.sh/hello.sh | bash
curl -fsSL helper.sh/docker-data-move.sh | sudo bash
curl -fsSL helper.sh/install_openvpn_server_centos.sh | sudo bash
curl -fsSL helper.sh/install_bleachwrt_docker_centos7.sh | sudo bash -s -- --yes

脚本文档

可用使用说明

optimize_centos7_ssh.sh

一个面向 CentOS 7 的 SSH 登录优化脚本,会关闭反向 DNS 解析、禁用 GSSAPI 认证、固定 IPv4、校验 sshd_config,并安全重启 sshd。

centos_disable_password_ssh.sh

一个用于 CentOS SSH 加固的一键脚本,会先检查 authorized_keys 是否存在,再关闭密码登录、启用公钥认证、校验 sshd_config,并安全重载 sshd。

install_openvpn_client_centos7.sh

一个托管在 helper.sh 的 CentOS 7 OpenVPN 客户端安装脚本,会导入 EPEL GPG key、安装 OpenVPN、复制本地 client.conf 和 login.txt、部署 DNS helper,并启用 openvpn-client@client。

tree-to-file.sh

一个托管在 helper.sh 的目录结构导出脚本,用来把当前项目树写入 tree.txt;当系统没有 tree 命令时会自动尝试安装,失败则回退到内置遍历逻辑。

switch-centos7-repo.sh

一个用于 CentOS 7 切换 yum 软件源的脚本,适合在默认仓库失效、归档或访问异常时快速恢复可用源。

install_openvpn_client_ubuntu.sh

一个托管在 helper.sh 的 Ubuntu OpenVPN 客户端安装脚本,会先检查当前目录中的 client.conf 和 login.txt,再安装 OpenVPN 并启用 systemd 客户端服务。

install_docker_ubuntu_2404.sh

一个适用于 Ubuntu 24.04.4 LTS 的 Docker 与 Docker Compose 一键安装脚本,由 helper.sh 托管发布。

install_nginx_base_docker.sh

一个基于 Docker 的 Nginx 1.22.1 一键安装脚本,会准备 /data/nginx 挂载目录并启动可复用的 Web 服务。

install_mysql57_base_docker.sh

一个基于 Docker 的 MySQL 5.7 一键安装脚本,会准备 /data/mysql5.7 并启动一个宿主机挂载的数据库容器。

install_redis705_base_docker.sh

一个基于 Docker 的 Redis 7.0.5 一键安装脚本,会准备 /data/redis7.0.5 并启动一个宿主机挂载的缓存容器。

install_php72_base_docker.sh

一个基于 Docker 的 PHP 7.2 一键安装脚本,会准备 /data/php7.2 并启动一个宿主机挂载的 PHP-FPM 容器。

install_workerman3524_base_docker.sh

一个基于 Docker 的 Workerman 3.5.24 一键安装脚本,会准备 /data/workerman3.5.24 并启动一个宿主机挂载的 HTTP Worker 服务。

hello.sh

helper.sh 最早的脚本,用于验证连通性并建立 shell-first 的使用体验。

docker-data-move.sh

一个交互式迁移脚本,用于把 Docker data-root 安全迁移到更大的磁盘,并带有路径检查、备份和验证流程。

CentOS 7 OpenVPN 服务端一键安装脚本

一个适配 CentOS 7 的 OpenVPN 服务端安装脚本,支持用户名密码认证、CCD 固定 IP、ovpn-check 自检,并内置让 VPN 客户端访问 192.168.30.0/24 内网的配置。

install_bleachwrt_docker_centos7.sh

在 CentOS 7 上通过 Docker macvlan 部署 BleachWrt/OpenWrt 兼容容器,并创建宿主机访问 shim,仅用于合法局域网管理场景。

平台页面

按系统和宿主机角色浏览

如果你的搜索习惯是从 Ubuntu、CentOS、Docker 宿主机这类平台词开始,可以先进入这些平台页。

平台页面

CentOS 7 脚本

面向遗留 CentOS 7 主机的恢复型脚本,重点处理仓库失效、存储整理和可控运维。

平台页面

Ubuntu 24.04 脚本

把新开的 Ubuntu 24.04 主机整理成稳定运维基线时常用的脚本、文章和问题页。

平台页面

Docker 宿主机初始化

在部署业务容器前,先把 Docker 宿主机本身整理好的那一层,包括安装、数据目录和维护动作。

平台页面

Docker 服务栈脚本

把 Nginx、MySQL、Redis、PHP、Workerman 这些基于 Docker 部署的服务安装脚本放到同一个系统页里。

专题页面

按运维场景浏览脚本

如果你更习惯按问题和场景找方案,而不是按脚本文件名找命令,可以先看这些专题页。

专题页面

CentOS 7 运维恢复

面向仍在运行 CentOS 7 的遗留主机,集中处理 yum 源失效、镜像仓库 404、Docker 数据迁移等运维恢复场景。

专题页面

Ubuntu 24.04 部署基础

面向 Ubuntu 24.04 新主机的基础部署专题,覆盖 Docker 安装、常见运行时服务和上线前准备。

专题页面

应用主机的 Docker 基础服务

通过 helper.sh 标准化部署 Nginx、MySQL、Redis、PHP 和 Workerman 等容器化基础服务。

专题页面

OpenVPN 客户端接入与 DNS 处理

面向 Ubuntu 和 CentOS 7 主机的 OpenVPN 客户端接入专题,重点覆盖 client.conf、login.txt、DNS 脚本、systemd 服务和按需路由。

专题页面

Docker 中的遗留运行时服务

面向 PHP 7.2、Workerman 等遗留运行时的 Docker 化运维专题,重点是标准化部署、交接和恢复。

问题页面

直接进入常见问题落地页

如果用户是从问题描述开始,而不是从脚本名开始,可以先看这些页面。

问题页面

为什么 CentOS 7 的 SSH 登录很慢

最常见的根因是反向 DNS 解析、GSSAPI 认证协商,以及部分老环境里的 IPv6 回退。先把这些等待关掉,再做更深的 SSH 排查。

问题页面

为什么在 CentOS 上关闭 SSH 密码登录后就连不上了

最常见的原因是先关闭了 PasswordAuthentication,却没有先确认目标账号已经存在可用的 authorized_keys,并且没有先做一次成功的密钥登录验证。

问题页面

什么时候应该先用 hello.sh

在执行更大的安装脚本前,先用 hello.sh 做一次低风险的连通性和 shell 分发验证。

问题页面

如何用 Docker 安装 Nginx

用固定的宿主机目录拉起一套 Nginx 基础容器,让配置、日志和站点内容都可预测。

问题页面

如何用 Docker 安装 Redis 7.0.5

用统一的挂载目录部署 Redis 7.0.5,让数据和配置在容器替换后仍然保留。

问题页面

如何用 Docker 安装 PHP 7.2

把老版本 PHP 7.2 封装进可重复部署的容器布局里,让遗留代码与宿主机隔离。

问题页面

什么时候应该切换 CentOS 7 仓库源

当老旧 CentOS 7 镜像失效、超时或不再返回有效元数据时,就应该切换仓库定义。

问题页面

如何在 Linux 上导出目录树到 tree.txt

当你需要一套可复用的方法导出当前目录结构,并在缺少 tree 时自动安装它,就用 tree-to-file.sh。

问题页面

CentOS 7 yum 404 怎么修复

当 CentOS 7 默认仓库失效时,用更稳的方式恢复 yum 安装能力。

问题页面

CentOS 7 上如何迁移 Docker data-root

在根分区或 home 分区告急前,把 Docker 数据目录迁移到更大的挂载点。

问题页面

Ubuntu 24.04 如何安装 Docker

用一套一键流程处理旧包清理、官方仓库接入和 Docker Hub 可达性检查。

问题页面

为什么 OpenVPN update-resolv-conf 不生效

定位 OpenVPN 私网 DNS 不生效时最常见的几个原因:CRLF、脚本不可执行、systemd-resolved 接管等。

问题页面

如何用 Docker 安装 MySQL 5.7

在现代 Docker 宿主机上,以统一目录挂载和自动生成密码的方式运行老版本 MySQL 5.7。

问题页面

如何在 Docker 中运行 Workerman 3.5.24

在旧版 PHP 7.2 运行时之上构建可重复的 Workerman 3.5.24 镜像,并由 Docker 负责前台进程托管与重启。