文件

文件

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 負責前景程序託管與重啟。