
目次
ブラウザベースでサーバ管理できるツールを試してみたい
現在管理している Linux サーバ群をほぼターミナル経由でいじっているのですが、Webブラウザから管理するツールも試してみようかと思い、比較的軽そうな Cockpit をインストールしてみました。
大昔、Webmin とか使ったことがあるけれど知識がなくて全然活用できなかった記憶が……。
パッケージのインストール
公式サイトで対応 OS として CentOS も挙げられているのでドキュメント通りに実施すればハマらないですね。
# yum install cockpit
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
epel/x86_64/metalink | 5.8 kB 00:00:00
* base: ftp.riken.jp
* epel: ftp.iij.ad.jp
* extras: ftp.riken.jp
* remi-safe: ftp.riken.jp
* updates: ftp.riken.jp
base | 3.6 kB 00:00:00
epel | 4.7 kB 00:00:00
extras | 2.9 kB 00:00:00
mariadb-main | 3.4 kB 00:00:00
mariadb-maxscale | 2.4 kB 00:00:00
mariadb-tools | 2.9 kB 00:00:00
remi-safe | 3.0 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/2): epel/x86_64/updateinfo | 1.0 MB 00:00:00
(2/2): epel/x86_64/primary_db | 6.9 MB 00:00:00
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ cockpit.x86_64 0:195.12-1.el7.centos を インストール
--> 依存性の処理をしています: cockpit-ws のパッケージ: cockpit-195.12-1.el7.centos.x86_64
--> 依存性の処理をしています: cockpit-system のパッケージ: cockpit-195.12-1.el7.centos.x86_64
--> 依存性の処理をしています: cockpit-bridge のパッケージ: cockpit-195.12-1.el7.centos.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ cockpit-bridge.x86_64 0:195.12-1.el7.centos を インストール
--> 依存性の処理をしています: glib-networking のパッケージ: cockpit-bridge-195.12-1.el7.centos.x86_64
--> 依存性の処理をしています: libjson-glib-1.0.so.0()(64bit) のパッケージ: cockpit-bridge-195.12-1.el7.centos.x86_64
---> パッケージ cockpit-system.noarch 0:195.12-1.el7.centos を インストール
---> パッケージ cockpit-ws.x86_64 0:195.12-1.el7.centos を インストール
--> トランザクションの確認を実行しています。
---> パッケージ glib-networking.x86_64 0:2.56.1-1.el7 を インストール
--> 依存性の処理をしています: gsettings-desktop-schemas のパッケージ: glib-networking-2.56.1-1.el7.x86_64
--> 依存性の処理をしています: libproxy.so.1()(64bit) のパッケージ: glib-networking-2.56.1-1.el7.x86_64
---> パッケージ json-glib.x86_64 0:1.4.2-2.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ gsettings-desktop-schemas.x86_64 0:3.28.0-3.el7 を インストール
---> パッケージ libproxy.x86_64 0:0.4.11-11.el7 を インストール
--> 依存性の処理をしています: libmodman.so.1()(64bit) のパッケージ: libproxy-0.4.11-11.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ libmodman.x86_64 0:2.0.1-8.el7 を インストール
--> 依存性解決を終了しました。
依存性を解決しました
=====================================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
=====================================================================================================================================
インストール中:
cockpit x86_64 195.12-1.el7.centos extras 51 k
依存性関連でのインストールをします:
cockpit-bridge x86_64 195.12-1.el7.centos extras 555 k
cockpit-system noarch 195.12-1.el7.centos extras 1.7 M
cockpit-ws x86_64 195.12-1.el7.centos extras 808 k
glib-networking x86_64 2.56.1-1.el7 base 145 k
gsettings-desktop-schemas x86_64 3.28.0-3.el7 base 606 k
json-glib x86_64 1.4.2-2.el7 base 134 k
libmodman x86_64 2.0.1-8.el7 base 28 k
libproxy x86_64 0.4.11-11.el7 base 64 k
トランザクションの要約
=====================================================================================================================================
インストール 1 パッケージ (+8 個の依存関係のパッケージ)
総ダウンロード容量: 4.0 M
インストール容量: 9.3 M
Is this ok [y/d/N]: y
Downloading packages:
(1/9): cockpit-195.12-1.el7.centos.x86_64.rpm | 51 kB 00:00:00
(2/9): cockpit-bridge-195.12-1.el7.centos.x86_64.rpm | 555 kB 00:00:00
(3/9): json-glib-1.4.2-2.el7.x86_64.rpm | 134 kB 00:00:00
(4/9): cockpit-system-195.12-1.el7.centos.noarch.rpm | 1.7 MB 00:00:00
(5/9): glib-networking-2.56.1-1.el7.x86_64.rpm | 145 kB 00:00:00
(6/9): libmodman-2.0.1-8.el7.x86_64.rpm | 28 kB 00:00:00
(7/9): cockpit-ws-195.12-1.el7.centos.x86_64.rpm | 808 kB 00:00:00
(8/9): libproxy-0.4.11-11.el7.x86_64.rpm | 64 kB 00:00:00
(9/9): gsettings-desktop-schemas-3.28.0-3.el7.x86_64.rpm | 606 kB 00:00:00
-------------------------------------------------------------------------------------------------------------------------------------
合計 6.4 MB/s | 4.0 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : json-glib-1.4.2-2.el7.x86_64 1/9
インストール中 : gsettings-desktop-schemas-3.28.0-3.el7.x86_64 2/9
インストール中 : libmodman-2.0.1-8.el7.x86_64 3/9
インストール中 : libproxy-0.4.11-11.el7.x86_64 4/9
インストール中 : glib-networking-2.56.1-1.el7.x86_64 5/9
インストール中 : cockpit-bridge-195.12-1.el7.centos.x86_64 6/9
インストール中 : cockpit-system-195.12-1.el7.centos.noarch 7/9
インストール中 : cockpit-ws-195.12-1.el7.centos.x86_64 8/9
インストール中 : cockpit-195.12-1.el7.centos.x86_64 9/9
検証中 : libmodman-2.0.1-8.el7.x86_64 1/9
検証中 : gsettings-desktop-schemas-3.28.0-3.el7.x86_64 2/9
検証中 : cockpit-ws-195.12-1.el7.centos.x86_64 3/9
検証中 : cockpit-system-195.12-1.el7.centos.noarch 4/9
検証中 : cockpit-bridge-195.12-1.el7.centos.x86_64 5/9
検証中 : cockpit-195.12-1.el7.centos.x86_64 6/9
検証中 : json-glib-1.4.2-2.el7.x86_64 7/9
検証中 : glib-networking-2.56.1-1.el7.x86_64 8/9
検証中 : libproxy-0.4.11-11.el7.x86_64 9/9
インストール:
cockpit.x86_64 0:195.12-1.el7.centos
依存性関連をインストールしました:
cockpit-bridge.x86_64 0:195.12-1.el7.centos cockpit-system.noarch 0:195.12-1.el7.centos
cockpit-ws.x86_64 0:195.12-1.el7.centos glib-networking.x86_64 0:2.56.1-1.el7
gsettings-desktop-schemas.x86_64 0:3.28.0-3.el7 json-glib.x86_64 0:1.4.2-2.el7
libmodman.x86_64 0:2.0.1-8.el7 libproxy.x86_64 0:0.4.11-11.el7
完了しました!
サービス有効化とファイアウォールの設定
# systemctl enable --now cockpit.socket
Created symlink from /etc/systemd/system/sockets.target.wants/cockpit.socket to /usr/lib/systemd/system/cockpit.socket.
# firewall-cmd --add-service=cockpit --permanent
success
# firewall-cmd --reload
サービスを有効にして、ファイアウォールに通信許可の設定を行えば準備完了。
標準だと 9090 番ポートに接続することで管理画面が表示され……のですが今どきのブラウザだと自己署名の証明書は表示してくれない場合もあるようで。
Let’s Encrypt で作成してある証明書を導入する
公式サイトのドキュメント SSL/TLS Usage のページに解説がありますが、使用している証明書と鍵ファイルを結合して/etc/cockpit/ws-certs.d
に保存してやればOKとのこと。拡張子が .cert または .crt のものでアルファベット順で最後のファイルが使われます。通常は1個しか置かないから使われる順番はあまり気にしなくても良さそうですが複数保存する場合は注意。
証明書の結合をしてサービスの再起動をします。
# cat /etc/letsencrypt/live/www.u-1.net/fullchain.pem /etc/letsencrypt/live/www.u-1.net/privkey.pem > /etc/cockpit/ws-certs.d/ssl.cert
# systemctl restart cockpit.service
# systemctl status cockpit
● cockpit.service - Cockpit Web Service
Loaded: loaded (/usr/lib/systemd/system/cockpit.service; static; vendor preset: disabled)
Active: active (running) since 木 2021-05-20 16:03:22 JST; 10s ago
Docs: man:cockpit-ws(8)
Process: 86356 ExecStartPre=/usr/sbin/remotectl certificate --ensure --user=root --group=cockpit-ws --selinux-type=etc_t (code=exited, status=0/SUCCESS)
Main PID: 86359 (cockpit-ws)
CGroup: /system.slice/cockpit.service
└─86359 /usr/libexec/cockpit-ws
以上で導入完了。ブラウザでアクセスしてみると Cent OS のロゴも表示されて良い感じです。

導入のハードルも非常に低いのでお手軽に試せるのが良いですね。
コメント