フリーランスでWeb制作をしている矢野です。
前回・前々回の記事で、このポートフォリオサイトのテーマ自作とローカル開発環境の構築について書きま した。
今回はその続きで、実際にXServerへ本番デプロイしたときにハマった3つのポイントをまとめます。
デプロイ全体の流れ
まず全体像から書いておきます。
今回のデプロイは、大きく分けて次の流れで進めました。
- ドメインをサーバーパネルに追加
- 無料独自SSLを設定
- WordPressの簡単インストール
- FTPでテーマをアップロード
- コンテンツ(固定ページ・投稿)の移行
言葉にすると簡単そうに見えますが、実際には最初の2ステップだけでかなりの時間を溶かしました。
ハマったポイント①:「無料独自SSLの設定に失敗しました」の正体
ドメインをサーバーパネルに追加した直後、無料独自SSLの設定が失敗しました。
エラーメッセージには「DNS参照先サーバーが当サーバーではない」という趣旨の内容が表示されます。
これを見て、真っ先にネームサーバーの設定ミスを疑いました。
ところが確認してみると、ネームサーバーは最初からXServerのものを正しく向いていたんです。
では何が原因だったのかというと、サーバーパネル側での「ドメイン設定の追加」という、別の手順が抜け ていました。
ここで整理しておきたいのが、次の2つは似ているようで別物だという点です。
- ネームサーバー:どのDNSサービスがそのドメインの管理権限を持っているか
- サーバー側のドメイン設定:契約しているサーバーの、どの契約にそのドメインを紐付けるか
ネームサーバーが正しくても、後者の紐付け作業をしていなければ、SSLの発行対象となるサーバーが特定で きず失敗する、という仕組みのようです。
サーバーパネルの「ドメイン設定」から追加を済ませたところ、無事にSSLも反映されました。
ハマったポイント②:wp-config.phpで安全にhttps化する
SSLの設定が終わったら、次はWordPress側のURLをhttpsに変更する作業です。
実は以前、別のタイミングで「設定」→「一般」の画面から直接WordPressアドレスをhttpsに変更し、管理画 面にログインできなくなった経験がありました。
そのため今回は、より安全な方法を選びました。
wp-config.phpに、以下の2行を追記する方法です。
define('WP_HOME','https://yanoworks.com');
define('WP_SITEURL','https://yanoworks.com');
この方法のメリットは、データベースを一切触らずに済むことです。
万が一おかしくなった場合も、FTPでこの2行を削除するだけで元の状態に戻せます。
管理画面のUIから変更する方法に比べて、はるかに復旧しやすい手段だと感じました。
ハマったポイント③:テーマの二重フォルダ問題
テーマをFTPでアップロードする際、zipファイルをファイルマネージャーで解凍する方法を取りました。
このとき、アップロード先に同名のフォルダをあらかじめ作っていたことが原因で、次のような二重のフォ ルダ構造になってしまいました。
wp-content/themes/yano-works-theme/yano-works-theme/style.css
本来であればwp-content/themes/yano-works-theme/style.cssが正しい構造です。
一見、これではテーマとして認識されないのではと不安になりましたが、実際にサイトを開くと問題なく表 示されていました。
調べてみると、WordPressのテーマスキャナーは、直下にstyle.cssが見つからない場合、1階層深いフォルダ も探索してくれる仕組みになっているようです。
実害はなかったものの、気づかずに放置していると後々の管理で紛らわしくなるので、テーマをアップロー ドする際はフォルダ構造を一度確認しておくことをおすすめします。
まとめ:本番デプロイ前チェックリスト
今回の経験をもとに、本番デプロイ時に確認すべきポイントをチェックリストにしておきます。
- ネームサーバーがサーバー側を向いているか確認する
- サーバーパネル側でも「ドメイン設定の追加」を忘れずに行う
- SSLの反映には数時間〜最大24時間かかることを見込んでおく
- WordPressアドレスの変更は、UIからではなく
wp-config.phpの定数で行う - テーマアップロード後は、フォルダ構造が二重になっていないか確認する
デプロイ自体は難しい作業ではありませんが、こうした小さな見落としの積み重ねで想定より時間がかかり ました。
同じようにXServerへのデプロイを控えている方の参考になれば嬉しいです。