LoginSignup
12
11

More than 5 years have passed since last update.

自前でVagrantのboxを作る前にやっておきたいことメモ

Last updated at Posted at 2014-07-23

Vagrantbox.esがあるので良いのかもしれませんがBoxの安全性が気になったり、そもそも使いたいOSのBoxが無かったりした場合は自分でBoxを作ることになります。
veeweeという手段もありますが今回はVirtualboxで作成したVMをBox化していきたいと思います。

Vagrantのインストール

  • Macなら、brew cask install vagrantでインストールできます

ゲストマシンのセットアップ

ゲストマシンへのsshアクセスが前提ですがsshdがデフォルトでインストールされるとは限らないので、sshdを動かせるようになるまで手動で作業する必要があります。vagrantの場合はsshdが動く状態でbox化するのが無難かと。

プロキシの設定

プロキシを越えないと何もできないところにいるので、プロキシの設定を最初に行います

/etc/environment
http_proxy=http://host:port
https_proxy=http://host:port

ログインし直します

sudoersの設定

プロキシを越えないと何もできないところにいるので、sudo実行時にプロキシの環境変数を引き継ぐようにします。sudo visudoで編集しましょう。

/etc/sudoers
Defaults    env_reset
...
Defaults    keep_env += http_proxy
Defaults    keep_env += https_proxy

パッケージの更新

apt-get updateとかapt-get upgradeとかyum updateとか。待ち時間が長いです。

sshdのインストール

openssh-serverをapt-getとかyumでインストール

Virtualbox Guest Additionsのインストール

vagrant upでVirtualboxの共有フォルダを作るため、Guest Additionsをインストールしておきます

ssh認証用公開鍵の作成とインストール

vagrantデフォルトの鍵を使っても良いのですが今回は自作の鍵を使用します。ssh-keygenで作ります。
作成した鍵をゲストにコピーし、.ssh/authorized_keysに書きます。

ホスト側
$ ssh-keygen -t rsa
ゲスト側
$ cat key.pub >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys

ゲスト側へのコピー方法はいくつかありますが、私の場合は予めポートフォワーディング設定をしておいてゲストへのssh接続を可能にしてからscpコマンドでコピーしています。

boxを作る

  • vagrant packageでVMのパッケージング
    • vagrant package --base vbox-vm-name
  • vagrant box addでboxを追加
    • vagrant box add <vagrant-box-name> package.box

あとはvagrant initしてVagrantfileを編集してvagrant upして起動です。

OS別注意点

Ubuntu8.04

もうサポートの切れたOSなのでsource.list内に記載している内容が尽く使えなくなっています。
old-releases.ubuntu.comに修正しておきましょう。
こんなもう使ってはいけないOSも扱わなければならない。それが保守フェーズというものなのです。

Ubuntu12.04

ちゃんとGuest Additionsをインストールしてもvagrant up時に共有フォルダのマウントで失敗します。
対策はこちらを参照してください。
まあ共有フォルダが使えないだけでVM自体は起動しますが。

CentOS6

Guest Additionsのインストールが出来ないことがあります。
ビルド用の環境が入っていない可能性がありますので、Development toolsをインストールしてから実行しましょう。

-
$ sudo yum groupinstall "Development tools"

vagrant upしたときにttyをsudo起動しないとアカンと言うような趣旨のメッセージが表示される場合があります。
その際は、sudoersでrequirettyをコメントアウトしましょう。

12
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
11