TPP:Installing on Ubuntu 7.04

From SPCTools

(Difference between revisions)
Jump to: navigation, search
Revision as of 17:58, 4 June 2007
Dfermin (Talk | contribs)
(Compiling TPP)
← Previous diff
Current revision
JoeS (Talk | contribs)

Line 1: Line 1:
 +{| style="border-collapse: separate; border-spacing: 2; border-width: 1px; border-style: solid; border-color: #000; padding: 4px;"
 +|[[Image:alert.jpg|middle|left]]
 +| For TPP versions 4.8 and later please see the README and INSTALL_LINUX files found in source code distribution for instructions on how to build TPP for the Linux platform.
 +|}
 +<br>
 +
== Disclaimer == == Disclaimer ==
These instructions are provided with '''no''' guarantees of any kind. These steps These instructions are provided with '''no''' guarantees of any kind. These steps
Line 89: Line 95:
== Compiling TPP == == Compiling TPP ==
-Download the TPP package (<code>http://sourceforge.net/project/showfiles.+Download the TPP package [http://sourceforge.net/project/showfiles.php?group_id=69281&package_id=126912 here]. As of this writing, the current version
-php?group_id=69281&package_id=126912</code>. As of this writing, the current version+is '''3.2.1'''.
-is '''3.0.3'''.+
Once you have the tarball here's what you do: Once you have the tarball here's what you do:
<code><pre> <code><pre>
-tar xzf TPP_v3.0.3_SQUALL.zip+tar xzf TPP_v3.2.1_SQUALL.zip
cd trans_proteomic_pipeline/src cd trans_proteomic_pipeline/src
</pre></code> </pre></code>
---- ----
-==== CVS Version ====+==== SVN Version ====
-Alternatively, you can get the latest source code via CVS. I've found that installing the CVS release is sometimes better so if you want to use this code here is what you do.+
-('''Note:''' You need CVS installed to do this so make sure you have it with <code> sudo apt-get cvs </code>+
-Once you have CVS installed. Type:+Alternatively, you can get the latest source code via SVN. I've found that installing the SVN release is sometimes better so if you want to use this code here is what you do.
-<code><pre>cvs -d:pserver:anonymous@sashimi.cvs.sourceforge.net:/cvsroot/sashimi login</pre></code>+('''Note:''' You need SVN installed to do this so make sure you have it with <code> sudo apt-get svn </code>
-When asked for a password just hit 'Enter'+ 
-<code><pre>+Once you have SVN installed. Type:
-cvs -z3 -d:pserver:anonymous@sashimi.cvs.sourceforge.net:/cvsroot/sashimi co -P trans_proteomic_pipeline+<code><pre>svn co https://sashimi.svn.sourceforge.net/svnroot/sashimi/trunk/trans_proteomic_pipeline --username=anonymous
-cd trans_proteomic_pipeline/src+cd trans_proteomic_pipeline/src</pre></code>
-</pre></code>+
This will download the ''trans_protemic_pipeline'' directory to your computer. This will download the ''trans_protemic_pipeline'' directory to your computer.

Current revision

middle
For TPP versions 4.8 and later please see the README and INSTALL_LINUX files found in source code distribution for instructions on how to build TPP for the Linux platform.


Contents

Disclaimer

These instructions are provided with no guarantees of any kind. These steps worked for me. I hope they work for you but don’t hold me responsible if you make your system inoperable by following these directions.

Background

You will need to have the basic programming packages installed beforehand. Get them by typing the following at the command line:

sudo apt-get install build-essential

When prompted to, enter your user password.

Prerequisite Packages

There are several packages that you need to have installed. The list is provided below. You can find them for Ubuntu using the search feature of this webpage: http://packages.ubuntu.com/

Package Name Maintainer Ubuntu Packages to get
libgd www.boutell.com/gd libgd-dev
libpng www.libpng.org libpng12-dev
zlib www.gzip.org/zlib zlib1g-dev
boost www.boost.org libboost*
expat expat.sourceforge.net libexpat1-dev
gnuplot www.gnuplot.info gnuplot

All of these packages can be installed with this command: sudo apt-get install package name. You can check to see if you have the libraries installed using this command: dpkg -l package name

Install Apache Server

For whatever reason, the apache version for Ubuntu 7.04 from the repositories did not work for me so I compiled mine from source. I used version 2.2.4 and installed it to /usr/local/apps/apache2. I downloaded the source code from http://httpd.apache.org/download.cgi. Once you have the source code, these are the commands I typed:

sudo su
tar xzf httpd-2.2.4.tar.gz
cd httpd-2.2.4
./configure --prefix=/usr/local/apps/apache2
make
make install

Start apache: /usr/local/apps/apache/bin/apachectl -k start. Open your browser and go to http://localhost . If everything is okay, you should see a webpage that says ”It works!”.

Now modify the apache server configuration file. At the end of this HowTo is the httpd.conf file that I used. You can copy and paste the text into a blank file and save it as httpd.conf.tpp. Then backup the default apache2 httpd.conf file and replace it with mine. Here are the commands for after you’ve saved my httpd.conf file as httpd.conf.tpp:

cd /usr/local/apps/apache2/conf
mv httpd.conf httpd.conf.original
mv /current/directory/of/httpd.conf.tpp /usr/local/apps/apache2/conf
ln -s httpd.conf.tpp httpd.conf

Restart the httpd daemon:

/usr/local/apps/apache/bin/apachectl -k restart

Go back to http://localhost and see if you still get the same webpage.


Compiling TPP

Download the TPP package here. As of this writing, the current version is 3.2.1. Once you have the tarball here's what you do:

tar xzf TPP_v3.2.1_SQUALL.zip
cd trans_proteomic_pipeline/src

SVN Version

Alternatively, you can get the latest source code via SVN. I've found that installing the SVN release is sometimes better so if you want to use this code here is what you do. (Note: You need SVN installed to do this so make sure you have it with sudo apt-get svn

Once you have SVN installed. Type:

svn co https://sashimi.svn.sourceforge.net/svnroot/sashimi/trunk/trans_proteomic_pipeline --username=anonymous
cd trans_proteomic_pipeline/src

This will download the trans_protemic_pipeline directory to your computer.



Using your favorite editor, open up the Makefile.incl file and set TPP ROOT variable to be where you want the installation to go. In my case I wanted to install it to /usr/local/apps/tpp so that is the value I used. When you’re done, save your changes.

Back at the terminal, from within the src directory type:

make configure
make
sudo make install

As a final step, I created a data directory within my TPP install that is "world accessible". This means anyone can dump data in to this directory for running/viewing proteomics data through the pipeline. I've included the commands for making the directory here:

sudo mkdir /usr/local/apps/tpp/data
sudo chmod 777 /usr/local/apps/tpp/data

Note that the directory is completely accessible to everyone so don't put confidential or mission-critical stuff in this folder.

I did run into one minor nuisance: the nice command in Ubuntu 7.04 is installed at /usr/bin/nice. TPP expects to find it at /bin/nice. To deal with this, I just added a link:

sudo ln -s /usr/bin/nice /bin/nice

This is by no means an exhaustive HowTo and additions/improvement/comments are welcome.


Original Author: Damian Fermin (dfermin at the University of Michigan, Ann Arbor)

Custom httpd.conf file

This is the httpd.conf file I used for my implementation of TPP. It worked for me, I hope it works for you but again this file is provided with no guarantee of any kind.


# This file hosts 2 servers from localhost: 1) TPP and 2) CPAS


# where Apache2 install actually lives on filesystem
ServerRoot "/usr/local/apps/apache2"


# Fully qualified name for server
ServerName localhost

# User accounts to use for Apache processes
<IfModule !mpm_netware_module>
User daemon
Group daemon
</IfModule>

# Contact info. for when people break the machine
ServerAdmin dfermin@umich.edu


# Sets the file Apache will server if a directory is requested
<IfModule dir_module>
	DirectoryIndex index.html
</IfModule>

# Prevents access to .htaccess and .htpasswd files
<FilesMatch "^\.ht">
	Order allow,deny
	Deny from all
	Satisfy All
</FilesMatch>

# Default MIME type the server will use for documents if it can't 
# figure one out for a given file extension
DefaultType text/plain

<IfModule mime_module>
	TypesConfig conf/mime.types
	AddType application/x-compress .Z
	AddType application/x-gzip .gz .tgz
	AddType text/html .shtml
	AddHandler server-parsed .shtml
	AddOutputFilter INCLUDES .shtml
</IfModule>

# Secure (SSL/TLS) connections
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>


## Ports to listen on for TPP
Listen 80
NameVirtualHost 127.0.0.1:80


## Ports to listen on for CPAS
#Listen 8080
#NameVirtualHost 127.0.0.1:8080


######################### TPP Server Configuration ############################
<VirtualHost 127.0.0.1:80>
	## IP address _AND_ port to access this server on
	ServerName 127.0.0.1:80
	DocumentRoot /usr/local/apps/tpp
	SetEnv WEBSERVER_ROOT /usr/local/apps/tpp
	
	# file where errors are recorded and what level of recording is done
	ErrorLog logs/tpp-errors.log
	LogLevel warn
	
	# Access logs
	<IfModule log_config_module>
		# Directives defining formatting of access log output
		LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
		LogFormat "%h %l %u %t \"%r\" %>s %b" common

    		<IfModule logio_module>
      			# You need to enable mod_logio.c to use %I and %O
      			LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    		</IfModule>
		CustomLog logs/tpp_access_log common
	</IfModule>
	
	

	## Global directives for TPP configuration
	<Directory "/usr/local/apps/tpp">
		Options Indexes FollowSymLinks
		AllowOverride None
		Order allow,deny
		Allow from all
	</Directory>	

	# directory to store data for web browser viewing
	Alias /tpp/data "/usr/local/apps/tpp/data"
	<Directory "/usr/local/apps/tpp/data">
		AllowOverride None
		Options Indexes FollowSymLinks Includes
		Order allow,deny
		Allow from all
	</Directory>

	# directory for tpp's html resources (css, js, images, etc)
	Alias /tpp/html "/usr/local/apps/tpp/html"
	<Directory "/usr/local/apps/tpp/html">
		AllowOverride None
		Options Includes Indexes FollowSymLinks MultiViews
		Order allow,deny
		Allow from all
	</Directory>
	
	# directory for tpp's schema resources
	<Directory "/usr/local/apps/tpp/schema">
		AllowOverride None
		Options Includes Indexes FollowSymLinks MultiViews
   		Order allow,deny
    		Allow from all
	</Directory>
	
	# directory for tpp's executable files
	ScriptAlias /tpp/cgi-bin/ "/usr/local/apps/tpp/cgi-bin/"
	<Directory "/usr/local/apps/tpp/cgi-bin">
    		AllowOverride AuthConfig Limit
    		Options Indexes FollowSymLinks MultiViews ExecCGI +Includes
    		Order allow,deny
    		Allow from all
    		SetEnv WEBSERVER_ROOT /usr/local/apps/tpp
	</Directory>
</VirtualHost>
##############################################################################

########################## CPAS Configuration ################################
# Not relevant to this TPP HowTo so you can delete this section
##############################################################################
Personal tools