◆はじめに
前回の「HTTPS(SSL/TLS)化」に続いて、Rocky Linux 9 サーバ構築手順次のステップは、「Cockpit導入編」についてセットアップを行います。

CockpitはRed Hat系Linux(RockyLinux含む)用のWebベースのシステム管理ツールです。Webブラウザを使用してサーバーのシステム管理、ネットワーク管理、ストレージ管理などをグラフィカルに実施できます。
免責事項:
本記事の内容は筆者の環境で動作確認したものですが、すべての環境での動作を保証するものではありません。本記事の手順を実施する際は、以下の点にご注意ください。
◆環境情報
当ブログサイトを運用しているサーバは、「KAGOYA JAPAN」で提供されている「KAGOYA CLOUD VPS」を利用しています。
- OS: Rocky Linux 9
- Cockpitバージョン: 311.2以上
- Webブラウザ: Chrome、Firefox、Safari など
- ホスト名: marusrv.example.com
◆Cockpitの概要
・メニュー構成と主な機能
Cockpitのメニューは「システム」と「ツール」の2つの主要カテゴリに分かれています。
システム
概要
サーバーの総合的なシステム情報を表示します。
- ホスト名、OS情報、カーネルバージョンの表示
- CPU使用率、メモリ使用率のリアルタイム監視
- ディスク容量の使用状況
- システムのアップタイムと負荷平均
ログ
システムジャーナルログの確認と検索が可能です。
- エラー、警告、情報メッセージの表示
- タイムスタンプ検索機能
- サービス別のログフィルタリング
- ログのリアルタイム更新
ストレージ
ディスクやストレージデバイスを管理します(cockpit-storagedインストール時)。
- ディスクパーティションの確認
- LVM(Logical Volume Manager)の管理
- マウントポイント情報の表示
- ストレージ容量の詳細表示
ネットワーキング
ネットワークインターフェースとファイアウォール設定を管理します。
- IPアドレスの設定・変更
- ネットワークインターフェースの有効/無効化
- Firewalldのゾーン設定
- 開放ポートの管理
- ホストネームの変更
アカウント
ローカルユーザーアカウントを管理します。
- ユーザーアカウントの作成・削除
- グループの管理
- パスワード変更
- 管理者権限の付与・剥奪
- ログインセッション情報の表示
サービス
システムサービスの状態確認と管理を行います。
- サービスの起動・停止・再起動
- サービスの有効化・無効化
- サービス依存関係の表示
- サービス状態のリアルタイム表示
ツール
Software updates
システムの更新管理を行います。
- 利用可能なアップデートの確認
- セキュリティ更新の優先表示
- アップデートの一括適用
- アップデート履歴の表示
アプリケーション
インストール済みのアプリケーションを管理します。
- インストール済みアプリケーション一覧
- アプリケーションのインストール・アンインストール
- パッケージマネージャー(PackageKit)との統合
カーネルダンプ
システムクラッシュ時のダンプ情報を管理します。
- ダンプファイルの確認
- クラッシュ情報の表示
- ダンプの保存設定
診断レポート
システムの問題診断に必要な情報を収集・作成します。
- SOSレポートの自動生成
- システム情報の詳細ログ収集
- トラブルシューティング用の報告書作成
端末
Webブラウザ内でシステムコマンドを実行できます。
- ブラウザ内でのシェル実行
- コマンドライン操作
- 管理者権限でのコマンド実行
- セッション管理
◆Cockpit導入・セットアップ
・必要パッケージのインストール
Cockpitのインストール
まず、Cockpitの基本パッケージをインストールします。
sudo dnf install -y cockpit
'~ 中略 ~'
Installed:
cockpit-311.2-1.el9_4.x86_64
cockpit-bridge-311.2-1.el9_4.x86_64
cockpit-packagekit-311.2-1.el9_4.noarch
cockpit-system-311.2-1.el9_4.noarch
cockpit-ws-311.2-1.el9_4.x86_64
PackageKit-1.2.6-1.el9.x86_64
PackageKit-glib-1.2.6-1.el9.x86_64
python3-dasbus-1.4-5.el9.noarch
python3-file-magic-5.39-16.el9.noarch
python3-libxml2-2.9.13-6.el9_4.x86_64
python3-pexpect-4.8.0-7.el9.noarch
python3-psutil-5.8.0-12.el9.x86_64
python3-ptyprocess-0.6.0-12.el9.noarch
python3-tracer-1.1-2.el9.noarch
rocky-logos-90.15-2.el9.x86_64
setroubleshoot-plugins-3.3.14-4.el9.noarch
setroubleshoot-server-3.3.32-1.el9.el9.noarch
sos-4.7.2-3.el9.noarch
sscg-3.0.0-7.el9.x86_64
tracer-common-1.1-2.el9.noarch
Complete!
主要パッケージの説明:
cockpit: Cockpitのメインパッケージ。他のコンポーネントをまとめるメタパッケージcockpit-ws: Cockpitのコアとなるブラウザインターフェース。WebSocketを使用してブラウザと通信し、リアルタイムでシステム情報を送受信cockpit-bridge: ローカルシステムとの通信を担当するバックエンドサービス。システムコマンドの実行やファイル操作を仲介cockpit-system: システム管理機能。概要、ログ、ネットワーク、アカウント、サービス等の管理画面を提供cockpit-packagekit: パッケージ管理機能。アプリケーションのインストール・アンインストール・アップデートを管理
性能監視機能の追加
より詳細なシステムパフォーマンスの監視を行う場合は、以下をインストールします。
sudo dnf install -y cockpit-pcp
'~ 中略 ~'
Installed:
cockpit-pcp-311.2-1.el9_4.x86_64
pcp-6.2.0-5.el9_4.x86_64
pcp-conf-6.2.0-5.el9_4.x86_64
pcp-libs-6.2.0-5.el9_4.x86_64
pcp-selinux-6.2.0-5.el9_4.x86_64
Complete!
パッケージの説明:
cockpit-pcp: Performance Co-Pilot (PCP) との統合を提供し、より詳細なシステムパフォーマンスの監視が可能
ストレージ管理機能の追加
ディスク管理やストレージ設定を行う場合は、以下をインストールします。
sudo dnf install -y cockpit-storaged
'~ 中略 ~'
Installed:
cockpit-storaged-311.2-1.el9_4.noarch
clevis-18-112.el9.x86_64
clevis-luks-18-112.el9.x86_64
cryptsetup-2.6.0-3.el9.x86_64
device-mapper-event-9:1.02.197-2.el9.x86_64
libaio-0.3.111-13.el9.x86_64
libatasmart-0.19-22.el9.x86_64
libblockdev-2.28-10.el9.x86_64
libudisks2-2.9.4-9.el9.x86_64
lvm2-9:2.03.23-2.el9.x86_64
udisks2-2.9.4-9.el9.x86_64
mdadm-4.2-14.el9_4.x86_64
Complete!
パッケージの説明:
cockpit-storaged: ストレージデバイスの管理と監視機能を追加。ディスクパーティションの作成、フォーマット、マウントなどが可能
・Cockpitサービスの有効化
サービスの有効化と起動
Cockpitサービスをシステム起動時に自動起動するように設定します。
sudo systemctl enable --now cockpit.socket
Created symlink /etc/systemd/system/sockets.target.wants/cockpit.socket → /usr/lib/systemd/system/cockpit.socket.
コマンド説明:
enable --now: サービスを有効化して、即座に起動
サービス状態の確認
sudo systemctl status cockpit.socket
正常に起動している場合、以下のような出力が表示されます。
● cockpit.socket - Cockpit Web Service Socket
Loaded: loaded (/usr/lib/systemd/system/cockpit.socket; enabled; vendor preset: disabled)
Active: active (listening) since ...
・Firewall設定の確認
Firewall有効化サービスの確認
Cockpitのサービスがファイアウォールに登録されているか確認します。
sudo firewall-cmd --list-services
cockpit dhcpv6-client http https ssh
cockpitがリストに表示されていれば、設定は完了しています。
表示されない場合は、以下のコマンドで追加してください。
sudo firewall-cmd --add-service=cockpit --permanent
sudo firewall-cmd --reload
・Cockpitの HTTPS 化
SSL証明書の設定
HTTPS化の記事で取得したSAN証明書をCockpitに設定します。
シンボリックリンクの作成:
sudo ln -s /etc/letsencrypt/live/www.example.com/fullchain.pem /etc/cockpit/ws-certs.d/cockpit.crt
sudo ln -s /etc/letsencrypt/live/www.example.com/privkey.pem /etc/cockpit/ws-certs.d/cockpit.key
コマンド説明:
/etc/letsencrypt/live/www.example.com/fullchain.pem: SAN証明書の公開鍵証明書ファイル/etc/cockpit/ws-certs.d/cockpit.crt: Cockpitが使用する証明書の配置先/etc/letsencrypt/live/www.example.com/privkey.pem: SAN証明書の秘密鍵ファイル/etc/cockpit/ws-certs.d/cockpit.key: Cockpitが使用する秘密鍵の配置先
Cockpit設定ファイルの編集
Cockpitの設定ファイルを編集し、TLSを有効化します。
sudo vi /etc/cockpit/cockpit.conf
TLSの有効化設定:
[WebService]
UseTLS=true
設定のポイント:
UseTLS=true: HTTPSでの通信を強制
Cockpitサービスの再起動
設定を反映させるため、Cockpitサービスを再起動します。
sudo systemctl restart cockpit
サービスが正常に再起動されたか確認します。
sudo systemctl status cockpit
● cockpit.service - Cockpit Web Service
Loaded: loaded (/usr/lib/systemd/system/cockpit.service; static)
Active: active (running) since ...
・ブラウザでのアクセス確認
Webブラウザでのアクセス
Webブラウザで以下のURLにアクセスします。
https://marusrv.example.com:9090/
アクセスポイント:
marusrv.example.com: サーバーのホスト名(FQDN)9090: Cockpitのデフォルトポート番号
ログイン画面の表示
HTTPSで接続されていることを確認した後、以下の情報でログインしてください。
ログイン情報:
- ユーザー名: サーバーの管理者ユーザー(例:
maruuser) - パスワード: 管理者ユーザーのパスワード
セキュリティ上の注意:
ダッシュボードの確認
ログイン後、システム情報、CPU・メモリ・ディスク使用率、ネットワークトラフィックなどが表示されます。
確認項目:
- ホスト名の表示
- CPUとメモリの使用率グラフ
- ディスク容量の表示
- ログの確認機能
- ネットワーク設定へのアクセス
・セキュリティに関する推奨事項
ネットワークアクセス制限
ファイアウォールでCockpitへのアクセスを特定のIPアドレスに制限します。
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.0.2.100" port protocol="tcp" port="9090" accept'
sudo firewall-cmd --reload
ポート番号の変更
デフォルトのポート番号(9090)から変更する場合は、Cockpitの設定ファイルを編集します。
sudo vi /etc/cockpit/cockpit.conf
[WebService]
Port=9091
UseTLS=true
変更後、Cockpitサービスを再起動してください。
sudo systemctl restart cockpit
◆トラブルシューティング
・Cockpitにアクセスできない場合
ポート番号の確認
Cockpitがポート9090でリッスンしているか確認します。
sudo ss -tulpn | grep 9090
tcp 0 0 :::9090 :::* LISTEN ...
ファイアウォール設定の確認
sudo firewall-cmd --list-ports
sudo firewall-cmd --list-services | grep cockpit
サービス状態の確認
sudo systemctl status cockpit.socket
sudo systemctl status cockpit.service
・SSL証明書エラーが表示される場合
シンボリックリンクの確認
ls -la /etc/cockpit/ws-certs.d/
正常な場合、cockpit.crtとcockpit.keyが表示されます。
証明書ファイルのパーミッション確認
sudo ls -la /etc/cockpit/ws-certs.d/
cockpit.crtとcockpit.keyがroot:rootで所有されていることを確認してください。
Cockpitサービスの再起動
sudo systemctl restart cockpit
◆まとめ
本記事では、RockyLinux9サーバへのCockpit導入とセットアップについて説明しました。
実施内容:
- Cockpitおよび拡張パッケージのインストール
- Cockpitサービスの有効化と起動
- ファイアウォール設定の確認
- SAN証明書によるHTTPS化
- Webブラウザからのアクセス確認
得られるメリット:
- Webブラウザを使用した直感的なサーバー管理
- リモートからの安全なシステム管理
- リアルタイムのシステム監視
- ログ管理と検索機能
◆次のステップ
次回は「phpMyAdmin導入編」として、MariaDBを管理するためのWebベースのツール「phpMyAdmin」の導入とセットアップについての手順を実施します。




コメント