Microsoft Azure Codex CLIでApacheをインストールする方法
前提条件
はじめに
今回は、Microsoft Azure上で稼働しているCodex CLIに、
日本語の指示だけで別のサーバーへApacheをインストールし、
自動起動を有効にして起動させる手順を検証いたします。
事前にNSG(ネットワークセキュリティグループ)の80番ポート開放が必要です。
以下の内容を参考にしてください。
動作環境
| 項目 | 説明 |
|---|---|
| 操作元サーバー | Ubuntu 24.04 LTS(test-server) Standard_B1s (Codex CLIを動かすサーバー) |
| 対象サーバー | Ubuntu 24.04 LTS(test-server2) Standard_B1s (Apacheをインストールするサーバー) |
| リージョン | japaneast(東日本) |
事前に下記の内容を参考にCodex CLIをインストールしてください。
対象サーバーも作成してください。以下の内容を参考にしてください。
Apacheをインストールする
この画面が表示されて指示を入力できない場合は、viで下記の内容を追記しましょう。
(v0.160.0以降から表示されます。)
| コマンド | 説明 |
|---|---|
| $ codex | Codex CLIを実行いたします。 |
| $ vi ~/.codex/config.toml [projects."/home/azureuser/azure"] trust_level = "trusted" | 下記の画面が表示された場合は、codexをCtrl+cで終了し、 viでconfig.tomlを追記いたします。 |

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

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

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

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

注意事項
| 項目 | 説明 |
|---|---|
| NSG | 80番ポートが開放されていないとブラウザーから確認できません。 |
| SSH秘密鍵 | az vm run-commandを使うためSSH接続・秘密鍵は不要です。 |
| 実行時間 | run-commandは前の実行が終わるまで次の実行を受け付けないため、 待ちが発生します。今回は完了まで約4分半かかりました。 |
| サービス名 | ubuntuの場合、Apacheのサービス名はhttpdではなくapache2です。 |
まとめ
・Azureでは、SSHを使わずに`az vm run-command`で、
対象サーバーにApacheをインストールできる。
・「azを使ってtest-server2にApacheをインストールし、自動起動を有効にして
起動してください。」の一言で、インストール・自動起動の有効化・起動まで完了できる。
・run-commandが実行中でエラーになっても、Codex CLIは待機してリトライし、
最後にSSHでApacheの状態まで確認してくれる。
・事前にNSGで80番ポートを開放しておく必要がある。
以上で「Microsoft Azure Codex CLIでApacheをインストールする方法」を完了いたします。

