ツイート
シェア
LINEで送る
B! はてぶでブックマーク
Pocketでブックマーク
RSSフィード

KUSANAGI, Vagrantでローカル環境を作る。仕様が若干変わった?

超高速仮想マシン KUSANAGI

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

どうやらVagrantの仕様が変わったらしくドキュメント通り行かなくなってるらしい。

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

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

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

やっぱり、インストーラーのダウンロード・実行

後日、vagrantのバージョン確認をするとこんなメッセージが。

vagrant version
Installed Version: 2.2.7
Latest Version: 2.2.14

To upgrade to the latest version, visit the downloads page and
download and install the latest version of Vagrant from the URL
below:

  https://www.vagrantup.com/downloads.html

If you're curious what changed in the latest release, view the
CHANGELOG below:

  https://github.com/hashicorp/vagrant/blob/v2.2.14/CHANGELOG.md

やっぱり、インストーラーからアップグレードするんじゃん。なんだったんだ? あのときのプラグインアップデートは。

可能性として、Vagraunt本体とvagrantコマンドのバージョンの互換の関係から、『本体を上げなくても、vagrantコマンドのバージョンアップができることもある』と見ている。

まぁでも、Vagrant全体がバージョンアップするならきちんとダウンロード / インストールしたほうがいいでしょうね?

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

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

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


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

前の投稿
KUSANAGI, データベースが落ちたときの対応。低スペックで運用するときのコツ。
KUSANAGI, HTTPS化ソフトウェアのバグを教えてくれたプラグイン
次の投稿

WordPressの本

post-cta-image

たくさんあるなかで、WordPressの基本が学べる、目的別に学べる本を選びました。

  • WordPressの基本。
  • Webサイト作成から運用まで全体的に学ぶ。
  • かんたんなカスタマイズを学ぶ。
  • 何も分からないところから学ぶ。
  • WordPressからPHPプログラミングを学ぶ。

の5冊です。どうしてもネット上で調べて勉強するのが苦手という人におすすめです。

この内容をモノにすればほかの本は必要ありません。あとは自分の力で、書籍を使わずにインターネット上にある情報だけで学んでいけます。

コメント

コメントを残す

*