RS2 から RS2 Plus に WordPress を移設する
はじめに
本記事では、Gehirn RS2 上で稼働する WordPress を、現在 Public Preview 中の Gehirn RS2 Plus に移設する手順について、記述しています。
今回は、isid.aiというドメイン上で稼働している「諸多日記」を移行することにします。
ドメインを認証する
Gehirn Infrastructure Services のコントロールパネルでは、プロジェクトごとにドメインの認証が必要になりました。
詳しい解説は「[シリーズGWS]第3回 Gehirn DNS とプロジェクトのドメイン管理」をご覧ください。
RS2 Plus にアカウントを作る
事前に、移設先となる RS2 Plus のアカウントを作成しておいてください。
RS2 Plus の概要や、作成の手順については「シリーズGWS」でお送りしている「[シリーズGWS]第4回 Gehirn RS2 Plus のアカウントを作り SSH でログインする」で紹介しています。
コンテンツをパックする
Gehirn RS2 上で、
tar zcf ~/migrate/isid.ai.tar.gz isid.ai
のように、WordPressサイトが配置されているディレクトリをパックします。
![スクリーンショット 2015-09-07 19.22.08](https://news.azureedge.net/wp-content/uploads/2015/09/b22f8660c07d95545f9a8fe8801e7600.png)
データベースをダンプする
Gehirn RS2 上で、
mysqldump -u ishimori_wp -p ishimori_wp > ~/migrate/isid.ai.sql
のようにして、WordPressで使用しているデータベースをダンプします。
パスワードは、wp-config.php
に書かれていますので、忘れた場合に参考にして下さい。
![スクリーンショット 2015-09-07 19.23.20](https://news.azureedge.net/wp-content/uploads/2015/09/f998fe58c64bd54aabcd356d746a1d50.png)
RS2 Plus に転送する
あらかじめ、RS2 PlusにUnixユーザを作成しておいて下さい。
コントロールパネルのRS2 Plusメニューから、UNIXユーザタブを開き、使用するユーザを選択すると、設定項目が表示されます。
また、ファイル転送のために一時的にパスワード認証を有効にしておいても良いですし、RS2 Plus 側から RS2 へアクセスしてファイルを取得しても構いません。
![スクリーンショット 2015-09-07 19.33.20](https://news.azureedge.net/wp-content/uploads/2015/09/fa291f3d0c38f3648be05ef5654dea98.png)
scp -P 22325 ./* isidai@d59f06bd-a062-41a2-b54e-2b7d8e27ae6d.gehirn.ne.jp:~/
RS2 Plus のコントロールパネルに表示されている情報から、ポート番号やホスト名を取得して下さい。
![スクリーンショット 2015-09-07 19.34.37](https://news.azureedge.net/wp-content/uploads/2015/09/06ab9b3f7ae3476b8e4bb75ad74c75c5.png)
パスワード認証を使用していて、今後使用する予定がない場合には、必ず無効化しておいてください。
![スクリーンショット 2015-09-07 19.35.13](https://news.azureedge.net/wp-content/uploads/2015/09/c063ba29562e7c7aeef290a21f7e5f3e.png)
コンテンツを展開する
RS2 Plus上での作業に移ります。
![スクリーンショット 2015-09-07 19.36.30](https://news.azureedge.net/wp-content/uploads/2015/09/d01a2a3022db7caba82839d82a981ada.png)
パックしたコンテンツは、/var/www
上に設置します。
所有者とパーミッションですが、グループが www-data
になっているか確認してください。またパーミッションもグループに読み書きなどが付いている必要があります。通常、/var/www内でtarを展開すれば、すでに適切な設定が行われていると思いますが、もしこのようになっていない場合には手動で設定する必要があります。
chmod -R g+rw /var/www/isid.ai
を実行することで、グループに読み書きの権限を付与できます。
実行後はこのようになっているはずです。
uploads $ ls -lhR
.:
total 28K
drwxrws--- 6 isidai www-data 4.0K Oct 17 2012 2011
drwxrws--- 14 isidai www-data 4.0K Dec 2 2012 2012
drwxrws--- 14 isidai www-data 4.0K Dec 1 2013 2013
drwxrws--- 14 isidai www-data 4.0K Dec 1 2014 2014
drwxrws--- 11 isidai www-data 4.0K Sep 1 00:04 2015
./2011:
total 16K
drwxrws--- 2 isidai www-data 4.0K Oct 17 2012 07
drwxrws--- 2 isidai www-data 4.0K Oct 17 2012 10
drwxrws--- 2 isidai www-data 4.0K Oct 17 2012 11
drwxrws--- 2 isidai www-data 4.0K Oct 17 2012 12
./2011/07:
total 2.2M
-rw-rw---- 1 isidai www-data 6.3K Oct 17 2012 016-130x95.jpg
-rw-rw---- 1 isidai www-data 10K Oct 17 2012 016-150x150.jpg
-rw-rw---- 1 isidai www-data 12K Oct 17 2012 016-172x150.jpg
データベースを展開する
RS2 Plus のコントロールパネルで、データベースを作成します。データベースタブから、データベースを追加ボタンを選択してください。
wp-config.php
に記載されているデータベース名、パスワードと同一にすると移行が楽ですが、この機会に変更してもよいでしょう。
![スクリーンショット 2015-09-07 19.37.00](https://news.azureedge.net/wp-content/uploads/2015/09/891e1e697e6dec4250067693c171df3a.png)
ダンプしたデータベースをインポートします。
![スクリーンショット 2015-09-07 19.37.50](https://news.azureedge.net/wp-content/uploads/2015/09/d01b0348c345ee8a1a959977de3e34e0.png)
RS2 Plus上で
mysql -u ishimori_wp -p ishimori_wp < isid.ai.sql
を実行します。これでデータベースに書き込まれました。
サイトを設定する
RS2 Plus のコントロールパネルから、サイトを追加します。サイトタブを開き、サイトを追加して下さい。「パスの設定」項目は、展開したディレクトリを指定します。
![スクリーンショット 2015-09-07 19.38.08](https://news.azureedge.net/wp-content/uploads/2015/09/c84dfeff0c111628a32f47ddf16f7a9c.png)
WordPress の FTPモードを無効にする
WordPressは、ファイルのオーナとWebサーバの実行ユーザが異なる場合に、ファイルの書き込みにFTPモードを使用しようとします。そうすると、プラグインやテンプレート、コアのアップグレードに不便が生じます。
そこで、FTPモードを無効にし、ダイレクトにファイルの読み書きを指定します。
wp-config.php
を開き、
/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */
と書かれている、「ブログをお楽しみ下さい」というコメントの上に
define('FS_METHOD','direct');
を書き入れます。
define('WP_DEBUG', false);
define('FS_METHOD','direct');
/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */
のようになるということです。
DNSを変更する
DNSのレコードをRS2 Plusのものに変更すれば作業は完了です。
事前にhosts
などに書いて、ページが正しく表示されるか試してもよいでしょう。