= The BOINC server virtual machine = This VM is for use as a BOINC server. It has all the BOINC server prerequisites installed, the BOINC software installed and compiled, and user accounts and permissions set up. It's ready to run ~/boinc-master/tools/[MakeProject make_project] and go. The VM image is for [http://www.virtualbox.org/ VirtualBox], an open-source VM system. It is a 64-bit image; you need a 64-bit processor to run it. The OS is Debian 7 (64-bit). The BOINC software version is from 12 April 2014. [http://boinc.berkeley.edu/dl/debian-6-boinc-server-140412.7z Download (477 MB)] Thanks to Christian Beer and the University of Halle for creating this. Notes: * The passwords can be found in the file {{{README-vbox-image}}} that is part of the zip file. The `root` (or su) password is 'rootpw'. There is a user account 'boincadm' with password 'boincadmpw'; build software under this account. '''Change these passwords immediately.''' * The BOINC software on this VM is not necessarily the latest version. If you want the latest version, run {{{ $ ~/update_master.sh $ ~/configure_server.sh $ ~/make_server.sh }}} * The Linux/PHP/MySQL/Apache software on this VM is not necessarily the latest version. If you want the latest version, use 'apt-get update' and 'apt-get upgrade'. Please change the mirror locations in ''/etc/apt/sources.list'' before upgrading! * The "sudo" command is available as user "boincadm" and there is an OpenSSH server running by default. === Network Access === #server-network !VirtualBox provides two ways to access the network from the VM: Bridged Ethernet and NAT (Network Address Translation). These are selected in the configuration section of the !VirtualMachine. Please power down the VM before changing this value. We recommend that you start with Bridged Ethernet. If you somehow change the MAC address of the VM (e.g. cloning the VM) you also have to edit the file `/etc/udev/rules.d/70-persistent-net.rules` after first startup of the VM. The file should look like this: {{{ $ cat /etc/udev/rules.d/70-persistent-net.rules # This file was automatically generated by the /lib/udev/write_net_rules # program, run by the persistent-net-generator.rules rules file. # # You can modify it, as long as you keep each rule on a single # line, and change only the value of the NAME= key. # PCI device 0x8086:0x100e (e1000) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:bc:85:01", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" # PCI device 0x8086:0x100e (e1000) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:bc:85:02", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1" }}} delete the line that ends with `NAME="eth0"` and rename `eth1` to `eth0`. Use the command: {{{ $ sudo nano /etc/udev/rules.d/70-persistent-net.rules }}} restart the VM after this. General info about network configuration under Debian is in the [http://www.debian.org/doc/manuals/reference/ch05.en.html Debian Reference]. === Bridged Ethernet === In this mode, the VM will act like a separate machine on your network. Scanning the network will reveal two machines, your host and the VM. Outgoing and incoming connections are possible. We recommend that you give the VM a static IP address. To do this, edit /etc/network/interfaces. For example: {{{ # The primary network interface auto eth0 iface eth0 inet static address 141.142.234.9 netmask 255.255.255.0 gateway 141.142.234.1 dns-search yourdomain.edu dns-nameservers a.b.c.d }}} Where a.b.c.d is your DNS server IP address (you can supply more than one). Edit /etc/resolv.conf to include {{{ nameserver a.b.c.d }}} where a.b.c.d is the DNS server IP address 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: {{{ 141.142.234.9 debian6.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 'debian6.localdomain' to your list of exceptions in your browser. You won't need a proxy to resolve a local address. Alternatively, you can get an IP address via DHCP. '''We don't recommend this because clients will get confused if the IP address changes.''' To do this, edit /etc/network/interfaces to include: {{{ iface eth0 inet dhcp }}} This will work if your network has a DHCP server configured to issue IP address to new hosts. At this point, for the network changes to take effect, you may want to restart the Linux VM: {{{ $ sudo reboot }}} === NAT === In this mode, the VM shares the IP address of the host machine in order to make outgoing connections (access Internet sites from within the VM). Scanning the network will only reveal one machine. Incoming connections to the VM are generally not possible, so this mode is not recommended. However, this limitation can be circumvented using port forwarding. To do this, use the !VirtualBox Manager (Edit > Network), change the ''Attached to:'' option to NAT, click on ''Advanced'' then ''Port Forwarding''. More information in [http://www.virtualbox.org/manual/ch06.html#natforward Configuring port forwarding with NAT].