文件

文件

helper.sh 腳本的使用方式、維運建議與一鍵命令範例。

分發模型

  • 每個腳本同時提供面向人的說明頁與原始檔案 URL。
  • 終端自動化使用原始 URL,交接與審閱使用說明頁 URL。
  • 把維運前提條件直接寫在可執行命令旁邊。

快速開始

helper.sh 將腳本作為純文字檔案發布,因此你可以依自己的維運規範選擇線上查看、下載或直接 pipe 給 bash。

curl -fL 'https://www.helper.sh/install_redis705_base_docker.sh' -o './install_redis705_base_docker.sh'
curl -fL 'https://www.helper.sh/install_workerman3524_base_docker.sh' -o './install_workerman3524_base_docker.sh'
curl -fL 'https://www.helper.sh/hello.sh' -o './hello.sh'
curl -fL 'https://www.helper.sh/docker-data-move.sh' -o './docker-data-move.sh'
curl -fL 'https://www.helper.sh/install_docker_ubuntu_2404.sh' -o './install_docker_ubuntu_2404.sh'
curl -fL 'https://www.helper.sh/install_nginx_base_docker.sh' -o './install_nginx_base_docker.sh'
curl -fL 'https://www.helper.sh/install_mysql57_base_docker.sh' -o './install_mysql57_base_docker.sh'
curl -fL 'https://www.helper.sh/install_php72_base_docker.sh' -o './install_php72_base_docker.sh'
curl -fL 'https://www.helper.sh/install_openvpn_server_centos.sh' -o './install_openvpn_server_centos.sh'
curl -fL 'https://www.helper.sh/install_openvpn_client_ubuntu.sh' -o './install_openvpn_client_ubuntu.sh'
curl -fL 'https://www.helper.sh/install_openvpn_client_centos7.sh' -o './install_openvpn_client_centos7.sh'
curl -fL 'https://www.helper.sh/install_openvpn_client_anolis8.sh' -o './install_openvpn_client_anolis8.sh'
curl -fL 'https://www.helper.sh/disable_openvpn_client_dns.sh' -o './disable_openvpn_client_dns.sh'
curl -fL 'https://www.helper.sh/switch-centos7-repo.sh' -o './switch-centos7-repo.sh'
curl -fL 'https://www.helper.sh/optimize_centos7_ssh.sh' -o './optimize_centos7_ssh.sh'
curl -fL 'https://www.helper.sh/centos_disable_password_ssh.sh' -o './centos_disable_password_ssh.sh'
curl -fL 'https://www.helper.sh/install_bleachwrt_docker_centos7.sh' -o './install_bleachwrt_docker_centos7.sh'
curl -fL 'https://www.helper.sh/tree-to-file.sh' -o './tree-to-file.sh'

腳本文件

可用使用說明

install_redis705_base_docker.sh

一個基於 Docker 的 Redis 7.0.5 一鍵安裝腳本,會準備 /data/redis7.0.5 並啟動一個宿主機掛載的快取容器。

install_workerman3524_base_docker.sh

舊版 Workerman/PHP 7.2 建置範例:應用程式檔案複製進映像,只有 logs 是 bind mount;修改應用後需重新建置並取代容器。

hello.sh

輸出 uname 與固定提示的小型 Bash 分發檢查腳本。

docker-data-move.sh

一個互動式遷移腳本,用於將 Docker data-root 安全遷移到更大的磁碟,並帶有路徑檢查、備份與驗證流程。

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 並建立主機持久化目錄的腳本,會映射 80/443 埠;預設設定僅提供 HTTP。

install_mysql57_base_docker.sh

一個基於 Docker 的 MySQL 5.7 一鍵安裝腳本,會準備 /data/mysql5.7 並啟動一個宿主機掛載的資料庫容器。

install_php72_base_docker.sh

一個基於 Docker 的 PHP 7.2 一鍵安裝腳本,會準備 /data/php7.2 並啟動一個宿主機掛載的 PHP-FPM 容器。

CentOS 7 OpenVPN 服務端一鍵安裝腳本

CentOS 7 專用 OpenVPN 伺服器範例,包含固定區域網路路由、使用者名稱/密碼驗證及防火牆變更。

install_openvpn_client_ubuntu.sh

一個託管在 helper.sh 的 Ubuntu OpenVPN 客戶端安裝腳本,會先檢查目前目錄中的 client.conf 和 login.txt,再安裝 OpenVPN 並啟用 systemd 客戶端服務。

install_openvpn_client_centos7.sh

CentOS 7 OpenVPN 用戶端設定,可使用本機驗證檔案與 DNS 鉤子;安裝套件不代表通道已連通。

install_openvpn_client_anolis8.sh

Anolis OS 8 OpenVPN 用戶端設定,可使用本機驗證檔案與 DNS 鉤子;安裝套件不代表通道已連通。

disable_openvpn_client_dns.sh

註解所選 OpenVPN 設定中的相符 DNS 鉤子並嘗試重新啟動;不會自動還原既有解析器狀態。

switch-centos7-repo.sh

一個用於 CentOS 7 切換 yum 軟體源的腳本,適合在預設倉庫失效、歸檔或訪問異常時快速恢復可用來源。

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_bleachwrt_docker_centos7.sh

遺留 CentOS 7 區域網路實驗範例:使用特權 OpenWrt 相容容器與 macvlan,需先審閱主機層級網路變更。

tree-to-file.sh

一個託管在 helper.sh 的目錄結構匯出腳本,用來把目前專案樹寫入 tree.txt;當系統沒有 tree 命令時會自動嘗試安裝,失敗則回退到內建遍歷邏輯。

平台頁面

按系統與宿主機角色瀏覽

如果你的搜尋習慣是從 Ubuntu、CentOS、Docker 宿主機這類平台詞開始,可以先進入這些平台頁。

平台頁面

Ubuntu 24.04 腳本

選擇 Docker/OpenVPN 安裝器前核對 Ubuntu 版本、systemd 與軟體庫存取條件。

平台頁面

Anolis OS 8 腳本

檢查 Anolis 8/dnf OpenVPN 分支及通用維護前提,不僅憑 RHEL 系標籤推定相容。

平台頁面

Docker 宿主機初始化

在部署業務容器前,先把 Docker 宿主機本身整理好的那一層,包括安裝、資料目錄和維護動作。

平台頁面

Docker 服務棧腳本

彙整 Docker 上的 Nginx、MySQL、Redis、PHP 與 Workerman 安裝腳本。固定版本中包含已結束支援的軟體;請將這些頁面用於相容性工作,並在新部署前檢查升級方案。

平台頁面

CentOS 7 腳本

面向既有 CentOS Linux 7 主機的復原腳本。CentOS Linux 7 已於 2024 年 6 月 30 日結束支援;這些腳本僅用於相容、復原或遷移準備,不應作為新系統基準。

專題頁面

按維運場景瀏覽腳本

如果你更習慣按問題和場景找方案,而不是按腳本檔名找命令,可以先看這些專題頁。

專題頁面

CentOS 7:選擇復原工作

變更已結束支援的主機前,先區分軟體庫故障、SSH 存取問題與 Docker 儲存壓力。

專題頁面

Ubuntu:準備 Docker 或 VPN 接入

區分主機安裝、用戶端接入與既有 Docker 服務,不把舊應用映像作為新架構預設選擇。

專題頁面

Docker 服務:檢查介面與保留狀態

按協定、資料目錄與取代影響區分 HTTP、SQL、快取、FastCGI 或映像內應用。

專題頁面

OpenVPN:區分通道、路由與 DNS 故障

選擇對應發行版用戶端,變更 DNS 鉤子前檢查解析器管理權。

專題頁面

舊 PHP:區分執行階段相容性與應用就緒

PHP 7.2/Workerman 3.5.24 範例用於有升級計畫的遺留相容工作。

問題頁面

直接進入常見問題落地頁

如果使用者是從問題描述開始,而不是從腳本名開始,可以先看這些頁面。

問題頁面

CentOS 7 yum 404:先檢查故障軟體庫

重寫 repo 檔案前,區分封存 CentOS 鏡像、第三方 URL、DNS、TLS 或網路故障。

問題頁面

OpenVPN 已連線但內部 DNS 失敗

改檔案或重新啟動通道前,先檢查已設定鉤子與作用中的解析器管理器。

問題頁面

Workerman 顯示完成但 HTTP 就緒檢查失敗

再次取代容器前,區分建置、容器啟動、curl 探針與業務驗證。

問題頁面

為什麼重建 MySQL 5.7 容器後舊密碼仍然有效

安裝腳本重建 mysql57 時會繼續掛載 /data/mysql5.7/data。MySQL 只會在資料目錄為空時初始化帳號,因此既有資料庫不會因安裝變數變更而重設憑證。

問題頁面

為什麼 CentOS 7 的 SSH 登入很慢

最常見的根因是反向 DNS 解析、GSSAPI 驗證協商,以及部分舊環境裡的 IPv6 回退。先把這些等待關掉,再做更深的 SSH 排查。

問題頁面

為什麼在 CentOS 上關閉 SSH 密碼登入後就連不上了

最常見的原因是先關閉了 PasswordAuthentication,卻沒有先確認目標帳號已經存在可用的 authorized_keys,並且沒有先做一次成功的金鑰登入驗證。