「サブドメインにWordPressを入れただけなのに、なぜかメインサイトが消えてしまった…!」
そんな青ざめるようなトラブル、実はロリポップ(lolipop)サーバー特有の仕様が原因で起きることがあります。とくに、エックスサーバー(Xserver)との使い勝手の違いに慣れていないと、ついうっかりやってしまいがちです。
今回は、筆者が実際に体験した「サブドメインのWordPress設置による本体ドメインサイトの消失事件」を元に、なぜこのような事態が起きたのか、どのように復旧したのか、そして今後どうすれば安全にサブドメイン運用ができるのかを、詳しくご紹介します。
サーバー設定に不安がある方や、これからサブドメインを使ってテストサイトや別サイトを構築しようとしている方にとって、失敗しないための貴重な事例になるはずです。
サブドメインを作っただけで、なぜ本体サイトが消えたのか?
結論から言うと、ロリポップサーバーでは「サブドメインごとに独立したWordPress環境が作られる」という一般的な認識が通用しないことがあるからです。これは、サブドメインの設置方法や、フォルダ構成の扱い方に原因があります。
たとえば、エックスサーバーでは、サブドメインを作成すると、そのサブドメイン専用のディレクトリ(例:sub.example.com
→ public_html/sub
)が自動で割り当てられ、完全に分離されたWordPress環境を構築することができます。
しかしロリポップでは、サブドメインを追加した際に自分で任意のフォルダ名を指定してWordPressをインストールする形式になっており、本体ドメイン(例:example.com
)のルートディレクトリと同じ場所にWordPressを入れてしまうと、簡単に上書きが発生してしまうのです。
今回のケースでは、以下のような構成になっていたことが判明しました:
example.com
(本体ドメイン)に/wp
というフォルダでWordPressを設置済みsub.example.com
(サブドメイン)にも/wp
という同名フォルダにWordPressを新規インストール
結果、サブドメイン用に新しく設置したWordPressが、本体ドメイン用のWordPressフォルダに上書きされるかたちになり、本体ドメインのサイトが完全に消失してしまったのです。
ディレクトリ名の重複、そしてサーバー仕様への理解不足――これらが今回のトラブルを引き起こした最大の原因でした。
復旧作業の奮闘記(バックアップ)
サイトが消えた瞬間、頭の中が真っ白になるのは誰でも同じです。しかし、落ち着いて状況を整理し、ロリポップの提供している自動バックアップ機能を使えば、復旧の糸口は見えてきます。
筆者の場合、まずロリポップの管理画面から該当ドメインのバックアップを選択し、消えてしまった本体サイトのWordPressファイル群を復元しました。これにより、テーマファイルやプラグイン、画像などの物理的なデータはほぼ元に戻すことができました。
しかし、ここからがまた一苦労。なんとトップページだけが正しく表示されないという問題が発生したのです。
原因は、WordPress管理画面内で設定されていた「表示設定」にありました。WordPressでは、トップページを固定ページにするか、最新の投稿一覧にするかを選べる設定がありますが、この指定がデータベース内に保存されているため、物理的なファイルを戻しただけではトップページの挙動が元に戻らなかったのです。
ここでさらに問題が発生。なんと、クライアントがWordPressのログイン情報を忘れてしまっており、ログインすらできない状態になっていました。
WordPressにログインできない!ID・パスワード問題の突破口
バックアップでファイルを復元できたのに、肝心のWordPressにログインできない。
これは非常に厄介な状況です。WordPressのIDやパスワードを紛失してしまった場合、通常のログイン画面からの再発行ができればいいのですが、メールアドレスも正確に把握できていないケースでは、打つ手が限られてしまいます。
筆者はこの絶望的な状況を、データベース(MySQL)を直接編集するという裏技的手法で突破しました。
ロリポップの「phpMyAdmin」にアクセスし、対象のデータベースを開いて、wp_users
テーブルに格納されている管理者ユーザーのパスワードを、MD5形式で新しいものに書き換えることで、強制的にログインパスワードを変更しました。
たとえば、「adminpass」というパスワードを設定したい場合、user_pass
フィールドに 21232f297a57a5a743894a0e4a801fc3
(これは「admin」のMD5ハッシュ)を直接入力します。
この方法で新たにパスワードを設定し、ログインに成功。ようやくWordPressの管理画面にアクセスでき、トップページの表示設定なども含めて復旧作業を完了することができました。
再発防止!サブドメインでWordPressを入れるときの注意点
今回のような「サブドメイン用にWordPressを設置したら、なぜか本体サイトが消えた」という事故は、少しの準備と理解で確実に防ぐことができます。以下のポイントを押さえておけば、同じ悲劇を繰り返すことはありません。
1. インストール先のフォルダ名を必ず確認する
ロリポップでは、サブドメインを設定するときに任意のフォルダ名を入力する仕様になっています。
ここで、すでに本体サイトで使っているフォルダ名(例:wp
)と同じものを指定してしまうと、同じディレクトリに上書きされてしまう可能性が高いです。
→ サブドメイン用には、必ず新しいフォルダ名(例:wp-sub
やtestsite
など)を指定しましょう。
2. WordPressのインストールは慎重に
ロリポップの「簡単インストール」は便利ですが、何も考えずに進めると「どのディレクトリに入れるか」などの設定をスキップしてしまいがちです。
簡単インストールを使うときは、「インストール先のパス」が正しく分離されているかを必ず確認しましょう。
3. テスト環境と本番環境はしっかり分ける
テスト用サイトや開発用サイトをサブドメインで作る場合でも、本番サイトと同じディレクトリやデータベースを使い回さないことが大原則です。
可能であれば、別のデータベースを用意し、ファイルとデータベースの両面で完全に分離された構成を作るのがベストです。
まとめ
今回のトラブルは、「ちょっとサブドメインにWordPressを入れてみよう」という軽い気持ちから始まりましたが、結果として本体サイトの全消失→ログイン不能→データベース編集→ようやく復旧という、なかなかの地獄ロードを歩むことになりました。
複数サイト運用では、事前にフォルダ構成を計画してから作業に入ることがトラブル回避のカギです。
そして何より、万が一トラブルが発生したときはクライアントに謝りましょう。