As Root User:
Check the version of apache you have installed. Some Redhat installations will allow you to include an Apache webserver in the installation. These versions can be different than Apache2. You can check which version you have with:
shell> rpm -q apache2
shell> rpm -q httpd2
shell> rpm -q apache
shell> rpm -q httpd
My Fedora 5 installation came with Apache 2.2.0-5.1.2. It was a little misleading because of the way in which Redhat set it up in this installation. Instead of using the apache2/httpd2 convention, it installed it under httpd. Be aware that things like this can happen from time to time.
Furthermore, I've noticed that the RPMs for Redhat are slowly beginning to disappear as support for older versions of Redhat is being phased out. If you need to install Apache, please do so from their website and follow the installation instructions below:
Download the httpd-2.2.4.tar.gz file.
As Root User:
shell> tar -xzvf httpd-2.2.4.tar.gz
shell> cd httpd-2.2.4
shell> make install
shell> /usr/local/apache2/bin/apachectl start
Edit Apache Configuration for Manatee:
Whether you already had apache installed or not, you will need to make some changes to its configuration files. Remember that your config file may be located in a differnt place depending on how you installed Apache. Edit the file:
First, you need to set an environmental variable for temp space. Add this line anywhere near the top of the file:
setenv WEBSERVER_TMP /tmp
You can change "/tmp" to be some other space, but it should be a place that is cleaned up often or you could run out of disk space.
Since our apache is installed at "/usr/local/apache2", it will assume all cgi scripts located at "/usr/local/apache2/cgi-bin". This will be reflected in its configure file as having this line in certain section "/usr/local/apache2/..". If this is the case. to make our future installed manatee work from "/var/www", we will need to add the following changes to config file "/usr/local/apache2/conf/httpd.conf":
Use DocumentRoot "/var/www/html" to replace DocumentRoot "/usr/local/apache2/htdocs"
You will find them in DocumentRoot and Directory section of conf file. This could be different depending on where the original apache installed
Use <Directory "/var/www/html"> to replace <Directory "/usr/local/apache2/htdocs">
Use <Directory "/var/www/cgi-bin"> to replace <Directory "/usr/local/apache2/cgi-bin">
Next you will add the following lines to your ScriptAlias section:
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
ScriptAlias /tigr-scripts/ "/var/www/cgi-bin/"
Alias /webserver_tmp/ "/tmp/"
You can find the "ScriptAlias" section just by searching for that word within the file. My installation didn't have one, the other place to look for is <IfModules alias_module>.
Adding "Alias /webserver_temp/ /tmp/" will require you to add another Directory section to conf file:
Allow from all
Once that is finished you need to restart apache. You can accomplish this with the following command:
shell> /usr/local/apache2/bin/apachectl restart
3. MySQL 5.0.0 (or later) | Information
As Root User:
Although manatee will support both MySQL 4.0.- and 5.0.-, it is highly recommended that you install MySQL 5.0.-. During installation of Fedora 5/6, you can tell the installer to include MySQL. If you left it out, you can grab the RPMs from the "Information" link above (version numbers may change):
Install these with:
shell> rpm -Uvh MySQL*.rpm
Perl DBI, DBD::mysql may be needed at this point. If this happen, use 'rpm -Uvh --nodeps MySQL*.rpm'.
If you have a version of MySQL installed on your system, it may prevent you from installing new MySQL. To remove it from your system, you need to do the followig. First, you need to backup your data in case further operation damage the data. You will find them under "/var/lib/mysql" or other places depend on your previous installation. Then, if you install previous MySQL by rmp, you can find all packages by doing:
shell> rpm -qa | grep -i mysql
And then remove the package that come out of this command by:
shell> rpm -e <packagename>
If there are several packages needed to be removed, these packages have certain kind of dependency, you can remove them by running "rpm -e --nodeps <packagename>"
Remember: You must have the above RPMs installed
Install the mysql databases with:
You can see all the default users, hostnames, passwords, and privileges by running the following:
mysql> USE mysql;
mysql> SELECT user, host, password, select_priv, update_priv, delete_priv, insert_priv FROM user;
Be sure to set the root password in MySQL as described after the install and in the documentation. See Securing the Initial MySQL Accounts for more detailed information on securing your MySQL server. I was able to change it by running:
shell> mysqladmin -u root -h [host_name] password "newpwd"
Changing root password may cause problem for later install of DBD::mysql from CPAN method. You can choose to install DBD::mysql first, then change root password.
Replace [host_name] with the name of the server host.
I would also recommend that you remove the anonymous users that are installed by default. They really provide no use and some may even consider them a security risk. Do this by:
shell> mysql -u root -p[password]
mysql> DELETE FROM mysql.user WHERE user = '';
mysql> FLUSH PRIVILEGES;
You should now make sure the MySQL service is started like this:
shell> /sbin/service mysql start
shell> cd /usr
Now you will need to set up permissions for the databases as well as permissions for modifying data in the database. First, login to MySQL with:
shell> mysql -u root -p
You should have been prompted for a password, and upon a successful login you will be at a prompt that looks like this:
First, you can create a read-only user to look at databases:
mysql> GRANT SELECT ON *.* TO access@localhost IDENTIFIED BY 'access'
If you would rather make a user with more complete privileges, you could instead do these commands:
mysql> GRANT ALL ON *.* TO your_user_name@localhost IDENTIFIED BY 'your_password' WITH GRANT OPTION
Type 'quit' to exit from the mysql command prompt.
4. GD 2.0.34 Graphics Library (or later) | Information
You may have these GD libraries already installed. To check, do this:
shell> rpm -q libgd2
shell> rpm -q libgd2-devel
If you have verified that the libgd2 and libgd2-devel are not installed, download GD from the "Information" link above and do the following:
shell> tar -xzvf gd-2.0.34.tar.gz
shell> cd gd-2.0.34
shell> make check
shell> make install
Please read the INSTALL README file in the source for customizing your own installation. Also, you may want to view the Troubleshooting Page for additional information on failed installations of the GD library.
5. Expat 1.95.8-8.2 XML Parser | Information
You may have the Expat XML parser already installed. To check, do this:
shell> rpm -q expat
If you don't have it, grab it from a mirror or compile the source from:
6. Perl Modules Installation | Download
Manatee makes use of quite a few perl modules. These can be most easily installed using CPAN. Otherwise, go to www.cpan.org and download and compile them individually. The following modules are required:
XML :: Parser
XML :: Simple
XML :: Writer
XML :: Twig
Tree :: DAG_Node
File :: Spec
GD :: Text
GD :: Graph
Date :: Manip
Log :: Log4perl
Log :: Cabin
DBD :: mysql
HTML :: Template
If you'd like to try the CPAN method, start with this:
shell> perl -MCPAN -e shell
If it is the first time you have done this you will need to answer some setup questions. Next you can install any of the modules simply by typing:
install XML::Parser XML::Simple XML::Writer
...and so on for each module. Take care to watch for failure messages. If there are any failures you will have to install the module manually from CPAN.
If you don't like cpan installation, Manatee source code include a script install_perl.pl, running this will install all requires perl module and another perl module Log-Cabin from manatee source code.
After download and unzip manatee tar file:
shell> cd manatee
7. Manatee Source Installation | Download
Download the latest Manatee source tarball.
Please read the INSTALL README file in the source for customizing your own installation.
As Root User:
shell> tar -xzvf manatee-2.4.0.tgz
shell> cd manatee
There may be times where your installations of apache and mysql are not located in typical locations. There are several variables you can pass into the configure script to point to those locations. There are the variables:
Here's an example of using these variables (configure file will assume httpd location /usr/local/apache2/bin by default, MYSQLD location /usr/local/mysql/bin by default):
shell> ./configure HTTPD=/usr/local/apache2/bin/httpd MYSQLD=/usr/sbin/mysqld
shell> make install
Our configure file will look for the installation of apache server and install manatee in the right location. In our case, it will be "/var/www/cgi-bin". This is the place you will look for Manatee.conf file to do further configuration for Manatee.
8. Manatee Standard Database Installations | Download
This tarball contains 2 required databases that Manatee will need to run all project databases, 1 demo project database, and 1 demo flat file database. Once installed, you will have a demo project database in which to test your Manatee installation. To install, please follow the instruction below:
Download the database installation tarball above to a location with a lot of space. The tarball contains the databases so it will take up a significant amount of disk space (482 Mb). For our purposes here, we will assume that we have downloaded it into /usr/local.
We will also assume that your MySQL data location is in /var/lib/mysql and that you do not have a search_data directory. The installation script will automatically make one for you in the path that you provide to the script below (unless it is already there). For our purposes, we will install the flat file search data into /var/lib/search_data
Please read the README file after untarring the database installation tarball for a more detailed description of how to install the databases.
As Root User:
shell> cd /usr/local
shell> tar -xzvf install_demo.tgz
shell> cd install_demo
shell> ./install_demo /var/lib/mysql /var/lib/search_data mysql5
Note that the install_demo script takes in two arguments. The first must be the MySQL data location and the second must be the location where you want the flat file databases to go.
9. Using Manatee for the First Time
Once everything above has been installed, you should be able to use Manatee with relative ease. The Manatee Source Installation step did the following. The CGI scripts and API were installed in a cgi-bin area designated by you in your httpd.conf file. Here, we will assume that the installation took place in /usr/local/apache2/cgi-bin. Both prokaryotic and eukaryotic versions of Manatee were installed in the same locations and has affected only 2 locations on your filesystem.
CGI/API Source Code
/var/www/cgi-bin will contain a euk_manatee and a prok_manatee directory
HTML/CSS Source Code
/var/www/html will contain a tdb directory which will contain a euk_manatee and a prok_manatee directory
Modifying the Manatee.conf File
The Manatee.conf file will be located in /var/www/cgi-bin/prok_manatee/conf. You must make sure that you modify the variables in this file to accomodate your system. Below are listed the variables that users typically have to change:
Accessing Manatee in your Browser
ANNOTATION_DIR - Change this to point to your "search_data" directory.
IPRSCAN_DIR - Change this to point to w here you installed iprscan.
GZCAT - Change this to point to either gzcat OR zcat.
To access Manatee, you will go to a URL that will be like the following (depending on what organism type you are working with):
In our example, I would access Manatee by going to:
And this page will redirect me to the login screen. At the login screen, put in your database user name and password that you set up in the MySQL Installation and enter in your database id. Database ids vary but will be much like the following:
gvc, gsp, etc. for prokaryotic organisms
ath1, pfa1, etc. for eukaryotic organisms
During very technical installations like this one, you are bound to run into problems. We will try and keep an up-to-date Troubleshooting page that may have answers to your questions.
User's Manual (coming soon)
Unfortunately, we do not have any user documentation beyond installation instructions and troubleshooting. We hope to have more in the future. Although we cannot offer a specific date for releasing new documentation, check back periodically for updates.