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
システムアップデート後は念のため再起動