Building Frozen Releases
Contents
Hardware
WormBase frozen releases are hosted on the virtualized server:
wb-dev2.oicr.on.ca
- 500 GB disk space
- 4 GB RAM
- Debian "Lenny"
Server Configuration
All WormBase-specific files are maintained in a shared directory.
ls /usr/local/wormbase acedb/ logs/ // Cross-site logs WS100 // WS100 website WS110 // WS110 website WS120 // WS120 website ...
Each frozen release is a separate virtual host running under a single Apache instance. To prevent collision of libraries, version specific Perl modules are maintained in:
/usr/local/wormbase/VERSION/extlib
@INC is prepended with this path for each virtual host during apache launch.
Users, groups, directories
Set up the basic users, groups, and directories as previously described.
Installing system libraries
Assuming a vanilla Debian installation, install the following libaries via sudo apt-get install. Some of these libraries are discussed below.
gcc curl wget bzip2 mysql-server mysql-server-5.0 libgd2-xpm-dev libgd2-xpm xinetd libdbd-mysql libdbd-mysql-perl apache2 libapache2-mod-perl2 libgtk2.0-0 libgtk2.0-dev libglib byacc
AceDB
Build AceDB as previously described.
MySQL
Install and configure MySQL as previously described.
Each frozen release will have one or more database of the form species_VERSION or g_species_VERSION. Give access to each of these for the www-data user:
grant select on elegans_WS110.* to www-data@localhost;
Apache2 and mod_perl2
Install and configurate Apache2 and mod_perl2 as described.
Set up name based virtual hosts for each frozen release as follows:
<VirtualHost *:80> Include /usr/local/wormbase/VERSION/conf/httpd.conf ServerName ws[VERSION].wormbase.org UseCanonicalName on </VirtualHost>
Be certain to remove or comment out the default configuration.
Fetch frozen releases and unpack
$ ssh brie4 $ cd ~ftp/pub/wormbase $ screen $ scp -r data_freezes wb-dev.oicr.on.ca:.
- Unpack acedb_VERSION.ace.tgz or elegans_VERSION.ace.tgz into /usr/local/wormbase/acedb/
- Unpack GFF databases into /var/lib/mysql/
- Prepend the version onto each mysql database: species_VERSION or g_species_VERSION
WHERE DO THE BLAST/BLAT DATABASES GO?
Fix configuration files
perl.startup
- Insert the VERSION into all appropriate "use lib" statements.
- Add "use Apache2::compat" for mod_perl1 backwards compatability.
httpd.conf
- Change all occurrences of /usr/local/wormbase to /usr/local/wormbase/VERSION
- Change the ServerName as appropriate
- Prepend the version to both the error and access logs
- Remove any unnecessary configuration (DAV, mailarch, etc)
- In the "Location /db/" stanza, replace the PerlHandler line with:
PerlResponseHandler ModPerl::Registry
elegans.pm
- Update the WS200 variable
- Change the symbolic name of the acedb database to wormbase_VERSION
- Append the version to all GFF databases
gbrowse.conf
- Append the version to all GFF databases