How to create vagrant base boxes with veewee
if your using vagrant for development like me. Then you quicklly like to make your own vagrant base boxes. with php, python, ruby or someother dev env.
Tis verry easy todo with with veewee, first we need to install veeweee this is easy done with this command in terminal
$ gem install veeweee
now should veewee be installed type in terminal
$ vagrant basebox templates
To get a output like this
The following templates are available:
vagrant basebox define '<boxname>' 'CentOS-4.8-i386'
vagrant basebox define '<boxname>' 'CentOS-5.5-x86_64-netboot'
vagrant basebox define '<boxname>' 'CentOS-5.6-i386'
vagrant basebox define '<boxname>' 'CentOS-5.6-i386-netboot'
vagrant basebox define '<boxname>' 'CentOS-5.6-x86_64-netboot'
vagrant basebox define '<boxname>' 'CentOS-5.7-i386-netboot'
vagrant basebox define '<boxname>' 'CentOS-5.7-x86_64-netboot'
vagrant basebox define '<boxname>' 'CentOS-6.0-i386'
vagrant basebox define '<boxname>' 'CentOS-6.0-i386-netboot'
vagrant basebox define '<boxname>' 'CentOS-6.0-x86_64'
vagrant basebox define '<boxname>' 'CentOS-6.0-x86_64-minimal'
vagrant basebox define '<boxname>' 'CentOS-6.0-x86_64-netboot'
vagrant basebox define '<boxname>' 'CentOS-6.1-x86_64-minimal'
vagrant basebox define '<boxname>' 'Debian-5.0.8-amd64-netboot'
vagrant basebox define '<boxname>' 'Debian-5.0.8-i386-netboot'
vagrant basebox define '<boxname>' 'Debian-6.0.3-amd64-netboot'
vagrant basebox define '<boxname>' 'Debian-6.0.3-i386-netboot'
vagrant basebox define '<boxname>' 'Fedora-14-amd64'
vagrant basebox define '<boxname>' 'Fedora-14-amd64-netboot'
vagrant basebox define '<boxname>' 'Fedora-14-i386'
vagrant basebox define '<boxname>' 'Fedora-14-i386-netboot'
vagrant basebox define '<boxname>' 'Fedora-15-i386'
vagrant basebox define '<boxname>' 'Fedora-15-i386-netboot'
vagrant basebox define '<boxname>' 'Fedora-15-x86_64'
vagrant basebox define '<boxname>' 'Fedora-15-x86_64-netboot'
vagrant basebox define '<boxname>' 'Fedora-16-i386'
vagrant basebox define '<boxname>' 'Fedora-16-x86_64'
vagrant basebox define '<boxname>' 'Sysrescuecd-2.0.0-experimental'
vagrant basebox define '<boxname>' 'archlinux-i386'
vagrant basebox define '<boxname>' 'archlinux-i386-netboot'
vagrant basebox define '<boxname>' 'archlinux-x86_64'
vagrant basebox define '<boxname>' 'archlinux-x86_64-netboot'
vagrant basebox define '<boxname>' 'freebsd-8.2-experimental'
vagrant basebox define '<boxname>' 'freebsd-8.2-pcbsd-i386'
vagrant basebox define '<boxname>' 'freebsd-8.2-pcbsd-i386-netboot'
vagrant basebox define '<boxname>' 'gentoo-latest-i386-experimental'
vagrant basebox define '<boxname>' 'gentoo-latest-x86_64-experimental'
vagrant basebox define '<boxname>' 'openSUSE-11.4-DVD-i586'
vagrant basebox define '<boxname>' 'openSUSE-11.4-DVD-x86_64'
vagrant basebox define '<boxname>' 'openSUSE-11.4-NET-i586'
vagrant basebox define '<boxname>' 'openSUSE-11.4-NET-x86_64'
vagrant basebox define '<boxname>' 'openindiana-148-ai-x86'
vagrant basebox define '<boxname>' 'opensuse-11.4-i386-experimental'
vagrant basebox define '<boxname>' 'scientificlinux-6.1-i386-netboot'
vagrant basebox define '<boxname>' 'scientificlinux-6.1-x86_64-netboot'
vagrant basebox define '<boxname>' 'solaris-11-express-i386'
vagrant basebox define '<boxname>' 'ubuntu-10.04.2-amd64-netboot'
vagrant basebox define '<boxname>' 'ubuntu-10.04.2-server-i386-netboot'
vagrant basebox define '<boxname>' 'ubuntu-10.04.3-server-amd64'
vagrant basebox define '<boxname>' 'ubuntu-10.04.3-server-amd64-alt'
vagrant basebox define '<boxname>' 'ubuntu-10.04.3-server-i386'
vagrant basebox define '<boxname>' 'ubuntu-10.10-server-amd64'
vagrant basebox define '<boxname>' 'ubuntu-10.10-server-amd64-netboot'
vagrant basebox define '<boxname>' 'ubuntu-10.10-server-i386'
vagrant basebox define '<boxname>' 'ubuntu-10.10-server-i386-netboot'
vagrant basebox define '<boxname>' 'ubuntu-11.04-server-amd64'
vagrant basebox define '<boxname>' 'ubuntu-11.04-server-i386'
vagrant basebox define '<boxname>' 'ubuntu-11.10-server-amd64'
vagrant basebox define '<boxname>' 'ubuntu-11.10-server-amd64-ishaya'
vagrant basebox define '<boxname>' 'ubuntu-11.10-server-amd64-ruby192'
vagrant basebox define '<boxname>' 'ubuntu-11.10-server-i386'
vagrant basebox define '<boxname>' 'ubuntu-8.04.4-server-amd64'
vagrant basebox define '<boxname>' 'ubuntu-8.04.4-server-i386'
vagrant basebox define '<boxname>' 'windows-2008R2-amd64'
To create a new centos box you just type
$ vagrant basebox define myCentOsBox CentOS-4.8-i386
It will create this files
definition.rb
postinstall.sh
preseed.cfg
Alter this files and start building the box now with this command
vagrant basebox build 'myCentOsBox'
After its build vallidate the basebox
vagrant basebox validate 'myCentOsBox'
if everything fine export the base box
vagrant basebox export 'myCentOsBox'
Now add it to vagrant offcourse
vagrant box add 'myCentOsBox' myCentOsBox.box
finally init the vagrant box
vagrant init myCentOsBox
vagrant up