Created
November 8, 2011 22:08
-
-
Save monde/1349431 to your computer and use it in GitHub Desktop.
how to build a vagrant box image
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
= Ubuntu Natty 64 Server Vagrant Base Box | |
== Description | |
This is a Vagrant Base Box based upon the Ubuntu Natty 64 Server. It was built | |
according to the Vagrant Base Box building guide: | |
http://vagrantup.com/docs/base_boxes.html | |
This box's main characteristic is the use of Ruby 1.9.2 built from source. | |
With this configuration, a Vagrant environment's execution of chef-solo will be | |
utilizing Ruby 1.9.2 to build gems with binary artifacts such as Passenger and | |
others. This makes collecting and maintaining a set of Chef Cookbooks used to | |
build and deploy a Rails 3.* environment with Ruby 1.9.2 easy to accomplish. | |
Note: The bash command history for root and the vagrant user are left | |
unmodified serving as a reference about how the box has been built and | |
maintained. | |
This box is available for download at: | |
http://s3.amazonaws.com/monde/natty64.box | |
== Installation | |
Setup a vagrant environment according to the Vagrant Getting Started Guide: | |
http://vagrantup.com/docs/getting-started/index.html | |
Vagrant box image add command for this box: | |
vagrant box add natty64 http://s3.amazonaws.com/monde/natty64.box | |
== Build Notes | |
According to the Base Box Building Guide given that a VirtualBox named "Natty | |
64" exists it can be boxed up via: | |
vagrant package --base "Natty 64" | |
This results in a file named package.box in the current directory that is the | |
natty64.box image this project is publishing. | |
Ruby was built from source in the following manner, and then Chef was | |
installed with the gem command. | |
su - | |
apt-get update | |
apt-get install build-essential zlib1g zlib1g-dev libreadline5 libreadline5-dev libssl-dev | |
cd /usr/src/ | |
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p290.tar.bz2 | |
tar xjf ruby-1.9.2-p290.tar.bz2 | |
cd ruby-1.9.2-p290/ | |
./configure | |
make install | |
== Build History | |
* 07/06/2011 | |
Initial setup according to Vagrant Base Box buidling guide | |
http://vagrantup.com/docs/base_boxes.html | |
Ruby 1.9.2 p180 installed from source | |
Chef 0.10.2 (and dependencies) rubygem installed | |
sudo apt-get dist-upgrade | |
== Authors | |
Mike Mondragon <[email protected]> | |
Blog: [http://plasti.cx/] | |
Twitter: [https://twitter.com/monde] | |
Github: [https://github.com/monde] | |
IRC: monde | |
== License | |
(The MIT License) | |
Copyright (c) 2011 Mike Mondragon <[email protected]> | |
All rights reserved. | |
Permission is hereby granted, free of charge, to any person obtaining | |
a copy of this software and associated documentation files (the | |
'Software'), to deal in the Software without restriction, including | |
without limitation the rights to use, copy, modify, merge, publish, | |
distribute, sublicense, and/or sell copies of the Software, and to | |
permit persons to whom the Software is furnished to do so, subject to | |
the following conditions: | |
The above copyright notice and this permission notice shall be | |
included in all copies or substantial portions of the Software. | |
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, | |
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | |
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | |
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY | |
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, | |
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE | |
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
I must have been writing this up for a blog post. However, there is a better way to build boxes using the veewee gem and templates. Here are three great links describing it:
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
s3 image is gone or no longer public access?