KUSANAGI, Vagrantでローカル環境を作る

  • ---

    LINEで送る
  • -

    ブックマーク
  • -

    pocket
  • -

    rss
超高速仮想マシン KUSANAGI

VagrantでWindowsローカル環境にKUSANAGIを構築します。なぜかKUSANAGI公式ドキュメントを見て作業しても上手くいきませんした。

自分の作業履歴を残すための備忘録です。

2年ぶりくらいにKUSANAGI for Vagrantでローカル環境を作ったところ、公式ドキュメント通りでは上手くいきませんでした。

たしかあの頃は難なくできたのに...

Vagiant Cloudのboxは、2019年1月からあるようです。

2年前に作業したのが間違いなのか、ダウンロード先のリポジトリが変わったのか、今となっては不明。

少なくとも、前に作業したときは公式ドキュメント通りに進めて上手く行ってました。

失敗の原因は、自分のミスVagrantの変更です。

ローカル環境

Windows 10 Proビルド 18363
Virtual Box6.1.2 r 135662
Vagrant忘れた。
2年前くらいのバージョン。

vagrant initに失敗

vagrant init primestrategy/kusanagi

vagrantのバージョンが古いと失敗します。たしかにぜんぜんバージョンアップしてなかった...

vagrantのプラグインをアップデートします。

vagrant plugin update

プラグインのアップデートでvagrantもバージョンアップ?

vagrant本体のバージョンアップは、インストーラー(パッケージ)のダウンロード・実行です。

...と思ってたのですが、プラグイン・アップデートでvagrant本体のバージョンも上がっていました。

(知らなかっただけ?)

vagrant -v
Vagrant 2.2.7

まぁバージョンが上がったので良しとしましょう。次へ行きます。

WordPress5には別のイメージもある

KUSANAGI for Vagrantには、WordPress5用のイメージもあります。

KUSANAGIの初期設定、WordPressのプロビジョン作成がひとつ終わった状態で始められるのでWordPressを使うならこっちのほうがいいでしょう。

Prime Strategy公式のイメージです。(Prime StrategyはKUSANAGIを作った会社)

vagrant init prime-strategy/kusanagi-wp5

初期状態でブラウザからサイト表示すると、WordPressのインストール画面が出ます。

ここまでVagrantのボックスは設定済みです。

Vagrantfileの編集

vagrant initで生成されたVagrantfileを編集します。

# config.vm.network "private_network", ip: "192.168.33.10"

バーチャル環境に接続するためのローカルIPアドレス設定のコメントを外します。

192.168.33.10にしなきゃいけないことはありません。ほかと被らないようにしましょう。

(最後の10のところを変える。とりあえず10~100で選んどけばOK。細かい話は割愛。)

最後の番号以外を変えるのはNGです。ここでも細かい話は省略しますが、IPのネットワークアドレス部に影響する?ので、接続できないかもしれない。

(サブネットマスクを調べてないので断定はできない。けど怪しい。)

コメント外す
config.vm.network "private_network", ip: "192.168.33.10"

もうひとつコメントを外します。

  # config.vm.provider "virtualbox" do |vb|
  #   # Display the VirtualBox GUI when booting the machine
  #   vb.gui = true
  #
  #   # Customize the amount of memory on the VM:
  #   vb.memory = "1024"
  # end

メモリが1Gなので環境に合わせて設定しましょう。

2G2048
4G4096
コメントを外す
  config.vm.provider "virtualbox" do |vb|
    # Display the VirtualBox GUI when booting the machine
    vb.gui = true
  
    # Customize the amount of memory on the VM:
    vb.memory = "2048"
  end

(個々の設定はあとで変更できる。)

vagrant upに失敗

準備ができたところで、vagrantからバーチャル環境を起動します。

vagrant up
・
・
The box 'primestraegy/kusanagi' could not be found or
could not be accessed in the remote catalog. If this is a private
box on HashiCorp's Vagrant Cloud, please verify you're logged in via
`vagrant login`. Also, please double-check the name. The expanded
URL and error message are shown below:

URL: ["https://vagrantcloud.com/primestraegy/kusanagi"]
Error: The requested URL returned error: 404 Not Found
エンジニア
Vagrantにログインしろ?

どうやら、Vagrantボックスのリポジトリ・サービス、Vagrant Cloudの仕様が変わったみたいです。

以前は、ボックスをリポジトリで公開するときはアカウントが必要でしたが、ダウンロードはいりませんでした。

(ボクの記憶では。間違ってたらゴメンなさい。)

ということでアカウントを作成してログインします。

アカウントを作成したらそのままログインされます。この状態でもう一度vagrant upをしたら上手くいきました。

1回ログインしたらOK?

Vagrant Cloudからログアウトしてもボックスのダウンロードができます。どうやら実行環境で1回ログインしとけばいいみたい。

(どのくらいの期間、ログイン情報を保持するのかは不明。)

もしダメになっても、再度Vagrant CloudにログインすればOKです。

SSH接続確認

最後にバーチャルマシンにログインします。

kusanagi for vagrant login 1
kusanagi for vagrant login 2
接続先192.168.33.10
(Vagrantfileで指定したprivate networkのIP)
ユーザー名vagrant
パスワードvagrant

rootパスワードはないので、初期設定ではrootログインはできません。

sudo su

でroot作業ができます。

kusanagiユーザーのリモートログイン

いまのままでは、kusanagiユーザー(/home/kusanagi/)でファイル転送・リモートログインができません。

vagrantユーザーでログインすると、/home/vagrantにkusanagiユーザーにssh接続するための秘密キーがあります。

kusanagi.pem

この秘密キーを使えば、kusnagiユーザーでsshログイン・sftpファイル転送ができます。

(pemからppkファイルに変換することも可能。)

rootユーザーのリモートログイン

KUSANAGI for VagrantのCentOSはrootのリモートログインが禁止されているので、/etcなどのディレクトリのファイル転送ができないです。

パスワード認証ログインを許可しましょう。

KUSANAGIの初期設定

kusanagi init

を使えば、kusanagiユーザーのパスワードやMariaDBのrootパスワードなどの設定ができます。

実行しとくのもありです。

kusanagiユーザーのパスワードを設定すると、パスワード認証でリモートログインができます。

(キー認証があるのでいらないけど。)

kusanagi init --passwd

のように、オプションをつけると個別に設定できるとなっていますが、どうやら全設定になっているみたいです。

(タイムゾーンの設定から始まった。)


以上、久しぶりの作業でハマってしまった記録です。

SNSでも記事を配信しています。
コメントを残す

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

top
この記事を気に入ったらぜひシェアも!!