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

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

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

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 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の負荷が高いときに実行すると処理に失敗して
こういうエラーを吐き出す場合があるらしい

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

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みたいな名前の仮想マシンが自動的に作成されて起動する

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

  • ホスト: 192.168.33.10
  • TCPポート: 22

SSH認証の画面で

  • ユーザー名: vagrant
  • パスフレーズ: vagrant
  • プレインパスワードを使うにチェック

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

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

sudo su -

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

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

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

  • 最終更新: 2023/05/25 10:48