JABAWS MANUAL

JABAWS Server Virtual Appliance

Troubleshooting

What is JABAWS Server Virtual Appliance?

The JABAWS Server Virtual Appliance is an installation of JABAWS Web Application Archive (WAR) with all dependencies on TurnKey Linux within a Virtual Machine. The JABAWS virtual appliance is a way to run JABAWS server locally without the need to connect to the internet or configure JABAWS. All JABAWS clients, such as Jalview can be easily configured to use the appliance. You can run the appliance with freely available VMWare Player or Oracle VirtualBox which you must install first. We have tested JABAWS appliance with VMware Player v 3.1.2 on Windows and Linux, and VirtualBox v 3.2.12 on Windows, Linux and Mac. However, you are not limited to these virtualization systems and can use JABAWS appliance with any commercial alternative.

When to use the virtual appliance

The appliance best suits users who would like to use the JABA web services locally, without an Internet connection, want to keep their data private or uses Windows as their main OS. The appliance is a self contained unit of software and as such may be an attractive option for Linux, UNIX or Mac users too. However, they can always deploy a JABAWS Server WAR distribution instead.
The appliance comes pre configured to use 1 CPU and 512M of memory and the minimum amount of memory required is about 378M. If you thinking of running the JABAWS server for many users and want JABAWS to use a cluster for calculations you need a WAR version of JABAWS server instead. Virtual Appliance would not be the best option for that.

How to install VMWare Player or VirtualBox

Please see the VMware Player and Oracle VirtualBox web sites for up to date instructions and downloads.

VMware Player appliance configuration

The free VMware Player can be used to run the JABAWS services from the Windows and Linux host operating systems, there is no support for Mac at the time of writing (December 2010). However, VMware Fusion, a commercial VMware product, offers virtual machine support for Mac computers too.

To run the JABAWS server on VMware player, unpack the JABAWS VM into one of the folders on your local hard drive. Open VMware Player, click "Open Virtual Machine" and point the Player to the location of the JABAWS, then choose the JABAWS.vmx file to open an appliance.

When you play the machine for the first time the Player might ask you whether "This virtual machine may have been moved or copied.", say that you have copied it. That is all.

VirtualBox appliance configuration

VirtualBox can be used to run JABAWS services from Windows, Linux, Solaris or Mac host operating systems. Use the VitualBox "Import Appliance" option to import the JABAWS. Please bear in mind that to benefit from multiple CPU support under the VirtualBox software you need to enable hardware virtualization extensions, such as Intel Virtualization VT-x or AMD-V support in the BIOS of your computer. Unfortunately, we were unable to find a reliable way to do it on Mac, so some Macs running VirtualBox will be limited to one CPU only, irrespective of the number of CPUs of the host machine.

We found that, by default, virtualization extensions are enabled in VirtualBox irrespective of whether your computer supports them. You will get the VERR_VMX_MSR_LOCKED_OR_DISABLED exception if your computer does not support the extensions or their support is disabled. Just deselect the checkboxes shown on the screen shot below to solve the problem.

VirtualBox JABAWS VM configuration screen shot displaying virtualization settings.

VT-x extension on VirtualBox

JABAWS Appliance details

By default, the JABAWS virtual appliance is configured with 512M of memory and 1 CPU, but you are free to change these settings. If you have more than one CPU or CPU core on your computer you can make them available for the JABAWS virtual machine by editing virtual machine settings. Please bear in mind that more CPU power will not make a single calculation go faster, but it will enable the VM to do calculations in parallel. Similarly, you can add more memory to the virtual machine. More memory lets your VM deal with larger tasks, e.g. work with large alignments.

The VMware Player screen shot below displays JABAWS VM CPU settings.

vmware cpu settings

JABAWS appliance configuration:

VMware info
- CPUs : 1
- RAM : 512 MB
- Networking : Host only (the VM has no access to the outside network, nothing from the outside network can access the VM)
- Hard disk : 20 GB (expanding)
- VMware tools : Installed

OS info
- OS : TurnKey Linux, based on Ubuntu 8.0.4 JEOS (Just-Enough-Operation-System)
- Installation : Oracle Java 6, Tomcat 6, JABAWS v. 1.0
- Hostname : tomcat
- IPv4 address : dhcp
- IPv6 address : auto
- DNS name : none
- Name server : dhcp
- Route : dhcp
- Keyboard : US_intl

Login credentials
- Root password: jabaws

Services

  • Default virtual console Alt+F7
  • Tomcat web server.
    Access: http://VM_IP
  • JABAWS URL: http://VM_IP/jabaws
  • Web Shell
    Access: https://VM_IP:12320/
  • Webmean
    Access: https://VM_IP:12321/
  • SSH/SFTP
    Access: root@VM_IP

Where VM_IP is the VM IP address. Under VMware Player host only networking, the first VM may have 192.168.227.128 IP address. Under VirtualBox host only networking, first VM may have 192.168.56.101 IP address.

Configuring Jalview to work with your JABAWS VM

After booting the JABAWS VM, you should see similar screen, however, the IP address of your VM may be different. To enable Jalview to work with your JABAWS appliance you need to go to Jalview->Tools->Preferences->Web Services -> New Service URL, and add JABAWS URL into the box provided. For more information please refer to Jalview help pages.

JABAWS welcome screen

If you click on Advanced Menu, you will see the configuration console, similar to the one below.

JABAWS welcome screen

If you need to configure a static IP address the configuration console will help you with this. Shutting down the VM is best from the configuration console as well.

VM Network Settings

By default the JABAWS VM is configured to use host-only networking. This means that the host can communicate with the VM via a network, but no other machines can. Similarly, the VM cannot communicate with any other computers apart from the host. If you want to connect to the Internet from the VM, configure your VM to use NAT network. However, you will not be able to connect to the VM from the host in such case. If you want to be able to connect to your VM and let VM connect to the internet at the same time you would have to use a Bridged network. In such a case you would have to configure the VM IP address manually (unless of course your network has a DHCP server to do that)

VirtualBox fails to open the VM due to VERR_VMX_MSR_LOCKED_OR_DISABLED exception

VERR_VMX_MSR_LOCKED_OR_DISABLED exception means that Intel Virtualization technology is disabled or not supported by your computer. If you have such a problem, please make sure you have configured the JABAWS VM with 1 CPU and disabled VT-X extensions. Alternatively you can enable virtualization extensions ion from the BIOS of your computer. Unfortunately, we cannot give you exact instructions on how to do this, as this would depend on your computer BIOS manufacturer. For MACs it may not be possible at all.

VirtualBox 4.0 fails to import the VM due to VBOX_E_INVALID_OBJECT_STATE exception

There were reports that VirtualBox version 4.0 suffers from this problem at least on Windows XP. The fix is to use the previous version of VirtualBox 3.2.12

VMWare Player fails to open the VM with "Fail to query source for information" exception

At the time of writing, the latest version of VMware Player 3.1.2 supported only a legacy OVF version 0.9. Whereas OVF packaged with JABAWS VM is version 1.0. Please use VMX - VMware specific configuration file with all VMware products.