Genome Browser in a box config

From genomewiki
Jump to navigationJump to search

Internal config

The Gbib is a ubuntu 13 linux with apache, mysql and the default tools. See Preparing_VirtualBox_images

Hgwdev has virtualbox installed and two virtual machines (VMs) added: browserbox and browserbox-dev. Browserbox-dev can be used for development of box-specific patches. browserbox is the "master" image of the gbib.

The virtual machines live in qateam/VirtualBox VMs/. The central virtualbox xml config file where they are registered is ~/.config/VirtualBox/VirtualBox.xml

qateam has aliases to start and stop the VMs: boxStart / boxStop and devStart / devStop.

Once started, browserbox listens at port 1234 for web requests and at 1235 for ssh. browserbox-dev listens at 1236 for web requests and at 1237 for ssh.

SSH

qateam has these entries in their .ssh/config:

 Host devbox
 Hostname localhost
 Port 1237
 User browser
 Host box
 Hostname localhost
 Port 1235
 User browser

So you can do "ssh box" or "ssh devbox" on hgwdev to connect to the boxes.

There is no password, because the qateam ssh key was added to both boxes (see qateam's "scpdsa" command)

Connecting to the boxes from your desktop machine

browserbox and browserbox-dev both accept only connections from hgwdev, not from outside. You cannot connect from your desktop machine to any box. So ssh on your desktop has to be told to forward a few ports to hgwdev. Once you start ssh, it will listen to some ports on your machine, all data gets tunneled through the ssh connection and appears on hgwdev on the localhost interface, where hgwdev will forward it to the browserbox. To make this happen, add this to your file ~/.ssh/config on your own OSX or linux machine:

 Host hgwdevtunnel
 Hostname hgwdev.sdsc.edu
 User <YOURHGWDEVUSER e.g. rhead>
 LocalForward 127.0.0.1:1234 127.0.0.1:1234
 LocalForward 127.0.0.1:1236 127.0.0.1:1236

You can then do a "ssh devtunnel" to get connected to hgwdev and have the ports on your machine 1234 and 1236 forwarded to the boxes.

Compile binaries in browserbox-dev

We have a three 1/2 stage release cycle: devbox correspond to hgwdev, browserbox corresponds to beta, browserboxBeta.zip is a version of beta that can be tested on a OSX machine, the final zip file corresponds to the RR.

start browserbox-dev:

 devStart

connect + git pull + compile:

 ssh devbox compileCgis

copy from devbox to beta distribution rsync server directory (this is defined in qateam's .bashrc):

 devUpdateRsync

stop the box:

 boxStop

Test binaries in browserbox

On your desktop machine:

 ssh hgwdevtunnel

on hgwdev, start browserbox:

 boxStart

wait a few seconds, then:

 ssh box
 updateBrowser beta

this will put the cgis and htdocs that were rsync'ed to hgwdev into the browserbox.

You can now connect from your desktop to http://127.0.0.1:1234 and test the CGIs.

If they are OK:

 sudo /root/cleanVm
 logout
 boxStop