Installing Galaxy on Scientific Linux 6
Galaxy is a platform for managing, running, and sharing computational biology data and pipelines. Its a big idea, and a good idea, but a bit of a task to get working exactly how you might want it.
What follows is a brain dump of the initial setup and configuration of this tool. Sorry about the length.
Goals for sever configuration
- Follow all recommended settings for production level Galaxy server
- Use Nginx proxy front-end
- Enable as much of proxy components as possible
- Use local postgreSQL server
- Try to make these instructions as complete as possible
Future goals for follow up configuration include
- Enable and configure as many of the tools as possible
- Provide easy access to local directories of sequencing data inside Galaxy
- Experiment with with Galaxy Toolshed
- Experiment with cluster configurations
About the System
Scientific Linux release 6.1 (Carbon)
Will use separate galaxy
user to run galaxy
Galaxy user’s home directory will be located:
/usr/local/galaxy
Resources
Most information comes from apapow.net
And the galaxy wikis Production Server page
Check base install
Ensure python is installed and at 2.6
Ensure PostgreSQL is installed
Modify PostgreSQL config file
Tricky part to getting postgreSQL working is the pg_hba.conf
file. Edit it to allow local connections.
A blog post explaining the syntax of this file . It should look something like:
Startup PostgreSQL
Add galaxy user
Note
The galaxy
user created here is not capable of using sudo. Every time sudo is used in this document, it is done from a sudo capable user.
Galaxy user’s home directory is at:
/usr/local/galaxy
This was done because /home
is a remotely mounted disk.
Install dependency packages
Install Galaxy
Switch to galaxy user
Download galaxy
Download virtualenv
Create sand-boxed Python using virtualenv
Configure galaxy user
Edit ~/.bashrc
to define TEMP
and to add virtualenv source
Ensure that ~/.bash_profile
sources ~/.bashrc
Setup PostgreSQL database for Galaxy
Login as postgres user
Use createdb to create new database for galaxy
Connect to database using psql
Create galaxy user for PostgreSQL database
Test galaxy PostgreSQL user.
Exit out of postgres user. Return to galaxy user and then attempt to connect to database.