さくらのクラウド Codex CLIでApacheをインストールする方法
前提条件
はじめに
今回は、さくらのクラウド上で稼働しているCodex CLIに、
日本語の指示だけで別のサーバーへSSHログインし、
Apacheをインストール・起動させる手順を検証いたします。
事前にパケットフィルタの80番ポート開放が必要です。以下の内容を参考にしてください。
動作環境
| 項目 | 説明 |
|---|---|
| 操作元サーバー | Rocky Linux9.8(test-server) 1コア・1GB (Codex CLIを動かすサーバー) |
| 対象サーバー | Rocky Linux9.8(test-server2) 1コア・1GB (Apacheをインストールするサーバー) |
| リージョン | tk1a(東京第1) |
事前準備:秘密鍵の転送
SSH経由でtest-server2にApacheをインストールするため、
操作元サーバーに秘密鍵を転送する必要があります。
ローカルPC(PowerShell)から以下のコマンドで実施いたします。
| コマンド | 説明 |
|---|---|
| scp -i sakura_id_ed25519 sakura_id_ed25519 rocky@操作元サーバーのIP:/home/rocky/sakura | SSHキー(秘密鍵)をSCPで操作元サーバーにコピーいたします。 |
| $ chmod 400 /home/rocky/sakura/sakura_id_ed25519 | 操作元サーバーで、SSHキーのパーミッションを変更いたします。 |
事前に下記の内容を参考にCodex CLIをインストールしてください。
対象サーバーも作成してください。以下の内容を参考にしてください。
AGENTS.md 追加
対象サーバーのSSH秘密鍵パスを事前にAGENTS.mdに定義しておきます。
1. 下記のコマンドを実施してください。(一般ユーザーで実施してください。)
| コマンド | 説明 |
|---|---|
| $ cd sakura | 作業用ディレクトリに移動いたします。 |
| $ vi AGENTS.md ## SSH設定 - 対象サーバーSSH秘密鍵: /home/rocky/sakura/sakura_id_ed25519 - 対象サーバーSSHユーザー: root - 対象サーバーSSH秘密鍵パスワード: なし ## Apacheインストール時の注意事項 - Apacheインストール前にfirewalldを停止すること - systemctl disable firewalld - systemctl stop firewalld ## スワップ設定 - Apacheインストール前にスワップ2GBを追加すること - dd if=/dev/zero of=/swapfile count=2048 bs=1MiB - chmod 600 /swapfile - mkswap /swapfile - swapon /swapfile - echo '/swapfile none swap sw 0 0' | tee -a /etc/fstab | viでAGENTS.mdを編集いたします。 サーバー作成の記事でAGENTS.mdを作成済みの場合は、 その内容の下に追記してください。 |
Apacheをインストールする
この画面が表示されて指示を入力できない場合は、viで下記の内容を追記しましょう。
(v0.160.0以降から表示されます。)
| コマンド | 説明 |
|---|---|
| $ codex | Codex CLIを実行いたします。 |
| $ vi ~/.codex/config.toml [projects."/home/rocky/sakura"] 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のデフォルトページ「HTTP Server Test page」が表示されれば
正常に動作しています。

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

注意事項
| 項目 | 説明 |
|---|---|
| パケットフィルタ | 80番ポートが開放されていないとブラウザーから確認できません。 |
| SSH秘密鍵 | 事前準備で操作元サーバーに転送し、chmod 400でパーミッションを 設定しておく必要があります。 |
| firewalld | AGENTS.mdに事前設定を記載しておくことで、firewalldの停止・無効化まで自動で処理してくれます。 |
| メモリ不足 | 1コア・1GBのプランはメモリが少ないため、AGENTS.mdにスワップ設定を事前に定義しておくとスムーズにインストールが完了します。 |
| OSイメージ | cloudimg版はSSH鍵の注入が失敗するため、Rocky Linux 9.8 64bit(通常版)を使用してください。 |
まとめ
・秘密鍵の転送と、AGENTS.mdへのSSH情報の定義を済ませておくと、指示がシンプルになる。
・「SSHでtest-server2にログインしてApacheをインストールし、自動起動を有効に
して起動してください。」の一言で、インストール・自動起動の有効化・起動まで完了できる。
・firewalldの停止やスワップの追加をAGENTS.mdに定義しておくと、
指示文に書かなくても、Codex CLIがインストール前に自動で実行してくれる。
・事前にパケットフィルタで80番ポートを許可しておく必要がある。
以上で「さくらのクラウド Codex CLIでApacheをインストールする方法」を完了いたします。

