文書化された Shell 配布

作業に合うスクリプトを選び、変更内容と保存したファイルを確認してから実行を判断します。

curl で使えるスクリプト、明快な使用説明、信頼できるランディングページ、そして自動化を公開するためのシンプルな場所を必要とする運用担当者向けです。

$ curl -fL https://helper.sh/hello.sh -o ./hello.sh
$ less ./hello.sh
$ curl -fL https://helper.sh/docker-data-move.sh -o ./docker-data-move.sh
$ less ./docker-data-move.sh

人には静的ページ、端末には raw スクリプト。

helper.sh の設計方針

スクリプト配布と信頼性を中心に設計

helper.sh

覚えやすく安定した URL でスクリプトを直接配布

helper.sh

グローバル運用チーム向けの多言語ドキュメント

helper.sh

引き継ぎ、レビュー、公開に使いやすいランディングページ

スクリプト

公開中のスクリプト

運用スクリプト

docker-data-move.sh

Docker data-root をより大きなディスクへ安全に移行するための対話型ヘルパーです。パス検査、バックアップ、検証を含みます。

初期導入

install_docker_ubuntu_2404.sh

Ubuntu 24.04.4 LTS 向けに Docker Engine と Docker Compose を導入する、helper.sh 公開のインストーラーです。

Docker アプリ導入

install_nginx_base_docker.sh

ホスト側に永続ディレクトリを作成し、80/443 番を公開する Docker Nginx 1.22.1 の初期構築スクリプトです。既定設定は HTTP のみです。

Docker アプリ導入

install_mysql57_base_docker.sh

Docker 上に MySQL 5.7.44 コンテナを作成し、データを /data/mysql5.7 に保存するスクリプトです。既存アプリの互換性検証向けで、新規環境への採用を勧めるものではありません。

Docker アプリ導入

install_redis705_base_docker.sh

Redis 7.0.5 を /data/redis7.0.5 の既存設定・データとともに起動する Docker 用インストーラーです。既存設定のパスワードは入力値で更新されません。

Docker アプリ導入

install_php72_base_docker.sh

Docker 上に PHP 7.2-FPM コンテナを作成し、アプリケーション用ファイルを /data/php7.2 に配置するスクリプトです。PHP 7.2 が必要な旧アプリの互換性確認向けです。

Docker アプリ導入

install_workerman3524_base_docker.sh

旧 Workerman/PHP 7.2 用のビルド例です。アプリはイメージへコピーし、bind mount は logs のみです。アプリ編集後は再ビルドとコンテナー置換が必要です。

ネットワークサーバー導入

install_openvpn_server_centos.sh

固定 LAN 経路、ユーザー名・パスワード認証、ファイアウォール変更を含む CentOS 7 専用の OpenVPN サーバー例です。

ネットワーククライアント導入

install_openvpn_client_ubuntu.sh

helper.sh が配布する Ubuntu 向け OpenVPN クライアント導入スクリプトです。client.conf と login.txt を確認し、OpenVPN を導入して systemd のクライアントサービスを有効にします。ローカルの update-resolv-conf があれば任意でコピーします。

ネットワーククライアント導入

install_openvpn_client_centos7.sh

CentOS 7 向け OpenVPN クライアント設定です。ローカルの認証ファイルと DNS フックは任意で、パッケージ導入だけでは接続は成立しません。

ネットワーククライアント導入

install_openvpn_client_anolis8.sh

Anolis OS 8 向け OpenVPN クライアント設定です。ローカルの認証ファイルと DNS フックは任意で、パッケージ導入だけでは接続は成立しません。

OpenVPN クライアント保守

disable_openvpn_client_dns.sh

選択した OpenVPN 設定の DNS フックをコメント化し、再起動を試みます。既存の DNS 状態を自動で復元するわけではありません。

システム保守

switch-centos7-repo.sh

CentOS 7 の古い yum リポジトリを切り替える上流スクリプトです。firewalld と SELinux の設定変更を伴う可能性があるため、実行前に確認してください。

システム保守

optimize_centos7_ssh.sh

CentOS 7 の SSH ログイン遅延に対処する設定スクリプトです。逆引き DNS と GSSAPI 認証を無効にし、IPv4 のみに制限した後、設定を検証して sshd を再起動します。

認証設定の強化

centos_disable_password_ssh.sh

公開鍵ログインへの切り替え後に使う、CentOS 向けの SSH 設定スクリプトです。authorized_keys を確認し、パスワード系認証を無効にして設定を検証してから sshd を再読み込みします。

Docker ルーター実験

install_bleachwrt_docker_centos7.sh

CentOS 7 の既存 LAN 実験環境向けです。特権付きコンテナーと macvlan を使うため、ホスト全体のネットワーク変更を先に確認してください。

開発用ツール

tree-to-file.sh

カレントディレクトリの構造を tree.txt に出力します。tree がなければインストールを試み、失敗時は find/awk に切り替えます。

環境別ガイド

OS とホストの役割から選ぶ

環境別ガイド

Ubuntu 24.04 向けスクリプト

Docker または OpenVPN の導入前に Ubuntu のバージョン、systemd、リポジトリへの接続を確認します。

環境別ガイド

CentOS 7 の保守用スクリプト

CentOS Linux 7 の既存環境で、リポジトリ修復や保守を行うためのスクリプト集です。CentOS Linux 7 は 2024 年 6 月 30 日にサポート終了しており、新規利用ではなく移行までの互換維持・復旧用途に限ってください。

環境別ガイド

Anolis OS 8 向けスクリプト

Anolis 8/dnf 向け OpenVPN の分岐と保守の前提を確認します。RHEL 系というだけで互換性を判断しないでください。

環境別ガイド

Docker ホストの準備

コンテナ上のサービスを導入する前に行う Docker Engine の導入やデータ領域の保守を扱います。スクリプトごとに対象 OS と変更内容が異なります。

環境別ガイド

Docker 上のサービス構成スクリプト

Docker 上に Nginx、MySQL、Redis、PHP、Workerman を構成するスクリプト集です。掲載版の固定バージョンには保守終了済みのものが含まれるため、互換性検証など用途を限定してください。

特集

作業内容から選ぶ

特集

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: 失敗するリポジトリを先に確認

定義を書き換える前に、旧 CentOS ミラー、第三者 URL、DNS、TLS、ネットワークの問題を区別します。

問題別ガイド

CentOS 7 の SSH ログインが遅いのはなぜ?

主な原因は逆引き DNS、GSSAPI 認証のネゴシエーション、ときには IPv6 接続の遅延です。詳しい調査の前に、これらの待ち時間が原因か切り分けましょう。

問題別ガイド

CentOS で SSH のパスワード認証を無効にした後、接続できなくなるのはなぜ?

よくある原因は、対象アカウントの authorized_keys と新しい鍵ログインを確認する前に PasswordAuthentication を無効にすることです。

問題別ガイド

OpenVPN 接続後も内部 DNS を解決できない

ファイルの変更や再起動の前に、設定されたフックと稼働中の DNS 管理元を確認します。

問題別ガイド

MySQL 5.7:コンテナを作り直しても以前の認証情報が残る理由

このスクリプトは mysql57 を置き換える際も /data/mysql5.7/data を再利用します。MySQL がアカウントを初期化するのはデータディレクトリが空のときだけなので、既存 DB ではインストール変数を変えても認証情報はリセットされません。

問題別ガイド

Workerman が完了表示でも HTTP 確認に失敗する場合

再置換する前に、ビルド・コンテナー起動・curl 確認・アプリ検証を切り分けます。

推奨ワークフロー

安全に利用するための流れ

  1. 作業を選び、対応するスクリプトの前提条件と実際の変更を確認します。
  2. スクリプトを保存して読み、ガイドのローカル照合またはチェックサムでバイト列を確認します。
  3. ホスト固有の確認、バックアップ、認可された作業時間を整えて実行を別途判断します。ハッシュ一致は安全性の判定ではありません。