wordpressはデータベースにドメインの情報が保存されているためドメイン変更後アクセスしてもデータベースのドメインが変わらなければ前のドメインにアクセスしようとします。
なのでデーターベースのドメインを変更するためのツールを使用します。
使用したツールは「Search Replace DB」
DB内の文字列を置換してくれて、さらに他に関連する情報も置換してくれるツールです。
つまりSQLだけの置換では危険とのことです。以下の2つが危険な理由です。
・wp_optionsテーブルなどでurlの長さなどのデータを持っている
・プラグインやテーマなど壊れる可能性が出てくる
#使用した環境(バージョン)
名前 | バージョン |
---|---|
amazon linux | - |
apache | 2.4 |
wordpress | 4.7.5 |
Search Replace DB | 3.1.0 |
#wordpressドメイン変更方法
##1.ツール入手
ツールダウンロードしZIP形式になっているので解凍します。解凍後の名前は「Search-Replace-DB-master」になります。
#wget https://github.com/interconnectit/Search-Replace-DB/archive/master.zip
#unzip master.zip
##2.準備
wordpressの公開されているディレクトリ(wp-config.phpがあるディレクトリ)に解凍した「Search-Replace-DB-master」をmv
コマンドで移動させます。
1.※ブラウザでアクセスした際にwp-config.phpをもとに勝手にdatabaseに接続するための情報が駄々洩れになりますので注意!!先にWAFやポートセキュリティなどで自分しかアクセスできないようにするのを推奨
2.※「Search-Replace-DB-master」をmv
コマンドでファイル名を変更することを推奨。
3.※バックアップ(データーベースとwordpressディレクトリ)をバックアップすることを推奨(この記事ではやりません)
4.※apacheが読めるように権限を変更すること。
##3.ブラウザ開いてアクセスします
http://[ドメインやIPアドレス]/[2.※で変更したディレクトリ名]
以下のサイトが開きます(1.※に記述したように勝手にデーターベース名とパスワード名を平文で表示されてしまいます。)
##4.テスト実行、本番実行
web画面の一番上のreplaceの欄に変更前のドメインをいれwithの欄に変更後のドメインをいれる
例:変更前のexample.com を 変更後のexample1.comにしたい場合
replace example.com with example1.com
Actionsにあるdry run
でテスト実行し結果が表示されます。良ければ、live run
で本番実行させます
これで終わりです。
#参考サイト
参考サイト