バーチャルホストを変更する手順 既存のバーチャルホスト名を変更する手順を解説します。 実行するコマンドを以下に紹介しますが、先頭の $ や # を入力する必要はありません。
目次
- バーチャルホストを新しく追加し、 MySQL のアクセス情報を控えます
- 既存のファイル新しく追加したバーチャルホストへ移動します。
- 追加した MySQL 情報をコピーした wp-config.php に記述します
- 既存のサイトからエクスポートしたデータベースを新しく追加したバーチャルホストに移動し、データベースをインポートします。
手順
Step 1: サーバへ SSH し,root として作業をします
コマンド:
$ ssh -i {鍵ファイル保存場所のパス}xxxx.pem ec2-user@{インスタンスのIPアドレス}
$ sudo su -
Step 2: wp-setup で新しいバーチャルホスト設定します
コマンド:
# cd /var/www/vhosts/
# wp-setup NEW.com
start...
Starting Chef Client, version 12.22.3
resolving cookbooks for run list: ["amimoto::wordpress"]
Synchronizing Cookbooks:
- amimoto (0.1.0)
Installing Cookbook Gems:
Compiling Cookbooks...
Converging 74 resources
[........]
Chef Client finished, 23/114 resources updated in 17 seconds
Reloading nginx: [ OK ]
...done
Step 3: 作成された local-config.php の13行目付近にある MySQL 接続情報をテキストエディタにコピペしてローカルなどへ保存する
# cat New.com/local-config.php
'database' => 'NEW_DATABASE',
'username' => 'NEW_USER',
'password' => 'NEW_PASSWORD',
Step 4: rsync で旧バーチャルホスト の Web ドキュメントルートから新バーチャルホストの Web ドキュメントルートにすべてのファイルをコピーする
コマンド:
# rsync -a /var/www/vhosts/OLD.com/ /var/www/vhosts/NEW.com/
Step 5: 新バーチャルホストの wp-config.php を Step3 で保存していた MySQL 接続情報へ書き換える。
コマンド:
# vi /var/www/vhosts/NEW/wp-config.php
変更前:
'database' => 'OLD_DATABASE',
'username' => 'OLD_USER',
'password' => 'OLD_PASSWORD',
変更後:
'database' => 'NEW_DATABASE',
'username' => 'NEW_USER',
'password' => 'NEW_PASSWORD',
このように変更します
Step 6: 旧サイトからデータベースをエクスポートします。
以下の例では /var/www/vhosts/OLD.com/ に OLD_DATABASE.sql というファイルが生成されます。
コマンド:
# cd /var/www/vhosts/OLD.com/
# wp db export
Step 7: 新サイトに Step6 でエクスポートしたデータベース (OLD_DATABASE.sql) をインポートします
コマンド:
# cd /var/www/vhosts/NEW.com/
# wp db import /var/www/vhosts/OLD.com/OLD_DATABASE.sql
Step 8: 新サイトで URL 等の置換を行います
コマンド:
# wp search-replace OLD.com NEW.com
Step 9: Web ドキュメントルートのオーナーを nginx:nginx に変更します
コマンド:
ec2-user でも Nginx と PHP-FPM(もしくは HHVM)を動作させる作業をされた場合は
Web ドキュメントルートのオーナーを ec2-user:nginx へ変更します。
コマンド:
# chown -R ec2-user:nginx /var/www/vhosts
バーチャルホストホストの追加と、追加した新サイトへのデータのインポート作業は以上です。実際にアクセスして表示の確認をしてください。