= Linux Virtual Machines for use with BOINC = Linux Virtual Machines (VMs) are useful for several purposes in BOINC: * Running a BOINC server in a VM. Use a 'BOINC virtual server' VM for this (see below). * Compiling applications so that they will run on older Linux versions. Use a 'compatibility VM' for this (see below). * Applications that run in a VM on the client. This is an object of research. == The BOINC virtual server == #server These VMs are for use as 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. 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.''' 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`. The Linux/PHP/MySQL/Apache software on these VMs is not necessarily the latest version. If you want the latest version, use 'yum' or other distro-specific tool. These are VMWare virtual machines; you'll need the [http://www.vmware.com/download/player/ VMWare player] (freeware). These files are large (~1 GB). Please download them as seldom as possible. The following versions are available: * [http://boincdl.ssl.berkeley.edu/dl/debian-40r0-boinc-server_2_08.zip Debian 4.0 32-bit] (updated 23 Feb 2008). * [http://boincdl.ssl.berkeley.edu/dl/ubuntu-server-7.04-i386-boinc.zip Ubuntu 7.04 32-bit] (updated 21 May 2007). === 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. == The 'compatibility' VM for building and testing apps == #compatibility This VM is 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.