サポート » インストール » DNS切り替え後のURLの変更について

  • 解決済 onsenpokapoka

    (@onsenpokapoka)


    お世話になります。
    URLの設定をIPアドレスからドメインに変える際についての質問になります。

    ただ今、サイトのリニューアルとそれに伴うサーバ移転をする為、
    旧サーバでの運用と平行して、新サーバをレンタルしています。

    リニューアル前は通常の静的なサイト、
    リニューアル後はwordpressで構築したサイトとなりますので、
    コンテンツデータの移行は必要ありません。
    よって、新サーバ側にて、
    wordpressのアドレス設定をIPアドレスに指定し、サイトの構築を進めています。

    この後、DNSを切り替えて、
    旧サーバで使用していたドメインが新サーバに適応されるように設定し、
    一般公開としたいのですが、
    その際、wordpress側の設定変更が必要な箇所はどの部分になりますでしょうか?

    まず、wordpressの一般設定画面「WordPress のアドレス 」を
    IPアドレスからドメインに変更することだと思いますが、
    状況が良く似たこちらの記事を拝見しましたところ、
    絶対指定で埋め込まれた画像のパス(bloginfo(‘url’)等で無いところ)なども
    別途書き換えなければならないということがわかりました。
    http://ja.forums.wordpress.org/topic/1619

    自分なりに調査した結果、管理画面でのURL設定の他、
    MYSQLで「wp_posts」の中にあるURL情報を書き換えれば良さそう(phpMyAdminで行う??)という結論になりましたが、

    (1)パーマリンクを
     カスタム構造:「/%category%/%post_id%.html」に、
    (2)index.php位置を、
     http://example.jp/wordpress/index.php
     ではなく
     http://example.jp/index.php
     で開くように設定している

    ことが気になり、
    また、SQLでの書き換え方の詳細もよくわかっていない為、不安になっているしだいです。

    DNS切り替えをする日が決まっている為、
    まだ実際に試せない&当日慌てない様手順を整理したいのですが…。

    拙い質問になりますが、ご教示いただければ幸いです。
    宜しくお願い致します。

    =================================
    wordpressのバージョン:2.7.1
    使用サーバ:レンタル(共有サーバ CPI様)
    MYSQL 5.0
    PHP 5.2.8
    =================================

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • ご質問に対する答えではありませんが、Wordpress のような仕組みの CMS を利用してサイトの移行やリニューアルをする際には IP アドレスなどではなく、hosts ファイルの書き換えで対応した方が工数が少なく済みます。

    Windows XP であれば インストールドライブ:\windows\system32\driver\etc\hosts と言うファイルがあります。なければ hosts.sample というファイルがあると思いますのでそれをコピーして hosts というファイル名(拡張子はありません)にリネームして下さい。
    そこに移行中のドメインと移行先サーバの IP アドレスを入力します。

    # For example:
    #
    # 102.54.94.97 rhino.acme.com # source server
    # 38.25.63.10 x.acme.com # x client host

    と書いてあるとおり、例えば移行先サーバの IP アドレスが 100.100.100.100 であった場合には

    100.100.100.100 example.com

    と入力します。
    この設定以前にブラウザで example.com にアクセスしていたならば一旦ブラウザを再起動してから example.com にアクセスしてください。
    移行先である 100.100.100.100 のサーバに対して example.com でアクセスできれば設定は完了です。
    つまり、hosts に上記の設定を行う以前は”移行前のサイト”が、設定を行った後に”移行先のサイト”が表示されれば設定は完了です。

    この設定は hosts ファイルに上記の設定を加えたマシンのみ有効な設定になるため、完全に移行するまではこの設定を行ったマシンでだけ「移行後の状態が確認できる」という状況になります。
    移行に関する確認が全て完了したら DNS の設定を変更し、hosts ファイルの設定項目を削除します。

    逆にこのやり方以外では本質的に「移行前のデータ整合性評価」とはなり得ませんのでご注意下さい。特に生成したデータがドメイン名に依存する WordPress のような CMS では「サーバの移行前に WordPress が生成したデータを精査して置換する必要がある」と言うのは本末転倒でもあります。
    特にビジネスユースでシビアな基準が設けられている場合、移行予定のデータが移行後にしか確認できない状況は許されるものではない事がほとんどです。

    今回は既に作業されているようですので上記のアプローチは使えませんかもしれませんが、次回似たような作業を行う場合に参考にしてみて下さい。
    もっと具体的に hosts の仕様が知りたければ Wikipedia か、Wikipedia の該当ページに記載されている各単語を Google などで検索してみて下さい。
    http://ja.wikipedia.org/wiki/Hosts

    トピック投稿者 onsenpokapoka

    (@onsenpokapoka)

    spais 様

    貴重なお話をありがとうございました。
    本来はそのようにして
    事前環境を作るものなのですね。
    お恥ずかしながら、初めて知る情報でした。

    自分の無学さと調査不足に反省すると共に、
    いただいた情報を今後に生かせるよう、
    さらなる勉強をしていきたいと思いました次第です。

    設定の詳細まで書いていただけましたので、
    次回同じような案件にあたりましたら、
    是非こちらを参考にしたく思います。
    本当にありがとうございました!

    下のようにして検索するといいかもしれません。

    wordpress 引越し

    要はデータベースに書き込まれているドメイン名を一括で置換すればいいわけですよね。

    ●まずプラグインを”使用しない”にする。

    ●mysqlのデータを書き出しをする。
    phpmyadminならエクスポート→”DROP TABLE / VIEW / PROCEDURE / FUNCTIONを追加”にチェック→ファイルに保存するにチェック
    でデスクトップかなんかに保存

    ●exsample.sqlというファイルができあがるので、それをフリーソフトのサクラエディタ(←検索してね)で開く。
    ドメインを検索/置換で一気に変更してそのまま保存。

    ●次はこのsqlを移転先にインポートする。

    ●wp-config.phpを適宜修正する。

    で、だいたいが済むと思います。
    この方法を応用してみてください。
    ただし環境によってはトラブルが伴いますので、注意してください。
    私の場合はプラグインが問題おこしました。
    管理画面のプラグインをインストールするところからアップロードしたら直りましたが、FTPで移動しただけだとうまくいきませんでした。
    また、EUCベースのサーバーが移転先だったりするとまた困難がともないましたが、サーバー屋の仕様をよく読んで、.htaccessをEUCなりshift-jisなり環境に合わせて保存したりして回避しました。

    途中、私もあきらめかけましたが、やってできないことはないので、がんばってください。

    トピック投稿者 onsenpokapoka

    (@onsenpokapoka)

    chinichiro 様

    返信が遅くなり失礼いたしました。
    手順のご説明、ありがとうございます。

    昨日実際にDNSの切り替えを行いましたところ、
    chinichiro様の書いてくださった手順で無事希望の結果が得られました!

    詳細を書きますと、以下のような作業をしました。

    1. 色々な方法(wordpress本体から、プラグインから、phpmyadminから)でDBのデータをバックアップ。
    2. その他のデータをFTPでダウンロード、バックアップ。
    3. DNSを切り替る。ドメインが新サーバに適応されたのを確認。
    4. WPの管理画面にアクセスし、「WordPress のアドレス」をIPからドメインに変更。一緒にプラグインも停止。
    5. ブログにアクセスし、ソースを確認。
      (表示上は問題ないが、投稿記事の画像パスなどが、IPのままなことを確認)
    6. phpmyadminで、最新のデータをエクスポート。
    7. 6を文字コードの設定ができるテキストエディタで開く。
    8. IPをドメインに置換。
    9. phpmyadminに戻り、インポート。
    10. ブログにアクセスし、ソースを確認。
      (全てのパスがドメインに変わっていることを確認。)

    補足いただいた注意点のことや、
    パーマリンクがデフォルトじゃなかったり、カテゴリーや記事番号に欠番が多くあったりしたことなどから、DBからエクスポートしたデータを扱うのが少し不安だったのですが、問題なく動作しました!

    お力添え、本当にありがとうございました。

    ログとして質問したいんですが、
    phpmyadminの

    ”DROP TABLE / VIEW / PROCEDURE / FUNCTIONを追加”

    にチェックいれましたか?
    これがどうして必要なのかがわかっていないんです。
    前にはチェックしなくても成功したときもあったんですが。

    もしお暇があって記憶があれば、サンプルとして教えてください。

    とにかく良かったですね!

    トピック投稿者 onsenpokapoka

    (@onsenpokapoka)

    phpMyAdminの【構造】のところは

    ・DROP TABLE / DROP VIEWを追加
    ・IF NOT EXISTSを追加
    ・AUTO_INCREMENT 値を追加する
    ・テーブル名やフィールド名を逆クォートで囲む

    の4つにチェックが入っている状態にしました。

    「DROP~」はテーブルの重複に関する設定みたいですね?
    フォーラムでご返信するには知識が危ういので、すみません、詳細は詳しい方にフォロー頂ければと思います。。

    onsenpokapokaさん

    フィードバックありがとうございます。

    なるほどたしかにぼくも4つのチェックでいつもデータベースの編集をしています。

    DROP TABLE / DROP VIEWを追加

    をしないと

    ダンプしてます

    みたいなこと言われてデータベースの更新ができません。
    なにが原因なのかわかりませんが、データベースの引越し、wordpressのサーバー移動で困った方は参考にしてみてください。
    けっこうひっかかるところだと思うんです。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「DNS切り替え後のURLの変更について」には新たに返信することはできません。