GCP(Google Cloud) Codex CLIでApacheをインストールする方法
前提条件
はじめに
今回は、Google Cloud(GCP)上で稼働しているCodex CLIに、
日本語の指示だけで別のサーバーへSSHログインし、Apacheを
インストールして自動起動を有効にし、起動させる手順を検証いたします。
事前にVPCファイアウォールのHTTP(80番)の開放が必要です。以下の内容を参考にしてください。
動作環境
| 項目 | 説明 |
|---|---|
| 操作元サーバー | Debian 13(test-server) e2-micro (Codex CLIを動かすサーバー) |
| 対象サーバー | Debian 13(test-server2) e2-micro (Apacheをインストールするサーバー) |
| リージョン | asia-northeast1-a(東京) |
事前準備:秘密鍵の転送
SSH経由でtest-server2にApacheをインストールするため、
操作元サーバーに秘密鍵を転送する必要があります。
ローカルPC(PowerShell)から以下のコマンドで実施いたします。
| コマンド | 説明 |
|---|---|
| scp -i gcp_id_ed25519 gcp_id_ed25519* d1juser@操作元サーバーのIP:/home/d1juser/gcp | SSHキー(秘密鍵と公開鍵)をSCPで操作元サーバーにコピーいたします。 |
| $ chmod 400 /home/d1juser/gcp/gcp_id_ed25519 | 操作元サーバーで、SSHキーのパーミッションを変更いたします。 |
事前に下記の内容を参考にCodex CLIをインストールしてください。
対象サーバーも作成してください。以下の内容を参考にしてください。
AGENTS.md 追加
操作元サーバーのSSH秘密鍵パスを事前にAGENTS.mdに定義しておきます。
1. 下記のコマンドを実施してください。(一般ユーザーで実施してください。)
| コマンド | 説明 |
|---|---|
| $ cd gcp | 作業用ディレクトリに移動いたします。 |
| $ vi AGENTS.md ## SSH設定 - SSH秘密鍵: /home/d1juser/gcp/gcp_id_ed25519 - SSHユーザー: d1juser - SSH秘密鍵パスワード: なし | viでAGENTS.mdを編集いたします。 サーバー作成の記事でAGENTS.mdを作成済みの場合は、 その内容の下に追記してください。 viの貼り付け不具合の場合があります。 Debianはデフォルト設定だとviでの貼り付けが崩れる場合があります。 ~/.vimrcにset mouse-=aを追記すると解消します。 |
Apacheをインストールする
この画面が表示されて指示を入力できない場合は、viで下記の内容を追記しましょう。
(v0.160.0以降から表示されます。)
| コマンド | 説明 |
|---|---|
| $ codex | Codex CLIを実行いたします。 |
| $ vi ~/.codex/config.toml [projects."/home/d1juser/gcp"] trust_level = "trusted" | 下記の画面が表示された場合は、codexをCtrl+cで終了し、 viでconfig.tomlを追記いたします。 |

2. Codex CLIがインストールされている操作元サーバーで実行してください。
下記のコマンドを実施してください。(一般ユーザーで実施してください。)
| コマンド | 説明 |
|---|---|
| $ codex | 追記後、もう一度codexを起動してください。 |
| 「SSHでtest-server2にログインしてApacheをインストールし、自動起動を有効にして起動してください。」 と入力してください。 | Codex CLIに指示をいたします。 |

Codex CLIが対象サーバー(test-server2)にSSHでログインし、
Apacheのインストールから起動までを完了しました。

動作確認
3. ブラウザーでIPアドレスで入力して確認しましょう。
Apacheのデフォルトページ「Apache2 Debian Default Page」が
表示されれば正常に動作しています。

4. 自動起動の設定はコマンドで確認できます。
対象サーバーにSSHでログインし、下記のコマンドを実施してください。
| コマンド | 説明 |
|---|---|
| $ sudo -i | rootユーザーに昇格いたします。 |
| # systemctl is-enabled apache2 | 自動起動が有効になっているか確認いたします。 「enabled」と表示されれば問題ありません。 |

注意事項
| 項目 | 説明 |
|---|---|
| SSHキー | 秘密鍵と公開鍵を操作元サーバーへ転送し、秘密鍵はchmod 400で パーミッションを設定しておく必要があります。 |
| VPCファイアウォール | HTTP(80番)の開放が必要です。SSH(22番)はdefaultネットワークで 最初から開放済みです。 |
| サービス名 | Debianの場合、Apacheのサービス名はhttpdではなくapache2です。 |
まとめ
・秘密鍵と公開鍵を操作元サーバーへ転送し、AGENTS.mdにパスを定義しておくと、
指示がシンプルになる。
・「SSHでtest-server2にログインしてApacheをインストールし、自動起動を有効にして
起動してください。」の一言で、インストール・自動起動の有効化・起動まで完了できる。
・事前にVPCファイアウォールで80番ポートを開放しておく必要がある。
以上で「GCP(Google Cloud) Codex CLIでApacheをインストールする方法」を完了いたします。

