目次

Vagrantを使ってVirtualBox上にKusanagiの仮想マシンを作成する方法

VirtualBoxとVagrantは事前にインストールしておく

Vagrantfileを作成

コマンドプロンプトで以下のコマンドを実行

mkdir kusanagi
cd kusanagi
vagrant init primestrategy/kusanagi
実行結果
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

C:\Users\xxx\kusanagiのようなディレクトリに
Vagrantfileというファイルが作成される

Vagrant failed to initialize at a very early stage

vagrant init primestrategy/kusanagiというコマンドを実行したときに下記のようなエラーが表示された

実行結果
Vagrant failed to initialize at a very early stage:

The version of powershell currently installed on this host is less than
the required minimum version. Please upgrade the installed version of
powershell to the minimum required version and run the command again.

  Installed version: N/A
  Minimum required version: 3

動作の前提条件になっているpowershell version3が見つからない旨のエラー

Installed version: N/Aと表示されているので
PowerShellがそもそも入っていないことにされているが
実際には、実行した環境にはPowerShell Version4が入っていた

PCの負荷が高いときに実行すると処理に失敗して
こういうエラーを吐き出す場合があるらしい

時間を置いてコマンドを再度実行したら何事もなく完了した

Vagrantfileの編集

kusanagiフォルダに作成された
Vagrantfileファイルをテキストエディタで開く

Vagrantfile抜粋(編集前)
  # config.vm.network "private_network", ip: "192.168.33.10"
Vagrantfile抜粋(編集後)
  config.vm.network "private_network", ip: "192.168.33.10"
  config.vm.provider "virtualbox" do |vb|
    vb.customize ["modifyvm", :id, "--memory", "1024"]
  end

# config.vm.network “private_network”, ip: “192.168.33.10”という部分をコメントアウト解除して
その下に3行を追加する

仮想マシンの起動

vagrant up

コマンドプロンプトでvagrant upコマンドを実行する

するとVirtualBoxでkusanagi_default_123456789みたいな名前の仮想マシンが自動的に作成されて起動する

TeraTermで仮想マシンに接続

Tera Term: 新しい接続の画面で

SSH認証の画面で

上記の設定OKを押せばkusanagiの仮想マシンにsshでつながる

rootユーザーに切り替え

ログインした時点ではvagrantというユーザー名になっている

sudo su -

上記のコマンドでrootユーザーに切り替わり、かつrootのホームディレクトリ(/root)に移動する

sudo su -コマンドの解説

su

su

suはsubstitute userの略
別のユーザーに切り替えるコマンド
引数を指定しない場合はrootに切り替わる

このときrootのパスワードを求められるが
kusanagiのデフォルトの設定では
rootのパスワードはvagrant

sudo su

sudo su

コマンドの先頭にsudoをつけると、その後ろのコマンドをrootに相当する権限で実行できる

sudo suコマンドは、rootの権限でrootユーザーに切り替えることになるので、パスワードなしでrootにログインできる

sudo su -

sudo su -

suコマンドの後ろに-をつけると、ユーザーを切り替えた後に切替後のユーザーのホームディレクトリに移動する

システムのアップデート

yum update kusanagi -y
yum --enablerepo=remi,remi-php56 update -y
実行結果
(中略)
No packages marked for update

CentOSやKusanagiのパッケージをアップデート

依存関係の問題で、エラーが出た場合は、再度アップデートしてみる

1回目のアップデートで依存関係がクリアになり
2回目のアップデートで成功したりする

No packages marked for updateと表示されればOK

システムアップデート後の再起動

reboot

システムアップデート後は念のため再起動