環境
シェイプ:VM.Standard.E2.1.Micro
OS: Ubuntu 24.04.2 LTS x86_64
RAM 1GB
前提条件
- Cloudflareのアカウント
- ドメインを持っていること
ドメインなどは適宜読み替えてください
Cockpitのインストール
アプデ
sudo apt update && sudo apt upgrade
Cockpitを入れる
. /etc/os-release
sudo apt install -t ${VERSION_CODENAME}-backports cockpit
Cloudflaredの設定
Cloudflare Zero Trustにログイン
↓
ネットワーク > Tunnels > トンネルを作成する
↓
選択する Cloudflared > 次へ
↓
インスタンスの名前などわかりやすい名前を付ける
↓
左側のコマンドをコピーして実行
Connectorsに表示されたら次へ
↓
ドメインとサブドメインを入力
サービスタイプにHTTPS
URLにlocalhost:9090
アクセスの管理
Access > Policies > ポリシーの作成
以下のように入力
保存
↓
Github > 設定 > 認証 > 新規追加 > Github > New OAuth App
Homepage URLとAuthorization callback URLの確認方法
Cloudflare Zero Trust > 設定 > カスタムページHomepage URL:https://<example>.cloudflareaccess.com
Authorization callback URL:https://<example>.cloudflareaccess.com/cdn-cgi/access/callback
↓
Register application
↓
Generate a new client secret
↓
アプリIDにclient ID
クライアントシークレットにはClient secret
セットアップを完了するのURLをを開く
追加できれば完了
アプリケーションの追加
Access > アプリケーション > アプリケーションの追加 > セルフホスト
Access ポリシーにさっき作ったポリシーを選択
特にこだわりがなければ次へ > 次へ > 保存
サーバ側の設定
設定を変更する必要があるらしい
vi /etc/cockpit/cockpit.conf
[WebService]
Origins = https://cockpit-awf.example.com wss://cockpit.example.com https://192.168.1.72:9090 wss://192.168.1.72:9090
ProtocolHeader = X-Forwarded-Proto
AllowUnencrypted = true
sudo systemctl restart cockpit
アクセスしてみる
sudo passwd ubuntu
問題発生
sudo vi /etc/NetworkManager/conf.d/10-globally-managed-devices.conf
[keyfile]
unmanaged-devices=none
sudo nmcli con add type dummy con-name fake ifname fake0 ip4 1.2.3.4/24 gw4 1.2.3.1
再起動
また問題発生
PCPをインストールしようとしたら
他のソフトウェア管理オペレーションが終了するまで待機中
sudo apt update && sudo apt upgrade
アプでしたら直った
Navigatorのインストール
wget https://github.com/45Drives/cockpit-navigator/releases/download/v0.5.10/cockpit-navigator_0.5.10-1focal_all.deb
sudo apt install ./cockpit-navigator_0.5.10-1focal_all.deb -y
rm -r cockpit-navigator_0.5.10-1focal_all.deb
ちなみにCloudflareのプロキシステータスをDNSのみにすると接続できないので注意