DirectAdmin解説サイトをAstro + pitcms + Cloudflare Pagesで作った話
WordPress使わんと、半日で公開環境作るまで
はじめに
サーバー管理ソフトとの付き合いは、もう長いわ。最初に使うたんはEnsimやってんけど、いつの間にか会社ごと消えてしもた。次にPlesk、ほんでcPanelへ。cPanelは確かに長いこと使うてきた。機能も多いし、安定してたからな。
ところが近年、cPanelの利用料金がえらい上がってもうた。しかも毎年上がり続ける気配があって、このまま使い続けるんはしんどい思て決断した。
ほんでたどり着いたんがDirectAdminや。
ただし、これがまた一筋縄ではいかんかった。日本語化の問題が立ちはだかってきたんやけど、その話は次の章で詳しく書く。そんな状況やからこそ、DirectAdminをあんまり知らん人向けの日本語解説サイトを、利用開始と合わせて作ろう思て決めた。
サイト構築にWordPress使う気はなかった。せっかく作るんやったら、モダンな構成を試しながら学びたかったからな。
選んだスタックはこの3つや。
- Astro(フロントエンドフレームワーク)
- pitcms(GitベースのヘッドレスCMS)
- Cloudflare Pages(ホスティング)
結論から言うと、半日で公開環境まで作れた。 しかも費用はほぼゼロや。
日本語化の苦労話
DirectAdminには、今のところ公式の日本語表示が用意されてへん。バイナリを調べてみたら、対応言語のリストに「ja」も「ja_JP」も含まれてのうて、日本語のpoファイルを正規の場所に置いても、そもそも認識されへん仕組みやった。本体側で日本語が想定されてへん以上、正攻法では手の打ちようがない。
そこで思いついたんが、既存の言語ファイルを日本語で上書きする裏ワザや。最初は韓国語(ko.po)で試してみたけど、言語メニューに「한국어」と表示されるんは違和感が強すぎた。次に中国語簡体字(zh_Hans.po)を日本語に差し替えたところ、メニュー表示は「中文(简体中文)」のままやけど、中身は日本語っちゅう、ちょっと強引な状態を作り出すことに成功した。同じ漢字圏やから、視覚的にはまだ我慢できる。
肝心の翻訳作業は、いつも頼りにしてるくらさん(Claude Code)に依頼した。英語メニューを丸ごと渡して、用語の整合性を取りながら、サーバー管理特有の専門用語を自然な日本語に置き換えてもらうっちゅう、地味やけど手間のかかる作業や。それなりにコストかかるかと覚悟してたけど、蓋を開けてみると翻訳料金はわずか300円程度。コーヒー一杯にも満たん費用で、サーバー管理画面が母国語に変わってしもた。AIの恩恵をこんな形で受ける時代が来るとは、10年前には想像もしてへんかった。
ただしこの方法、DirectAdmin本体のアップデートが入るたびに上書きが戻る可能性があって、あくまで暫定対応にすぎん。長期運用を考えるんやったら、本家の翻訳プロジェクト(Weblate)に正式投稿する方向も、いずれは視野に入れる必要があるやろな。
ここまで泥臭い回避策に頼らざるを得ん現状こそ、日本語ユーザーの少なさを物語ってる。情報を探しても英語のフォーラムばっかりで、初めて触る人にとってはハードルが高い。せやからこそ、DirectAdminをあんまり知らん人でも踏み込めるよう、利用開始と合わせて日本語解説サイトを立ち上げることに決めた。同じ場所でつまずく人を一人でも減らせれば、この苦労話にも意味が出てくる。
なんでこのスタック選んだんか
Astro
静的サイトジェネレーターの中でも、Astroは「コンテンツ重視のサイト」に向いてる。ブログや解説サイトとの相性が抜群で、ビルドした後は静的ファイルになるからホスティングも楽や。
pitcms
今回の選定で一番悩んだんがCMSや。候補はmicroCMSやってんけど、最終的にpitcmsを選んだ。
pitcmsは2026年1月にリリースされたばっかりの新しい日本製ヘッドレスCMSや。microCMSとの一番の違いは、APIベースやのうてGitベースっちゅう点。
具体的には、コンテンツが全部自分のGitHubリポジトリに保存される。これが何を意味するかっちゅうと、
- コンテンツのバージョン管理がGitで完結する
- サービスが嫌になったらすぐ乗り換えられる(ベンダーロックインが弱い)
- ローカルでAI使いながら大量のコンテンツを操作できる
特に3番目は魅力的やった。将来的にコンテンツを大量に移行したり整形したりする時に、ローカルでClaude Code使うて一括処理できるんは大きいメリットや。
まだ生まれたばっかりのサービスやけど、それがむしろ面白いと感じた。アーリーアダプターとして試す価値は十分ある。
Cloudflare Pages
無料・高速・SSL自動設定。Astroの静的ファイルをホスティングするには最適な選択肢や。GitHubと連携したら、pushするたびに自動でデプロイされる。
費用について
気になる費用面も整理しとく。
| サービス | 費用 | |---|---| | Astro | 無料(OSSフレームワーク) | | pitcms | 無料(Freeプラン・コレクション3つまで) | | Cloudflare Pages | 無料(帯域無制限・デプロイ500回/月) | | Cloudflare R2 | 無料枠内(10GB/月まで) |
解説サイト規模やったら、全部無料枠内で収まる。
pitcmsは今後有料プランが拡充される可能性はあるけど、仮にそうなってもコンテンツはGitHubに残るから、他のCMSへの移行コストが低いんが安心なところや。
実際の構築手順
1. GitHubリポジトリ作成
まずGitHubに da_guide っちゅうPrivateリポジトリを作った。Privateでも問題ない。pitcmsもCloudflare Pagesも、後の手順でアクセス許可を設定する。
2. pitcmsの設定
pitcms(https://pitcms.net)にGitHubアカウントでログインして、プロジェクトを作成する。
ダッシュボードに「設定ファイルが見つかりません」って表示されるけど、これは正常な状態や。次のステップで設定ファイルを作る。
pitcms.jsoncの作成
pitcmsはリポジトリのルートに pitcms.jsonc っちゅう設定ファイルが必要や。ここにコンテンツの構造(コレクション)を定義する。
今回はClaude Codeに作成を頼んだ。指示はシンプルや。
pitcms.jsoncを作成して。
DirectAdmin解説サイト用で、articlesコレクションを定義する。
フィールドはtitle(必須), category(必須), description, draft, createdAt, updatedAt。
仕様はhttps://pitcms.net/docs/pitcms-jsonc を参照。
作成後はGitHubにコミット・プッシュまでやって。
Claude Codeが pitcms.jsonc を生成して、コミット・プッシュまで全部やってくれた。その後pitcmsダッシュボードをリロードしたら、「解説記事」コレクションが表示された。
3. Astroプロジェクトの構築
これもClaude Codeに頼んだ。
C:\working\da_guide にAstro 6.xのblogテンプレートでプロジェクトをセットアップして。
pitcms.jsoncは消さんこと。
src/content/articles/ をContent Collectionとして設定して、
articlesのスキーマ定義もやって。
GitHubにコミット・プッシュ(「init astro project」)。
Astro 6.x・Content Collection・スキーマ定義まで一発で完了。38ファイルが生成された。
4. Cloudflare Pagesにデプロイ
Cloudflare(https://dash.cloudflare.com)にログインして、Workers & Pages → アプリケーションを作成 → Pages → Connect GitHubの順で進む。
ビルド設定は以下の通りや。
| 項目 | 設定値 | |---|---| | フレームワークプリセット | Astro | | ビルドコマンド | npm run build | | ビルド出力ディレクトリ | dist |
「保存してデプロイする」を押したら、数分で da-guide.pages.dev にデプロイ完了や。
5. カスタムドメインの設定
Cloudflare Pagesのカスタムドメイン設定画面で da.shizuku.net を入力したら、設定するCNAMEレコードが表示される。
名前: da
ターゲット: da-guide.pages.dev
このレコードをドメインのDNS管理画面(自分の場合はenom)に追加する。設定が反映されたら「アクティブ・SSL有効」になる。
まとめ
今日の作業をざっくり振り返ってみる。
- DirectAdminのメニュー日本語化(中国語ファイル上書き・翻訳料300円)
- pitcmsアカウント作成・GitHubリポジトリ連携
- pitcms.jsoncでコレクション定義(Claude Code活用)
- Astro 6.xプロジェクト構築(Claude Code活用)
- Cloudflare Pagesデプロイ
- カスタムドメイン
da.shizuku.net設定完了
所要時間:約2時間。費用:ほぼゼロ。
pitcmsはまだ生まれたばっかりのサービスで日本語記事も少ないけど、Gitベースのコンテンツ管理っちゅう考え方は非常に合理的や。特にAstroのContent Collectionとの相性が良うて、Jamstackアーキテクチャとの組み合わせに向いてると感じた。
DirectAdminそのものも、日本語ユーザーが少ないせいで情報が乏しいけど、cPanelからの脱出先としてはコスト面で十分検討に値する。同じようにcPanelの値上げに頭抱えてる管理者の参考になれば嬉しい。
次回はサイトのデザインカスタマイズと、実際のDirectAdmin解説記事の投稿について書くつもりや。
この記事はシリーズ連載や。次回:「pitcmsで記事を書いてAstroに表示するまで」
