Table of Contents
Install PostgreSQL 9.1
To install the latest PostgreSQL:
$ sudo apt-get install postgresql
PostgreSQL server setup
first set up the PostgreSQL postgres user password:
$ sudo -u postgres psql postgres
$ \password postgres
and give the password "postgres" when prompted.
Create database for Galaxy
To set up a database for Galaxy, I installed pgAdminIII, a GUI interface to manage PostgreSQL.
$ sudo apt-get install pgadmin3
From the pgAdminIII tool I created a database named "galaxy" and made 'postgres' the owner.
Configure PostgreSQL for Galaxy
PostgreSQL installs config files in /etc/postgresql/9.1/main. And data in /var/lib/postgresql/9.1/main.
I edited the postgres pg_hba.conf file to allow everyone access from the CCG Ubuntu server.
$ sudo vi /etc/postgresql/9.1/main/pg_hba.conf
edit the commented out lines as follows:local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
host all all 0.0.0.0/0 md5
Edit the 'postgresql.conf file to allow connection from all computers: Change and uncomment "listen_addresses = 'localhost'" to "listen_addresses = '*'".
listen_addresses = '*'
Configure Galaxy to connect to PostgreSQL
Galaxy must be configured to communicate with the PostgreSQL database.
Edit the universe_wsgi.ini file in /data/galaxy/galaxy-dist.
I made the following changes:admin_users = bsimison@calacademy.org
host = 10.5.10.18 [IP ADDRESS]
database_connection = postgres://postgres:postgres@localhost:5432/galaxy
Setting up auto start for Galaxy server
To get Galaxy server to start automatically, use the Ubuntu "init.d" system. In the /data/galaxy/galaxy-dist/contrib directory is a
sample init file "galaxy.debian-init" that needs to be editied and copied to the /etc/init.d directory. The edited lines are highlighted
in red:#!/bin/bash
# Author: James Casbon, 2009
### BEGIN INIT INFO
# Provides: galaxy
# Required-Start: $network $local_fs $mysql
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Galaxy
### END INIT INFO
. /lib/lsb/init-functions
USER="galaxy"
GROUP="nogroup"
DIR="/data/galaxy/galaxy-dist/"
PYTHON="/usr/bin/python"
OPTS="-ES ./scripts/paster.py serve --log-file /home/galaxy/galaxy.log universe_wsgi.ini"
PIDFILE="/var/run/galaxy.pid"
case "${1:-''}" in
'start')
log_daemon_msg "Starting Galaxy"
if start-stop-daemon --chuid $USER --group $GROUP --start --make-pidfile \
--pidfile $PIDFILE --background --chdir $DIR --exec $PYTHON -- $OPTS; then
log_end_msg 0
else
log_end_msg 1
fi
;;
'stop')
log_daemon_msg "Stopping Galaxy"
if start-stop-daemon --stop --pidfile $PIDFILE; then
log_end_msg 0
else
log_end_msg 1
fi
;;
'restart')
# restart commands here
$0 stop
$0 start
;;
*) # no parameter specified
echo "Usage: $SELF start|stop|restart|reload|force-reload|status"
exit 1
;;
esac
Then run the command to add entries to the rc*.d directories to start Galaxy at startup:
$ update-rc.d galaxy defaults