ConoHaでKUSANAGI8.0.0-3を設定して他のサーバから移行する方法
※本ページはプロモーションが含まれていますConoHaでKUSANAGI8.0.0-3を設定する方法の自分用メモです。
AWSからConoHaへ移行した際の個人的な手順なのでお気をつけを。
ConoHaの会員登録は別記事で。
関連:「ConoHaでKusanagiを設定する方法 | 経験知」
サーバを立ち上げる
サーバ追加から、イメージでKUSANAGIを選択。rootのパスワードを入れ、SSH keyでキーを発行。
ネームタグは、自分が分かりやすい名前を付けて「追加」をクリックしてサーバを立ち上げる。
SSH接続
ダウンロードしたSSH key(.pemファイル)のパーミッションを変更。
$ chmod 600 /path/to/pem
SSHでサーバに接続
$ ssh -i /path/to/pem root@IPアドレス
AWSでは「centos」だったが、ConoHaでは「root」になる。
KUSANAGIの設定
SSHでログインすると既にrootユーザなので、
$ sudo su -
をする必要はない。
KUANAGIのドキュメントにあるアップデートコマンドはうまくいかないので、
# yum update -y kusanagi*
を実行してKUSANAGIをアップデートし、下記コマンドでモジュールをアップデート。
# yum update -y
一応サーバを再起動。
# reboot
一旦サーバ接続が切れるので、再びSSHで接続。
KUSANAGIの初期設定は、KUSANAGI8.0.0からオプションを追加することで一発で終えることができるようになった。
- kusanagiユーザーのパスワード
- keyファイルのパスフレーズ
- データベースのrootパスワード
を変更すれば下記コマンドでOK。デフォルトはHHVMだが、自作プラグインが動かないのでPHP7に変更している。
# kusanagi init --tz tokyo --lang ja --keyboard ja --passwd kusanagiユーザーのパスワード --phrase keyファイルのパスフレーズ --dbrootpass データベースのrootパスワード --nginx --php7
次に、WordPressのプロビジョニング。
こちらも、
- 自分のFQDN(ドメイン。keikenchi.comなど)
- データベース名(wordpressにした)
- データベースユーザ名
- データベースユーザのパスワード
- プロビジョン名
を変更するだけで下記コマンドで一発作成できる。Let’s Encryptの設定はまだしないので「–noemai」を指定している。ここで設定する場合は「–email e-mailアドレス」を追加。
# kusanagi provision --WordPress --wplang ja --fqdn 自分のFQDN --noemail --dbname wordpress --dbuser データベースユーザ名 --dbpass データベースユーザのパスワード プロビジョン名
後はドメインにアクセスしWordPressの初期設定をする。
SFTP接続
Filezillaで接続する。
KUSANAGIとFilezillaでSFTP接続する方法 | 経験知
新規サーバを追加して、
ホスト名にサーバのIPアドレス
プロトコルはSFTP
ログオンの種類をkey file
ユーザをroot
Key fileをrootのpemファイルを選択。
これで接続できる。
kusanagiユーザでもログインできるようにするため、
/root/kusanagi.pem
をrootユーザのSFTPでダウンロード。
ダウンロードしたpemファイルのアクセス権を変更。
$ chmod 600 /path/to/pem
Filezillaの設定を上記手順で、
ユーザをkusanagi
Key Fileをkusanagi.pem
を選択。
パスフレーズを聞かれるので「init」した時に設定したパスフレーズを入力。
サーバに接続するとパスワードを聞かれるが、「init」で設定したパスフレーズを入力すればOK。
ファイルのパーミッションの変更
All-in-One WP Migrationを使ってデータを移す際に、テーマファイルがインストールできなかったので、「theme」フォルダのパーミッションを「777」に変更するとテーマファイルもちゃんと入った。
接続情報の入力
KUSANAGIはプラグインのインストール時にFTPパスワードを求められるので、
ホスト名:localhost
FTPユーザー名:kusanagi
FTPパスワード:init時に設定したkusanagiユーザのパスワード
を入力すればOK。
プラグインのアップデート
初期段階ではプラグインのアップデートができなかったので、「plugins」フォルダの所有グループと所収者を「kusanagi」に変更。
# chown -R kusanagi:kusanagi /home/kusanagi/プロビジョン名/DocumentRoot/wp-content/plugins
設定ファイルなどの場所
confファイル
/etc/nginx/conf.d/プロビジョン名_http.conf
シェルファイル
/usr/lib/kusanagi/lib
nginxの再起動
# kusanagi nginx
SSLの設定
All-in-One WP Migrationを使って移行をし、表示確認を行ったらドメインのDNSを変更してSSLの設定。
ドメインが浸透しないと実行できないが、5分もかからず実行できた。
kusanagi ssl --email e-mailアドレス プロビジョン名
KUSANAGI8.0.0-3では、Let’s Encryptの設定はしっかりできるが、
off_quiet は使用できません。 kusanagi --auto [on|off]. 失敗しました。 新しいメールが /var/spool/mail/root にあります
というエラーがでてSSLの有効化が失敗するので、この後に
# kusanagi ssl --auto on
としてあげればOK。
httpからhttpsへのリダイレクトは下記コマンド。データベース内の「http://keikenchi.com」を「https://keikenchi.com」へ勝手に書き換えるので注意。
# kusanagi https redirect
「http://keikenchi.com」を使ってSSLの説明をした記事の内容が書き換わってわけの分からない記事になってしまったorz 現在は修正済みだが、この記事→「WordPressの記事内を一括変換してくれるSearch Regexの使い方 | 経験知」
おわりに
完全に自分用の移行手順メモです。
KUSANAGI8.0.0はバグばっかりでSSLの設定がちゃんとできなかったのですが、8.0.0-3でようやくSSL周りは動くようになりました。
それでも細かいバグがちらほらありますが…
もうちょっとがんばってほしいですね。。。