この記事でわかること

  • Claude CodeでAlmaLinuxのサーバーを扱うときの全体像
  • Claude Codeに任せやすい作業と、人が判断すべき作業の線引き
  • 構築から運用までの順番(このシリーズの目次)
  • 本番サーバーで守る作業ルールと、段階ごとに使える指示文
  • 実際に起きた失敗と、そこから決めた対策

この記事はシリーズの入口です。Apacheの設定やデータベースの構築といった個々の手順は、順番に公開する個別の記事で扱います。Claude Code自体の使い方は、先にClaude Codeの始め方と使い方を読んでください。

Claude CodeでAlmaLinuxを扱うとは

Claude Codeは、ファイルを読み、編集し、コマンドを実行できるAIのコーディングツールです。サーバーの作業では、調べる・計画を立てる・コマンドを実行することを手伝わせる形になります。

AlmaLinuxは、Red Hat Enterprise Linux(RHEL)とバイナリ互換のLinuxディストリビューションです。そのため、設定の考え方やコマンドはRHELの公式ドキュメントがそのまま参考になります。

サポートの期限はバージョンによって大きく違います。2026年10月時点の公式のリリースノートでは次のとおりです。

バージョン セキュリティ更新の期限
AlmaLinux 8 2029年5月31日
AlmaLinux 9 2032年5月31日
AlmaLinux 10 2035年5月31日

これから新しく構築するなら、期限の長いバージョンを選ぶのが基本です。

Claude Codeに任せられること・任せない方がよいこと

任せやすいのは、結果を人が確かめられる作業です。

作業 任せ方
状態の調査(OS・ポート・サービス・ディスク) 任せやすい。読み取りだけなので壊れない
設定ファイルの読み解き・ログの要約 任せやすい。結論は人が確かめる
変更計画・手順書の下書き 任せやすい。実行前に人が読む
設定の変更・再起動・パッケージの追加 計画を人が承認してから実行させる
削除・セキュリティ設定の緩和・秘密の値の扱い 人が判断する

線を引く基準は、間違えたときに元に戻せるかどうかです。読み取りは何度やり直しても問題ありませんが、削除や設定の緩和は取り返しがつかないことがあります。

注意したいのが、Claude Codeの巻き戻し機能(チェックポイント)の範囲です。公式ドキュメントでは、チェックポイントが追跡するのはファイル編集ツールによる変更だけで、Bashコマンドで変更したファイルは巻き戻せないとされています。サーバーで実行したコマンドの結果は戻らない前提で、バックアップは自分で取る必要があります。

全体の構築ロードマップ

構築と運用は、次の3段階で進めます。危険な変更より先に、安全な進め方と読み取りの調査を身につける順番です。

1. 基礎(壊さずに触る)

  1. 本番サーバーの作業をClaude Codeに安全に任せる方法(指示書・停止条件)
  2. サーバーの状態を読み取り専用で調べる方法
  3. SSH接続の初期設定(鍵認証・パスワード認証の無効化)

2. 公開(アプリを動かす)

  1. Apacheのリバースプロキシで複数のアプリを公開する
  2. Python製のWebアプリをgunicornで動かす
  3. PostgreSQLの構築と、アプリ用のユーザー・データベース
  4. ドメインとSSL証明書
  5. アプリの常駐(systemdとcronの比較)

3. 運用(止めずに続ける)

  1. バックアップと、復元できることの確認
  2. ログの管理(logrotate)
  3. セキュリティの基本(firewalld・SELinux・更新)
  4. トラブルシューティング(503・権限・文字化け)
  5. ログの解析をClaude Codeに任せる
  6. 定期的な監視

各記事は、公開したものからこのページにリンクを追加していきます。

本番サーバーで守る5つの作業ルール

筆者はこのサイト自体をAlmaLinuxのサーバーで運用し、Claude Codeで構築・更新してきました。その中で固まったルールが次の5つです。

ルール1: まず読み取り専用で調べさせる

いきなり変更させず、最初は状態の確認だけを頼みます。現状が分からないまま変更すると、同じサーバーで動いている別のアプリを止めることがあります。たとえば新しいアプリのポート番号を決める前に、実際に使われているポートをss -ltnpで確かめます。

ルール2: 変更の前に計画とバックアップ

変更するときは、変更するファイル・差分・バックアップの取り方・確認方法・戻し方を先に出させ、人が読んでから進めます。データベースを変更する前はpg_dumpでダンプを取り、そのダンプが読めることまで確認してから作業しています。pg_dumpは、データベースを使っている最中でも一貫した内容を書き出せ、ほかの利用者の読み書きを妨げません。

ルール3: 変更後は必ず検証する

Apacheの設定を変えたら、構文を確かめてから反映します。

sudo apachectl configtest
sudo systemctl status httpd

apachectl configtestは設定ファイルの構文を確かめるコマンドです。反映には、開いている接続を切らずに再起動するapachectl gracefulを使い、問題が出たらバックアップから設定を元に戻します。

ルール4: 止まる条件を先に決めておく

Claude Codeには、プロジェクトのルールを書いておくCLAUDE.mdというファイルがあり、セッションの開始時に読み込まれます。ここに「データベースの大量更新や設定の大きな変更の前は、止まって確認する」といった停止条件を書いておくと、毎回指示しなくても守らせやすくなります。指示書の具体的な書き方は、シリーズの最初の個別記事で扱います。

本番に限らない一般的なCLAUDE.mdの書き方(何を書き、進み具合の記録と何を分けるか)は、CLAUDE.mdの書き方にまとめています。

ルール5: 権限の確認を省かない

Claude Codeには、編集やコマンドの前に確認を求めるモードや、ファイルを編集せずに調べて計画を出す計画モード(plan mode)があります。一方、すべての確認を省くモードは、公式ドキュメントで隔離されたコンテナや仮想マシン向けとされています。本番サーバーの作業では、確認を省くモードは使わないでください。

Claude Codeへの指示は3段階に分ける

1つの指示で「調べて、直して、反映して」まで頼むと、途中で判断する機会がなくなります。指示を3段階に分け、段階ごとに人が結果を読んでから次へ進むのが基本です。以下は、筆者の運用で効果があった指示の考え方をもとに作った例です。STEP 1と2は計画モードで行うと、ファイルを編集しない状態で進められます。

STEP 1: 状態を調べさせる

このサーバーの現在の状態を調べてください。
読み取りだけのコマンドを使い、ファイルの変更・サービスの再起動・パッケージの変更はしないでください。

調べること:
- OSとバージョン(/etc/os-release)
- 待ち受け中のポートとプロセス(ss -ltnp)
- 動いているサービス(systemctl list-units --type=service --state=running)
- ディスクの空き容量(df -h)
- 定期実行の設定(crontab -l)

実行する前に、使うコマンドの一覧を見せて確認を待ってください。
結果は表にまとめ、事実と推測を分けて報告してください。

STEP 2: 変更計画を作らせる

やりたいこと: Apacheのリバースプロキシで、新しいWebアプリを /app/ で公開したい。

まだ何も変更しないでください。次の内容で変更計画を作り、報告してください。
1. 変更するファイルと、変更前後の差分
2. 変更前に取るバックアップと、その保存先
3. 変更後に確かめること(構文チェック・サービスの状態・URLの応答)
4. うまくいかなかったときの戻し方
5. ほかのアプリへの影響

STEP 3: 実行前に安全を確認させる

計画を承認します。次の順番を守って進めてください。
1. 計画にあるファイルのバックアップを取り、取れたことを見せる
2. 設定を変更し、apachectl configtest で構文を確認する
3. 構文チェックが成功したら、反映してよいか私に確認する
4. 反映後、サービスの状態とURLの応答を確認して報告する

エラーが出たら、そこで止まって報告してください。自己判断で別の方法を試さないでください。

実際に起きた失敗と対策

構文チェックのエラーで設定の誤りを疑った

一般ユーザーの権限でapachectl configtestを実行したら、証明書のファイルを読めずにエラーが表示され、設定の誤りを疑いました。原因は権限で、管理者の権限で実行すると問題はありませんでした。それ以来、構文チェックと反映は管理者の権限で行うと決めています。

日本語が文字化けした

Windowsからサーバーへファイルを送るときに、文字列として書き込む方法を使ったら日本語が文字化けしました。ファイルのまま転送する方法に変えて解決しています。サーバーへ送ったSQLの中の日本語が途中で崩れ、検索の条件が一致しなかったこともあります。

本番の操作が途中で拒否された

Claude Code側の安全の仕組みによって、本番の公開操作が拒否されたことがあります。このとき、言い換えや別の方法で通そうとはさせず、未完了の作業と再開する地点を記録して止めるようにしました。次の作業では、同じ手順がそのまま通っています。

確認の範囲を見誤った場面や、そこから運用をどう変えたかは、別の記事Claude Codeに本番サーバーの作業を任せてみて、困ったことと学んだことにまとめています。

次に読む記事

まとめ

  • Claude Codeに任せやすいのは、調査・読み解き・計画の下書きなど、結果を人が確かめられる作業
  • 削除やセキュリティ設定の緩和は、人が判断する
  • サーバーで実行したコマンドの結果は巻き戻し機能では戻らない。バックアップは自分で取る
  • 指示は調査→計画→実行前の確認の3段階に分け、段階ごとに結果を読む
  • 構築は基礎→公開→運用の順に進める

AlmaLinuxのサーバー構築は、手順そのものよりもどこで止まって確認するかで安全性が決まります。シリーズの個別の記事では、この記事のルールを1つずつの作業に当てはめて解説していきます。