自宅サーバーをClaude Codeで引っ越し その7:WordPressの導入
前回で、既存のホームページの移行はひと段落しました。今回は、新しくWordPressを導入した話です。今こうして記事を書いているこのブログが立ち上がった回でもあります。
なぜWordPressを入れたか
これまで紹介してきたとおり、既存のホームページは作成ソフト(BiND 5)が起動できず、構造を変えるような更新が難しい状態です。中身をすべて作り直すのは大変なので、既存のサイトはそのまま残しつつ、新しいコンテンツはWordPressで書いていく方針にしました。
Takesa’s Homepage 用と krp 用で、それぞれ独立したWordPressを入れています。1つのWordPressで複数サイトを扱う方法(マルチサイト)もあるそうですが、片方だけ設定を変えたいときなどに面倒が少ないだろうということで、別々にしました。当時はまだHTTPS化する前だったので、ホームページが8080番、WordPressが8081番という使い分けです。
土台づくり
WordPressを動かすには、これまでの静的なホームページとは違って、PHPとデータベースが必要です。このあたりはClaude Codeにお任せで、PHP-FPMとMariaDBをインストールし、データベースを作り、WordPress本体(日本語版)をインストールして、nginxに設定を追加する、というところまでが一気に進みました。
あとはWordPressのセットアップ画面に沿って、データベースの接続情報とサイト名、管理者アカウントを設定するといった作業をClaude Codeに指示してもらいながら進めました。
メールが送れない
次に困ったのがメールです。WordPressはパスワードの再設定などでメールを送りますが、このサーバー(WSL2のUbuntu)にはメールを送る仕組みが入っていないため、そのままでは送信できません。
そこで「WP Mail SMTP」というプラグインを入れて、Gmailから送る形にしました。ただ、ここでも一度つまずいています。プラグインの画面でそのまま「Googleと連携」を押すと、403 access_denied と表示されて先に進めません。
Claude Codeによると、これはプラグイン提供元が用意した共通の窓口を経由するためで、自分専用の連携情報をGoogle側で作る必要があるとのことでした。Google Cloud Consoleでその設定を作り、発行された情報をプラグインに入力したところ、無事にテストメールが届きました。
外部から自動で投稿するための設定
このあとのアメブロの記事の移行では、Claude Codeが外部から自動で記事を投稿していきます。そのために使うのが、WordPressの「アプリケーションパスワード」という仕組みです。
ところが、この機能が管理画面に見当たりません。調べてもらうと、WordPressは安全のため、HTTPS化されていないサイトではこの機能を無効にしているとのことでした。当時はまだ8081番のHTTP接続だったので、設定ファイルに一行足して、この制限を外してもらっています。
define( 'WP_ENVIRONMENT_TYPE', 'local' );
ちなみに、この設定はその後HTTPS化したことで不要になり、先日ようやく外しました。実はこの一行が残っていたせいで、別の作業(Google Site Kitの設定)でタグが出力されないという問題も起きていたので、ずっと残しておくものではないようです。
外部公開するので、防御も
インターネットから見えるサーバーなので、ログインページへの不正アクセス対策として「Limit Login Attempts Reloaded」というプラグインも入れました。nginxのログを見ると、自動で色々なURLを試しに来るアクセスが日常的に届いているようです。実害はないとのことですが、公開サーバーは色々セキュリティ対策を強化していかないとマズイので、脆弱な部分がないかしっかりとチェックしてもらう必要があります。
そして記事の引っ越しへ
こうして空っぽのWordPressの環境ができあがり、いろいろ触ってみてどんなことができるのかを把握することから始めました。良さそうなテーマが見つかったらインストールして試していましたが、今一つどのような感じに仕上げれば良いのかイメージが固まりませんでした。
そこで、最初のコンテンツをゼロから作るのではなく、アメブロに書き溜めていた記事をClaude Codeを使ってまるごと移行してみようと考えました。
自分専用のWordPressでブログを運用すれば、余計な広告表示なしに、自分の好きなデザインと機能を実装して運用ができるので、それだけでもメリットがあると思います。
また検索や分類で、過去の記事へのアクセスも容易になるので、今までの資産を有効活用できます。
次回
ここまでで、サイトとしては一通り動くようになりました。次回は、PCを再起動してもサーバーが自動で立ち上がるようにする話です。

[…] 自宅サーバーをClaude Codeで引っ越し その7:WordPressの導入 […]