手順
1. ovaファイルのダウンロード
KUSANAGI for VMware – KUSANAGI
2. ovaファイルをVirtualBoxに読み込ませる
ファイルメニューの「仮想アプライアンスのインポート」から、上記でダウンロードしたovaファイルを読み込む。
俺は名前だけ、任意のもの(デフォルト: vm)にした。
3. 起動
VirtualBoxマネージャーから、該当の仮想マシンをダブルクリックして起動
4. ネットに繋がるようにする
VirtualBoxにKUSANAGI for VMware入れたらネットワークから外に出られない問題 - Qiita
5. yumのレポジトリを更新
VirtualBoxにKUSANAGI for VMware入れたらyum updateが404返す問題 - Qiita
6. 公式マニュアルに従い、セットアップ
[GUEST ROOT]# yum --enablerepo=remi,remi-php56 update -y
[GUEST ROOT]# reboot
[GUEST ROOT]# kusanagi init
7. sshでログインできるようにする
手順6でsshの初期設定が行われるので、その後にauthorized_keysに任意の公開鍵を追加する。
[GUEST ROOT]# wget https://github.com/<my_github_account>.keys
[GUEST ROOT]# cat <my_github_account>.keys >> /home/kusanagi/.ssh/authorized_keys
ホストから、SSHで入れるか確認。
[HOST]$ ssh -l kusanagi 192.168.1.193
8. 公式マニュアルに従い、プロビジョニングする
[GUEST ROOT]# kusanagi provision <任意のプロファイル名>
9. 公式マニュアルに従い、ブラウザから WordPress をセットアップ
この時、ホストOSの /etc/hosts に、手順8で指定したFQDNでアクセスできるように設定を追加しておく
[HOST]$ sudo echo 'kusanagi.test 192.168.1.193' >> /etc/hosts
10. kusanagiユーザーからsudoできるようにする
[GUEST ROOT]# vi /etc/group
...
wheel:x:10: -> wheel:x:10:kusanagi # wheel に kusanagi を追加
...
11. wp-cli のアップデート
[GUEST ROOT]# wp --info
PHP binary: /usr/bin/php
PHP version: 5.6.24
php.ini used: /etc/php.ini
WP-CLI root dir: phar://wp-cli.phar
WP-CLI packages dir:
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 0.24.0
よく見ると、 wp-cliのバージョンが古い。なのでアップデートする。
[GUEST ROOT]# wp cli update --allow-root
You have version 0.24.0. Would you like to update to 1.5.0? [y/n] y
Downloading from https://github.com/wp-cli/wp-cli/releases/download/v1.5.0/wp-cli-1.5.0.phar...
New version works. Proceeding to replace.
Success: Updated WP-CLI to 1.5.0.
wp-cli は、 root で実行しようとするとエラーが返ってくるので、オプションに---allow-root
を与えて、rootでupdateできるようにする。ちなみに、wpコマンド自体は /usr/bin/ にあるので、 root じゃないとアップデートできない。
[GUEST ROOT]# wp --info
OS: Linux 3.10.0-327.28.2.el7.x86_64 #1 SMP Wed Aug 3 11:11:39 UTC 2016 x86_64
Shell: /bin/bash
PHP binary: /usr/bin/php
PHP version: 5.6.24
php.ini used: /etc/php.ini
WP-CLI root dir: phar://wp-cli.phar
WP-CLI vendor dir: phar://wp-cli.phar/vendor
WP_CLI phar path: /root
WP-CLI packages dir:
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 1.5.0
12. wp-cliの設定
このVM内ではWordPressのディレクトリは1つなので、wp-cliのconfigファイルにpathを記載しておく。それにより、wpの実行都度、--path=<wp_dir>
というオプションを付けなくて済むようになる。
[GUEST ROOT]# su - kusanagi
[GUEST KUSANAGI]$ echo 'path: /home/kusanagi/<手順8で指定した、任意のプロファイル名>/DocumentRoot/' >> ~/wp-cli.local.yml
[GUEST KUSANAGI]$ wp --info
OS: Linux 3.10.0-327.28.2.el7.x86_64 #1 SMP Wed Aug 3 11:11:39 UTC 2016 x86_64
Shell: /bin/bash
PHP binary: /usr/bin/php
PHP version: 5.6.24
php.ini used: /etc/php.ini
WP-CLI root dir: phar://wp-cli.phar
WP-CLI vendor dir: phar://wp-cli.phar/vendor
WP_CLI phar path: /home/kusanagi
WP-CLI packages dir:
WP-CLI global config:
WP-CLI project config: /home/kusanagi/wp-cli.local.yml
WP-CLI version: 1.5.0
13. 一応、WordPressをアップグレード
[GUEST KUSANAGI]$ exit # rootユーザーに戻る
[GUEST ROOT]# wp core update --allow-root --path=/home/kusanagi/<プロファイル名>/DocmentRoot/
[GUEST ROOT]# wp core version
4.9.5
14. パーミッション変更
セキュリティ的には良くないけど、今回は開発環境としてローカルに用意しただけだし、これでよい。
これをやっておかないと、WordPressの管理画面からWPのアップグレードができないのです…
[GUEST ROOT]# cd /home/kusanagi/<プロファイル名>/DocumentRoot/
[GUEST ROOT]# find . -type f -print | xargs chmod 606
[GUEST ROOT]# find . -type d -print | xargs chmod 707
ファイルまたはディレクトリのみへの chmod コマンド (tec-q note)
今後やれるようにしたいこと
- 共有ディレクトリ内にWordPressのファイル一式を置く
- 何気に最重要。なんか共有ディレクトリがうまくマウントされなくて困ってる…
- (追記) kernel-devel と kernel-devel-3.10.0-327.28.2.el7.x86_64 とをyumで入れたら、Guest Additionをインストールできたので、なんとかなった。
- (追記) どこにどうマウントするか、という問題はありそう。今んとこ「自動マウント」にして、WPディレクトリを
DocumentRoot/
にシンボリックリンク貼ってる。
- パーミッションのマスク値の変更
- WPが作ったファイルのパーミッションが606でも707でもないと、あとあと困る気がしてる
- (追記)特に問題ない。WPコアの更新やプラグインのインストールは、FTPでやろう。
- KUSANAGIのFTPサーバーは、ローカルホストからしか接続できないので、これで問題ない。
- WordPressのコアを入れるディレクトリを変更しても大丈夫か
- DocumentRoot/ 直下に wp-config.php とかがあるけど、移設の関係で、 /wp/wp-config.php のように下層に置きたい。
- (追記)大丈夫だったが、KUSANAGIコマンドがWPの位置を補足できなくなり、動かなくなる。その場合、kusanagiの設定ファイルを書き換える必要が出てくるので、あまりオススメはしない。