|
INTRODUCTION:
This document is intended to aid in the
installation of LAD (the Longhorn Array Database).
What type of microarray researcher should
install LAD?
Installation and administration of LAD does not require a high degree
of technical skill or knowledge. It does however require a basic
administrative knowledge of Linux, PostgreSQL, and general system
maintenance functions. Please be sure that you are comfortable
with Apache, PostgreSQL, and general Linux file and system operations
before attempting to use LAD.
SERVER PREREQUISITES:
LAD is designed and intended to run on a modern Linux
distribution. We have tested and developed LAD on Mandrake 8.0,
8.2, 9.0 and 9.1. We have also utilized RedHat 7.2 and 8.0.
This document will include literal and detailed instructions based on
the Mandrake 9.1 platform. Please adapt for your chosen Linux
flavor.
I installed Mandrake 9.1 using the following groups:
- Internet Station
- Network Computer (client)
- Configuration
- Console Tools
- Development
- Documentation
- Mail
- Database
- Firewall/Router
- Network Computer Server
- KDE
In addition to these groupings I installed the following RPMS.
All of the below are easily installed from the original Mandrake
CDs or from the Mandrake Control Center.
- apache-1.3.27-8mdk
- apache-devel-1.3.27-8mdk
- apache-modules-1.3.27-8mdk
- apache-mod_perl-1.3.27_1.27-7mdk
- apache-source-1.3.27-8mdk
- apache-suexec-1.3.27-4mdk
- perl-Apache-Session-1.54-4mdk
As you can see, LAD works only with Apache version 1.x.
Be sure you also have PostgreSQL fully installed.
In addition to the standard packages:
- postgresql-7.3.2-5mdk
- postgresql-server-7.3.2-5mdk
I had to add:
- perl-DBD-Pg-1.21-2mdk
- pgaccess-0.92.8.20030117-2mdk
You will also need some graphics libraries:
- freetype-1.3.1-18mdk
- freetype-devel-1.3.1-18mdk
- freetype-tools-1.3.1-18mdk
- freetype2-2.1.3-12mdk
- freetype2-devel-2.1.3-12mdk
- freetype-static-devel-2.1.3-12mdk
- freetype2-tools-2.1.3-11mdk
- libxpm4-3.4k-23mdk
- libxpm4-devel-3.4k-23mdk
- libpng3-1.2.5-2mdk
- libpng3-devel-1.2.5-2mdk
- libnetpbm9-9.24-4.1mdk
- libnetpbm9-devel-9.24-4.1mdk
- libnetpbm9-static-devel-9.24-4.1mdk
- netpbm-9.24-4.1mdk
You will also need the graphics program "ImageMagick":
- ImageMagick-5.5.4.4-7mdk
Please install these BEFORE attempting installation.
HARDWARE PREREQUISITES:
LAD may be executed on fairly simple Linux-driven PCs. The two things
you will wish to maximize is RAM and disk space. The more RAM you have
the more happily the relational database will execute. The more disk
space you have the more experiments you will be able to load.
Min:
Pentium III - 500 Mhz
10 GB disk space available.
256 MB RAM.
Preferred:
Pentium III - 1 Ghz
20+ GB disk space available.
512 MB RAM.
Our Configuration:
Dual Intel Xeon 1.4 Ghz
360 GB disk space.
1 GB RAM.
PRE INSTALL SYSTEM MODIFICATIONS:
LAD recommends a few PostgreSQL configuration tweaks.
Out of the box, PostgreSQL is not configured to run "largish" databases.
Here are a few simple changes you can make to a "postgresql.conf" file
to ensure proper performance. These values will differ on machines with
differing amounts of RAM. I have included values that are appropriate
for a machine with approximately 500MB of RAM.
CHANGE 1:
Add/Change these values [/var/lib/pgsql/data/postgresql.conf]:
tcpip_socket = true
port = 5432
shared_buffers = 10000
sort_mem = 10000
vacuum_mem = 10000
These values will most likely not be accepted by your Linux kernel as
valid as most systems have a low shmmax by default.
CHANGE 2:
For this reason, add the following line to [/etc/init.d/postgresql]:
(add after line that says something like "PGVERSION=7.3")
echo "1999999999" >
/proc/sys/kernel/shmmax
Be sure to restart your PostgreSQL server by executing:
/etc/init.d/postgresql stop
/etc/init.d/postgresql start
CHANGE 3:
LAD's web operations will operate in either a "trust" or password
protected PostgreSQL environment.
Scripts found in /lad/custom-bin/
and /lad/mad/bin/ however may not operate in a password
protected PostgreSQL environment. It is recommended that you
create a ".pgpass" for any user who has either manual or cron related
jobs that execute these programs.
See the
PostgreSQL documentation on this issue for more details.
DOWNLOAD:
Utilize the [download] link at the top of
this page to download the TAR.GZ file.
Untar / Unzip this file into a temporary
directory. You will be using and installation program to actually
do the final install.
INSTALLATION:
Be sure that you have fully addressed all the prerequisite issues as
listed above before attempting an installation.
Be sure to also address the pre-install system modifications.
Be sure.
To start the install
execute (as root):
cd <temp
directory>/lad/install/
./install.pl
Yes, execute AS root!
Be SURE that root has the ability to create a PostgreSQL database as
well.
For example, can root execute?:
createdb test_lad
psql test_lad
dropdb test_lad
If not you will need to 'su postgres' and then:
createuser --adduser --createdb
root
POST INSTALL SYSTEM MODIFICATIONS:
LAD requires a few HTTP configuration tweaks.
CHANGE 1:
Once install has completed - you should execute these commands (as
root):
mv /var/www/html
/var/www/html_pre_lad
mv /var/www/cgi-bin /var/www/cgi-bin_pre_lad
ln -s /lad/www-data/html /var/www/html
ln -s /lad/www-data/cgi-bin /var/www/cgi-bin
CHANGE 2:
You should also add/edit the following entries to your HTTP config file:
<Directory /var/www/html>
Options -Indexes FollowSymLinks MultiViews Includes
.... more text ....
</Directory>";
<Directory />
Options -Indexes FollowSymLinks MultiViews Includes
.... more text ....
</Directory>";
CHANGE 3:
You will also wish to change the default timeout from:
Timeout 300
to
Timeout 30000
CHANGE 4:
You may also wish to use 'kuser' to change the 'Full Name' of your
apache user to 'Longhorn Array Database'. This will ensure that all
emails from LAD have a good name on them.
EXECUTION:
Once you have completed all tasks, LAD may be executed via a web
browser at:
http://<server name>/
During installation you setup a "curator" account and password. This is
what you will use to login.
We have configured the database so that you are nearly ready to roll
out of the box.
CREATING A PRINT:
Once you have logged in as "curator" you will need to create a print in
order to load an experiment.
We have created a document and included many files in /lad/install/yeast_example_print/ to assist
you in this process.
Please see the README file in that directory or the web guide on creating a yeast print.
CRON JOBS:
You will probably wish to cron-ify the following scripts. It is
important to remember that if you operate PostgreSQL in a "non-trust"
manner (psql requires a password) you will want to setup "root" with a
".pgpass".
See the PostgreSQL
documentation for more details.
0 0 * * *
/lad/custom-bin/deleteSessions.pl > /lad/logs/deleteSessions.txt
0 0 * * * /lad/custom-bin/deleteTmpFiles.pl >
/lad/logs/deleteTmpFiles.txt
0 0 * * * /lad/custom-bin/deleteDeletedScans.pl >
/lad/logs/deleteDeletedScans.txt
0 0 * * * /lad/custom-bin/deleteDeletedGifs.pl >
/lad/logs/deleteDeletedGifs.txt
0 3 03,04,05,08,09,10,11,12,15,16,17,18,19,22,23,24,25,26,29,30,31 * *
/lad/custom-bin/vacuumDb.pl
1,11,21,31,41,51 8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 * * *
/lad/www-data/cgi-bin/SMD/queue/LoadExpt2DB.pl >
/lad/logs/LoadExpt2DB.txt
DOCUMENTATION:
LAD is based on SMD (the Stanford Microarray Database). Please
see their site for further documentation on system operation.
The installad LAD server also has
extensive documentation on data loading, viewing, and analysis.
|