Development Environment
From Zentyal Linux Small Business Server
Development Environment
Most eBox developers use KVM + libvirt to manage their virtual machines were ebox is developed. The easiest way to create a clean Ubuntu Hardy image is vmbuilder:
$ sudo vmbuilder kvm ubuntu --suite hardy --ip 192.168.122.2 --gw 192.168.122.1 --dns 192.168.122.1 \ --hostname ebox --domain localdomain --mirror http://ftp.heanet.ie/pub/ubuntu/ -d ebox-hardy --ppa ebox-unstable \ --libvirt qemu:///system --debug -o --tmpfs -
Note that if you want to develop with trunk (1.5), it is based on Ubuntu Lucid instead of Hardy, so you will need to create a lucid VM changing the value of the --suite option.
Once inside, we install some handy tools.
$ sudo apt-get install zsh sshfs vim less screen ssh
And eBox itself, from ebox-unstable PPA:
$ sudo -s # export DEBIAN_FRONTEND=noninteractive # apt-get install -q -y --force-yes '^ebox-.*'
We create our user in the new system:
$ sudo adduser bencer $ sudo adduser bencer admin $ sudo adduser bencer fuse $ sudo vim /etc/fuse.conf (we enable user_allow_other)
Finally we mount our host $HOME inside of the development virtual machine using sshfs:
$ sshfs bencer@192.168.122.1:/home/bencer /home/bencer -o workaround=all -o allow_root -nonempty $ chsh -s /bin/zsh