CentOS Stream 9 への Webmin インストール:Web UI で Linux サーバー管理をより効率化

CentOS tutorial - IT technology blog
CentOS tutorial - IT technology blog

クイックスタート:3分で完了する Webmin インストール

すぐに結果を確認したい方のための手順です。以下のコマンドを CentOS Stream 9 のターミナルにコピー&ペーストするだけで、Webmin が即座に動作するように最適化されています。

# 1. システムのアップデートとファイルダウンロードツールのインストール
sudo dnf update -y
sudo dnf install wget tar -y

# 2. Webmin 公式リポジトリの設定
wget https://raw.githubusercontent.com/webmin/webmin/master/setup-repos.sh
sudo sh setup-repos.sh

# 3. Webmin のインストール
sudo dnf install webmin -y

# 4. ファイアウォールでポート 10000 を開放
sudo firewall-cmd --add-port=10000/tcp --permanent
sudo firewall-cmd --reload

インストールが完了しました!ブラウザを開き、https://<あなたのIPアドレス>:10000 にアクセスしてください。root アカウントとサーバーのパスワードを使用してログインします。


Webmin とは?なぜ SysAdmin に必要なのか?

コマンドライン (CLI) は Linux の魂です。しかし、多くのサービスを同時に管理する場合、コマンド入力だけでは時間がかかることがあります。Webmin は直感的な「コントロールセンター」として機能します。/etc/ 内の何百ものファイルパスを覚える代わりに、数回のクリックでユーザー作成、DNS 設定、ディスククォータの割り当てなどが可能になります。

Webmin はよく Cockpit(CentOS 9 に標準搭載されているツール)と比較されます。実際、Cockpit はリソース(CPU、RAM)の監視には優れています。しかし、PostfixBIND、Samba などのサービスを 100 以上のモジュールで深く構成する必要がある場合、Webmin は依然として最良の選択肢です。

実体験の共有: 昨年、短期間で 10 台のサーバーを CentOS Stream に移行する必要がありました。各部門の複雑な権限設定を vinano で再設定するのは非常にミスが起きやすい作業です。Webmin のおかげで、すべてのパラメータを制御し、新しい設定を 40% 早く適用でき、致命的なタイポを防ぐことができました。

インストール手順とリポジトリ設定の詳細

クイックスタートでインストールは完了しましたが、その仕組みを理解しておくことで、将来的なトラブルシューティングに役立ちます。

ステップ 1:Webmin リポジトリの設定

dnf update を実行した際にシステムが自動的にセキュリティパッチを受け取れるようになるからです。setup-repos.sh スクリプトは、/etc/yum.repos.d/ に設定ファイルを自動追加し、パッケージの改ざんを防ぐための GPG キーをインポートします。

ステップ 2:DNF によるインストール

CentOS Stream 9 はパッケージマネージャー dnf を使用します。sudo dnf install webmin を実行すると、システムは必要な Perl ライブラリを自動的に検索してインストールします。これが Webmin が Linux システムファイルと通信するための基盤となります。

ステップ 3:サービスの確認

通常、Webmin はインストール後に自動的に起動します。次のコマンドでステータスを確認できます。

sudo systemctl status webmin

緑色の “active (running)” が表示されれば問題ありません。表示されない場合は、sudo systemctl enable --now webmin コマンドで有効化してください。

Webmin のセキュリティ:ハッカーに隙を見せないために

Webmin はサーバーの最高権限を保持しています。ログイン情報が漏洩すると、ハッカーは数秒でデータを消去できてしまいます。以下の 3 つのセキュリティ対策をすぐに実施してください。

1. デフォルトポートの変更

ポート 10000 は、自動スキャンボットの頻繁な標的になります。Webmin -> Webmin Configuration -> Ports and Addresses で、別のポート(例:2405)に変更することをお勧めします。接続がブロックされないよう、ファイアウォールの更新も忘れないでください:

sudo firewall-cmd --add-port=2405/tcp --permanent
sudo firewall-cmd --remove-port=10000/tcp --permanent
sudo firewall-cmd --reload

2. Let’s Encrypt による SSL インストール

Webmin は自己署名証明書を使用しているため、ブラウザに「安全でない接続」と表示されます。よりプロフェッショナルにするために、SSL Encryption -> Let’s Encrypt に移動してください。ドメインと Web ファイルのパスを入力するだけで、Webmin が自動的に SSL の登録と更新を行ってくれます。

3. 2要素認証 (2FA) の有効化

これは非常に強力な最終防衛線です。Webmin は Google Authenticator を適切にサポートしています。Two-Factor Authentication でスマホの QR コードをスキャンするだけで設定完了です。たとえ root パスワードが漏洩しても、スマホの OTP コードがなければハッカーは侵入できません。

Webmin 使用時のパフォーマンス最適化のヒント

  • スマートなファイル管理: 「File Manager」モジュールを使用すると、PC からサーバーへ直接ファイルをドラッグ&ドロップできます。重い FileZilla や WinSCP を別途インストールする必要はありません。
  • 直感的なログ閲覧: tail -f /var/log/messages と入力する代わりに、System Logs を使用してください。このインターフェースはカラーハイライトをサポートしており、エラーをより素早く発見できます。
  • バックアップのスケジュール化: Backup Configuration Files 機能を使用しましょう。私は万が一に備え、毎週日曜日に設定ファイルを Google Drive や FTP にアップロードするようにスケジュールしています。
  • SELinux に関する注意: root を使用しているのに「Permission Denied」エラーが発生する場合、SELinux が Webmin をブロックしている可能性があります。システムの安全性を保つため、SELinux を完全にオフにするのではなく、ログを確認して適切な権限を付与してください。

結論として、Webmin は CLI を完全に置き換えるものではありませんが、すべての SysAdmin にとって強力な右腕となります。CentOS Stream 9 において、この組み合わせはシステムのパワーと管理の利便性の完璧なバランスをもたらします。

Share: