LoginSignup
6

More than 5 years have passed since last update.

vagrantとfabricとvirtualbox

Last updated at Posted at 2014-04-13

ちょっとインフラ的なこと試してました
以下を見たら、vagrantって仮想OSをあっさり作ってくれる素敵なものって知ったので、試してみたくなった

vagrantインストール

まず、vagrantはgemからインストール

gem install vagrant

これはあっさり終了

easy_install

そのあと、fabricの前にeasy_install

  501  curl -O http://peak.telecommunity.com/dist/ez_setup.py
  502  python ez_setup.py
  503  which easy_install

入ったことを確認できました

次は、fabric〜

fabric

こっから苦戦

sudo easy_install fabric

エラー。ググって巡り巡って、これにたどり着いた
http://qiita.com/oonishin/items/8e61459ef3e7ca08e31a

ってことで

sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future easy_install fabric

成功!

ちゃんとエラー文理解してればこんな苦労しなかったのにね

じゃあ、vagrantで仮想マシン作ります

vagrantで使える仮想マシン一覧を見るには

以下にアクセス
http://www.vagrantbox.es/
*初期に使うコマンドも書いてあるので、参考になる!

vagrantで仮想マシン作成

server:~ shiratsu$ vagrant init
Thanks for wanting to use Vagrant! Unfortunately, this is not the way
to install Vagrant anymore. We now make installers for the various operating
systems Vagrant supports.

Vagrant is no longer distributed as a RubyGem. Please download the latest
version for your operating system from the URL below. If you still wish
to use the RubyGem version, you can manually install version 1.0.7. Note that
the RubyGem version hasn't been updated in over a year and will no longer
receive any updates.

Prior to installing Vagrant using the installer, make sure you uninstall
all your Vagrant gems, since they sometimes conflict.

http://www.vagrantup.com

If you want to learn more about why we don't distribute using RubyGems
anymore, please read this: http://mitchellh.com/abandoning-rubygems

あれ、うまくいってないっぽい
よく読むと、gemだともうダメで、自分でダウンロードしてインストールしろって言ってる

vagrantインストールやり直し

ってことで、vagrantのサイト言って、DLしてインストール

Pathはこうなった

vagrantのパス

server:~ shiratsu$ which vagrant
/usr/bin/vagrant

ってことで初期化!

server:~ shiratsu$ vagrant init
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.

アップして、ログイン

server:vm_machine shiratsu$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'centos_65_minimal' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: >= 0
==> default: Adding box 'centos_65_minimal' (v0) for provider: virtualbox
    default: Downloading: https://github.com/2creatives/vagrant-centos/releases/download/v6.5.1/centos65-x86_64-20131205.box
    default: Progress: 15% (Rate: 162k/s, Estimated time remaining: 0:18:39)
==> default: Successfully added box 'centos_65_minimal' (v0) for 'virtualbox'!
==> default: Importing base box 'centos_65_minimal'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: vm_machine_default_1396666192513_31129
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => /Users/shiratsu/vm_machine
server:vm_machine shiratsu$
server:vm_machine shiratsu$ vagrant ssh
[vagrant@vagrant-centos65 ~]$ exit
logout
Connection to 127.0.0.1 closed.

失敗した場合、

vagrant init

の際に、使う仮想サーバ名を指定してください

こんな感じ

/usr/bin/vagrant init 20140717_centos

ってことでログアウトして終了

次にfabfile作って、vagrantで実行してみます

fabricお試し

server:vm_machine shiratsu$ cat fabfile.py
from fabric.api import sudo

def install_git():
  sudo("yum -y install git")
  sudo('yum -y install httpd php php-mbstring')

vagrantでの接続情報がわからんと実行できないので取得

server:vm_machine shiratsu$ vagrant ssh-config
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /Users/shiratsu/.vagrant.d/insecure_private_key
  IdentitiesOnly yes
  LogLevel FATAL

オッケー、実行

server:vm_machine shiratsu$ fab -H 127.0.0.1 --port 2222 -u vagrant -i ~/.vagrant.d/insecure_private_key install_git

詳細は省略しますが、無事成功してます

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
6