First off, what you want is the Server edition of Ubuntu 8.10.
From there, you want to install the JeOS subset.
This is the uber-minimal ubuntu machine, normally used as a minimal guest OS within a virtual machine.
You can select JeOS by hitting F4 at the cd's boot menu, and picking either of the two 'minimal' options.
That drops you into a text installer that'll get you to a install of nothing more than apt and the basic init scripts, python, perl, and the normal minimal suite of bash commands and a couple extras.
First off, You
need libxml2 and libxslt for reading VBox's XML config files. These dependencies are not optional, or GUI related.
Code: Select all
apt-get update && apt-get upgrade
apt-get install wget psmisc libxslt1.1 libxml2
apt-get install linux-generic && apt-get purge linux-virtual linux-server
At this point, I used to switch kernels from linux-server to linux-generic. Recently it seems that my JeOS installations have decided they prefer linux-virtual over linux-server during the initial upgrade, but I just reinstall linux-generic once before I reboot the first time and everything's happy again for a host machine.
You'll want to 'apt-get install openssh-server' as well, to remotely manage the machine.
From there, you'll want to download the virtualbox deb for the installed arch, and ask the machine to install it with 'dpkg -i ./virtualbox-2.1_2.1.0-41146_Ubuntu_intrepid_amd64.deb' as root.
As root, meaning 'sudo su' and entering your user password to get a rootshell.
Do NOT set a root password, as ubuntu *disables* the password by default, which locks out the root account from being directly accessed remotely (Always a bad idea, because then it's a PITA to go and chown user.user all.the.files.I.changed) but still allows access to 'sudoers' to run commands or spawn shells. Basically, on ubuntu, the first account created by the installer will effectively be root known by a more common name, using the same concept behind Vista's UAC escalation.
Plus, it leaves an entry in the log for sudo, complete with the username who executed it, perfect for remote servers with multiple admins.
From there, you can use VBoxHeadless and VBoxManage to start and control VMs. You can use a RDP client elsewhere to connect to VM consoles directly.
Documentation for both of these is pretty extensive in the virtualbox manual.
2.1.0's advances with ease of configuring a NIC attached to a host adapter makes running a whole network of VMs easy.
I have a few servers configured as VMHosts with a configuration very similar to this running right now at work. Tacked on a couple simple init scripts to suspend and resume the VMs to disk on shutdown and startup, and now I'm just waiting for Sun to catch up with some of the other virtualization solutions with regards to live migration of VMs between hosts.
Google for JeOS ("Juice"/"JOO-se") if you need more info on it.
Good luck!
Edit:
By the way, don't install samba on the host. No, seriously. Leave that stuff up to the virtual machines.
Having openssh-server installed on the host is all you need.
Use
http://WinSCP.net or Filezilla on windows to transfer files to/from the host.
But really, the point of this is to expose the smallest possible wedge of host OS as possible, therefor the only things you want running on it is sshd and vboxheadless's rdp ports.
Now, if your problem is the VMs shares don't show up, that's a relatively easy fix: Switch networking from NAT mode to Host adapter mode (2.1.0+) with VBoxManage modifyvm "Email Server" -nic1 hostif -hostifdev1 eth0
And you can optionally set a MAC by adding -macaddress1 auto or -macaddress1 EA:7D:AB:AD:BE:EF onto that modifyvm command for DHCP purposes. GPXE works great to boot VMs from HTTP!
GPXE Floppy:
http://www.rom-o-matic.net/gpxe/gpxe-gi ... &A=Get+ROM
GPXE ISO:
http://www.rom-o-matic.net/gpxe/gpxe-gi ... &A=Get+ROM