Cockpitとは
Cockpitとは、Linuxを管理するためのWEBインタフェースです。
Cockpitを利用することで、サーバ管理者はサーバのアカウント管理やネットワーク管理などの重要な管理業務の仕事をWEBブラウザから行うことができるようになります。
Linuxサーバを管理する上での課題
Linuxサーバの管理にはCUI(キャラクタユーザーインターフェイス(Character User Interface))が利用されます。
しかしCUIは、OSやアプリケーションの操作コマンドを知っていることが前提となり、オペレーションの敷居が高い点が課題でした。
そのため、より直感的に操作が行えるようGUI(グラフィカルユーザインターフェース(Graphical User Interface))が提供されています。
しかし、LinuxでGUIを利用するためにはX windowシステムをインストールし、管理用の専用ソフトウェアを立ち上げる必要があります。
Linux、しかもサーバでGUIを利用する上での課題を以下に示します。
インストールが手間
X windowシステムは、GUIを動かすために多くのライブラリやソフトウェアをサーバにインストールする必要があります。
サーバにGUI関連のソフトウェアを複数インストールすると、それぞれにセキュリティパッチを適用する回数が増え、
そのたびに管理用サービスのアップデートのためにシステムの停止が必要になります。
脆弱性への対応
サーバにインストールするソフトウェアが多いため、構成が複雑になり、脆弱性などの対応が頻繁になります。
操作が難しい
GUI(デスクトップ) を利用するためにはコンソールか、リモートデスクトップ・VNCを利用する必要があります。そのため環境を用意したり、操作する側に知識の習得や手間が必要になります。
問題を解決するには?
サーバ管理ツールであるCockpitを利用することでこの課題を解決することができます。
余計なソフトウェアやライブラリを必要としない
Cockpitは、パッケージを一括でインストールするとその他の必要なパッケージもすべて含まれているので、まとめてインストールされるため簡単にインストールが可能です。
WEBインタフェースでシステムの管理ができる
Cockpitは、WEBインターフェースからサーバに接続し、管理や操作をすることが可能になります。
またシステムのログや負荷情報はグラフ等で表示されているため、サーバ管理の初心者でも理解しやすく簡単に参照できます。
難しいコマンドを覚えていなくとも、マウスをクリックすることでシステムを管理することができます。
アプリケーションの導入により様々な機能を扱うことができる
Cockpitは、アプリケーションと呼ばれるプラグイン/アドオンをインストールすることで、機能を増やすことができます。アプリケーションは、Cockpit公式プロジェクト開発のもの以外にもRed Hat社やその他サードパーティからさまざまな種類のものが提供されています。
以降では、Cockpitを使えるようインストールを実施していきます。
もし初めてVPSをご利用の場合
初期セットアップにVPSの初期セットアップ手順をまとめています。良ければご一読してみてください。
その他の利用環境について
VPSでの環境構築が大変だな、と思ったら以下の3つもご検討の価値ありです。
もし代行をご希望の方は、問い合わせフォームからお気軽にご連絡ください。
- conoHa VPSのテンプレート利用
- 環境構築代行(お問い合わせフォームからお気軽にご連絡ください。)
Rocky LinuxへCockpitの環境準備
それでは、Cockpitのインストールを進めていきます。
[rocky ~]$ sudo dnf -y install cockpit
コマンドが成功すれば、以下がコンソールに表示されます。
Installed:
cockpit-264.1-1.el8.x86_64 cockpit-packagekit-264.1-1.el8.noarch
libxslt-1.1.32-6.el8.x86_64 python3-html5lib-1:0.999999999-6.el8.noarch
python3-lxml-4.2.3-4.el8.x86_64 python3-psutil-5.4.3-11.el8.x86_64
python3-setuptools-39.2.0-6.el8.noarch python3-tracer-0.7.5-2.el8.noarch
python3-webencodings-0.5.1-6.el8.noarch tracer-common-0.7.5-2.el8.noarch
Complete!
以下のコマンドを実行し、Cockpitがサーバ起動時に、自動で起動するように設定を行っておきます。
[rocky ~]$ sudo systemctl enable --now cockpit.socket
Created symlink /etc/systemd/system/sockets.target.wants/cockpit.socket → /usr/lib/systemd/system/cockpit.socket.
ブラウザからCockpitのログイン画面へアクセス
http://[IPアドレス]:9090
にアクセスすると、ログイン画面が表示されます。
ログイン時のパスワードが分からない場合
WebARENA Indigoの場合、ログインIDは、選択したOSによって異なります。
ホスト名:作成したインスタンスのIPアドレス
ユーザ名:
CentOSの場合:centos
Ubuntuの場合:ubuntu
Rocky Linuxの場合:rocky
一方、WebARENA Indigoは公開鍵暗号方式でのSSH接続を前提としてるため、ユーザのパスワードは設定されていません。
「getent shadow」でユーザを確認してみて下さい。
1カラム目がユーザ名で、2カラム目がパスワードです。
パスワードが設定されていない場合、パスワード欄が「!!」となります。
$ sudo getent shadow rocky
rocky:!!:19169:0:99999:7:::
そのため、もしパスワード未設定であれば、パスワードを設定しておきます。
セキュリティ上のリスクになりますので、攻撃されても突破されないパスワードを設定してください。
[rocky ~]$ sudo passwd rocky
Changing password for user rocky.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
ログインに成功すると、最初に概要画面が表示されます。
メモリ不足ですね。。。
「詳細と履歴の表示」で詳細を表示します。
詳細情報が確認できました。
dockerデーモンが一番メモリを消費していますね。
Cockpitは、プラグインをインストールすることで、例えばDockerを管理したり出来るようになります。
自身の管理したい対象に合わせて、プラグインを探してみても良いかと思います。
やはり、視覚的に情報を見れるのは分かりやすいですね!
以上です。