wordpressのサーバーをkusanagiに移行しようとしてVPSを新規で契約していたのですが、やり方が良く分からず放置していました。
いいかげん2台分のVPSの料金を払い続けるのもバカらしいと思って、再設定することにしたのですが、いやいや時間かかりました。公式のドキュメントがあるので問題ないと思っていたのですけどね。
将来的にまた移行する必要があるかと思いますので、その際に困らない様に備忘録として残しておきたいと思います。
ブログの運営はさくらのVPSで行っていますので、さくらのVPSでのやり方でご説明します。
スポンサーリンク
Kusanagiのインストール方法
公式ドキュメントのとおりで問題ありません。
ここで悩む必要はないかと思います。
初期設定まで終わらせて下さい。
sshのポート変更
以降はターミナルソフトを使用してssh接続し、設定を行うこととなりますが、セキュリティを向上させるため、sshのポート番号を変更しておきます。
`# vi /etc/ssh/sshd_config
17行目あたりにある
#Port 22
の#をとって適当な番号に変更し、保存
rootアカウントでのログインを禁止
vi /etc/group
#wheelグループにkusanagiを追加
#11行目のwheel:x:10 を wheel:x:10:kusanagi
として保存
vi /etc/login.defs
#ファイルの末尾にSU_WHEEL_ONLY yesと追加して保存
vi /etc/pam.d/su
#6行目の #auth required pam_wheel.so use_uidの#を消して有効化する。
vi /etc/ssh/sshd_config
#79行目の「PasswordAuthentication yes」を「no」に変更して保存
# systemctl restart sshd.service
rootアカウントでログインできないことを確認して下さい。
Kusanagiのプロビジョニング
作業を進める中で、データベース名などが必要となりますので事前に決めておいて下さい。
私は以下のとおりとして設定しました。
* プロビジョニングのプロファイル名 ←「.com」などを除いたドメイン名を指定
* ドメイン名=元のサイトのドメイン名
* 仮データベース名=wp_DB_2
* 仮データベースのユーザー名=wp_User_2
* 仮データベースユーザーのパスワード=wp_User_Pass_2
その後は公式マニュアルを参考に作業を進めます。
kusanagi provision [options] 【任意のプロファイル名】
の【任意のプロファイル名】には上記で指定したプロビジョニングのプロファイル名を指定して下さい。
複数のWordpressを立ち上げる場合は、必要な回数分プロビジョニングを実施して下さい。
あまりサイトを開くすぎると、サーバーが重くなってしまうのでは?と心配される方もいるかと思いますが、運営するサイトが1つから2つ程度でしたら2Gのプランで問題ありません。とても快適に動作しています。
ただ、さくらのVPSの場合3つ以上のサイトを立ち上げるのであれば4G以上のプランの方が良いようです。

移行先サーバーへ接続してWordpressを設定
自分のPCのhostsファイルを編集して新規設定したサーバーに接続し、WordPressの設定を行います。
私はMacを使用しておりますので、
sudo vim /etc/hosts
#開いたファイルに以下を追記
#[新規サーバーのipアドレス] [ドメイン名]
#ex: 0.0.0.0 hoge.com
と記載して接続しました。
WordPressの設定
hostsファイルを編集後、サイトにアクセスするとWordPressの画面が表示されるようになっているかと思いますので、指示に従ってWordPressをインストールします。

この時、プロビジョニングの際に使用した
- WordPressのデータベース名
- WordPressのユーザ名
- WordPressのパスワード
のほか、
- ブログのユーザ名
- ブログのパスワード
を設定します。
データを移行した段階で現在のサイトの設定に上書きされますのでなんでも結構です。私は、
- 仮WordPressユーザー名=wp-UserName
- 仮WordPressユーザーのパスワード=wp-UserPass
- 仮WordPressサイト名=wp-Demo
として設定しました。
データの移行
wordpressのデータ移行の方法としては
- wordpress標準の機能を使用する方法
- プラグイン(All-in-One WP Migration)を使用する方法
の2種類がありますが、プラグインを使用する方が圧倒的に簡単です。
最初はお金をケチって、wordpress標準の機能を用いて移行をしようとしていたのですが、3時間近くかけて結局移行することができませんでしたので、諦めてプラグインを使用しました。
少々、お高いですが圧倒的に時間の節約になるかと思いますので忙しい方はプラグインを使用することをオススメします。
また、基本的には問題ありませんが、移行元サーバーで使用しているテーマなどを事前に移行先サーバーにインストールしておいた方が、移行時のトラブルが少なくなる様な気がします。
let’sEncryptの設定
kusanagiのプロビジョニングの際、let’sEncryptの設定があったかと思いますが、既に移行元サーバーでlet’sEncryptで証明書を発行していた場合は、その証明書を移行することで、真サーバーに適用させることができます。
最初に移行元サーバーで証明書をバックアップして保存します。
cd /etc
zip -ry letsencrypt.zip letsencrypt
圧縮したファイルをFTP等でダウンロードし、移行先サーバーへ転送後に解凍します。
cd /etc
unzip letsencrypt.zip
これで問題なく証明書が適用されているかとは思いますが、万が一うまくhttpsで繋がらない場合は、こちらのコマンドを試してみて下さい。
kusanagi ssl --email test@sample.jp profile_name
これでhttps接続できる様になったかと思います。
移行には相当時間がかかりましたが、終わってしまえば非常に快適です。
まだまだ設定しないといけない部分はありますが、全くチューニングしない状態であってもPageSpeedInsightのモバイルスコアは60と劇的に良くなっておりました。

とても有難いです。
さくらのVPSの他、ConohaのVPSでもKusanagiがプリインストールされたVPSを利用できます。
興味のある方は是非どうぞ!