失効したドメインをサブドメインに差し替えて復旧する方法(エックスサーバー・WordPress)

以前友人から復旧を頼まれたすでにドメインが失効してしまっているホームページをサブドメインに移植する作業。ドメインは失効しているが、データやファイルはサーバー上に残っていたので手はかかるが復旧可能ではあった。

WordPressの内容物(ファイルとデータベース)を手動でFTPなどを使って作業することになる。

 

確認・取得すること

サブドメインを申請する

  1. Xserverサーバーパネル>サブドメイン設定>ドメイン選択画面>メインドメインを「選択する」
  2. サブドメイン設定>サブドメイン設定追加タブ>入力して追加する。
  3. 「反映待ち」ラベルが消えるまで1時間ほど待つ。

 

データベースのデータを取得する

  1. Xserverサーバーパネル>MySQLバックアップ>現在のMySQLをダウンロードタブをクリック
  2. 対象のDBを「圧縮しない」形式でダウンロードして取得する

※圧縮してもいいと思うが、結局中身の確認したりするので圧縮しないほうがすぐ使える。

 

箱を作る(簡単インストール)

どうすれば効率が良く手作業が少ないか、作業ログが残せるか、のちのち運用しやすいかと考えて以下の方法をとった。

Xserverサーバーパネル>Wordpress簡単インストール>Wordpressインストールタブ

  • サイトURL:作成したサブドメインを指定
  • ブログ名〜メールアドレス:失効したURLの内容をを入力
  • キャッシュ自動削除・データベース・テーマ:あとで上書きするのでデフォルトのままで良い

データベースのDB名/UID/PSが適当に割り振られるが、あとで管理しづらいのなら「」から自分で事前に作成しておくといい。HTTPになっているが問題ない(HTTPSに変更可能)

 

HTTPSに変更する

  1. Xserverサーバーパネル>ドメイン「SSL設定」をクリックし、現在の設定でSSLがONになっていることを確認する。デフォルトでONになるはずである。
  2. WordPressでSSLの設定を行う。
    ダッシュボードへログイン>設定>一般を開く。httpになっている箇所2つを https にして「変更を保存」する。
  3. サブドメインの.htaccessを変更する。
    Xserverサーバーパネル右上の黒い帯状にある「ファイルマネージャ」
    >メインドメイン/public_html/サブドメイン名>ファイル「
    .htaccess」編集ボタンクリック
    >一番上の行に以下の文字列をそっくりそのまま貼り付け>更新

    RewriteEngine On
    RewriteCond %{HTTPS} !on
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

 

ここまでが下準備
これからが移行作業

 

バックアップをダウンロードで取得したDBをインポートする

  1. Xserverサーバーパネル>phpmyadmin>簡単インストールした情報でログイン
  2. >左メニューからデータベース名をクリックして展開する
  3. >「インポート」タブをクリック>ファイルを選択(ダウンロードしたもの)>実行

サクッと数100件以上のインポートが終わる。

 

FTPでファイルをサブドメイン下に転送・上書きする

  1. 失効ドメイン下にある「Public_html」フォルダごとファイルを全てローカルに保管する
  2. メインドメイン名>サブドメイン名の下にある「Public_html」フォルダをローカルに保管したフォルダで上書きする

ファイル数にもよるが15分ほどはかかる。

 

URLを開いて最終チェックと調整をしていく

リンクが壊れていると思うので、手直し又は「Search Regex」プラグインなどを使って書き換える。