= Linux Virtual Machines for use with BOINC = == Pros and Cons of using VMs == Probably only a small percent of BOINC Servers ever need to be run in a VM. The cost of spare and scrap computer hardware is so low that this approach need only be used by a small number of server users. The VMs are intended to get in touch with the BOINC infrastructure without the need to buy dedicated hardware. ''Nearly free CD-ROM installations that are 100% BOINC Server deployment ready'' -- no VMs needed Intel x86 * Redhat * Debian * Free BSD == Virtual server == #server These VMs are for use as BOINC servers '''for testing purpose only'''. Please don't use VMs on your desktop computer as real, productive BOINC servers! They have all the BOINC prerequisites installed, the BOINC software installed and compiled, and user accounts and permissions set up. They're ready to run [MakeProject make_project] and go. Instructions and more information is in the {{{readme.html}}} file on boincadm's desktop. The passwords can be found in the file {{{README-vmware-image}}} that is part of the zip file. The BOINC software on these VMs is not necessarily the latest version. If you want the latest version, run {{{update_latest.sh}}} and then `configure`/`make`. == VMs == These files are large (~1 GB). Please download them as seldom as possible. On all these systems, the `root` (or sudo) password is 'rootpw'. There is a user account 'boincadm' with password 'boincadmpw'; build software under this account. '''Change these passwords if you're concerned about security.''' These are VMWare virtual machines; you'll need the [http://www.vmware.com/download/player/ VMWare player] (freeware). The following versions are available: * [http://boincdl.ssl.berkeley.edu/dl/debian-40r0-i386-boinc.zip Debian 4.0 32-bit]. * [http://boincdl.ssl.berkeley.edu/dl/ubuntu-server-7.04-i386-boinc.zip Ubuntu 7.04 32-bit] === Network Access === #server-network You can either use NAT (Network Address Translation) or Bridged Ethernet to get network access from within the VM: NAT:: You share the IP address of the host machine in order to make outgoing connections (access Internet sites from within the VM). Incoming connections from other machines (except the host machine) are, in principle, not possible. Scanning the network will only reveal one machine, your host. However, there is a way to circumvent this lack of incoming (to your server) connectivity and, thus, be able to receive connections from BOINC clients outside your network: port forwarding (not available with the free VMware player). This can be done using the VMware virtual network editor (Edit > Virtual Network Settings > NAT > Edit > Port Forwarding). More information in [http://www.vmware.com/support/ws5/doc/ws_net.html Configuring a Virtual Network]. On Windows, if NAT is to be used and not already set, you need to do the following to get network access in the VM: {{{ Start | Programs | VMware | VMware Server | Manage Virtual Networks (Virtual Network Editor): Host Virtual Network Mapping: VMnet0: Bridged to an automatically chosen adapter. VMnet8: VMware Network Adapter VMnet8 In the NAT tab: VMnet host: VMnet8 }}} Bridge:: The VM will act like a real machine within your network. It tries to get its own IP over DHCP within the same range like your host machine (you can set a static IP editing {{{/etc/networks}}}). Outgoing and incoming connections are possible. Scanning the network will reveal two machines, your host and the VM. You should also add the IP address and hostname of the VM to your hosts file. To do this edit {{{C:\Windows\system32\drivers\etc\hosts}}} (if the host is Windows) or {{{/etc/hosts}}} (as root; if the host is Unix) with an editor, and add for example: {{{ 192.168.190.128 debian.localdomain }}} With this you can connect a client from your host machine to your VM. If you're using a proxy to access the internet you should add 'debian.localdomain' to your list of exceptions in your browser. You won't need a proxy to resolve a local address. == Virtual machines for building and testing apps == #compatibility These are based on [http://www.microsoft.com/windows/virtualpc/ Microsoft Virtual PC]. (VMWare can reportedly also run these files, though this feature is just experimental at the moment. You'll need the [http://www.vmware.com/download/converter/ VMware Converter] to convert a VirtualPC image to VMware). * [http://boincdl.ssl.berkeley.edu/dl/BOINC-Build-Compat.zip Compatibility] system. This is an old Debian system with old gcc, and recent versions of various libraries and GNU tools. Use it for [CompileApp compiling BOINC applications]. The username and password are both boincadm.