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: 新しい接続
の画面で
- ホスト:
192.168.33.10
- TCPポート:
22
SSH認証
の画面で
- ユーザー名:
vagrant
- パスフレーズ:
vagrant
プレインパスワードを使う
にチェック
上記の設定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
システムアップデート後は念のため再起動