Web server set up

AlignmentViewer can directly access the resulting data file locally when the environmental variable $CGAT_HOME is correctly set. Therefore you can skip this section if you intend to use AlignmentViewer only on the machine on which the database was constructed. On the other hand, if you want to allow access to the database from various machines through the Internet, you must set up a web server on the server machine.

If there is already a HTTP server running on the server, the simplest way to add the CGAT service to the existing server is to create a symbolic link to $CGAT_HOME/htdocs/CGAT on a web site directory. For example, if you have a public_html directory on your home directory as your own homepage, you can add CGAT service to this page by creating the above symbolic link on this directory:

ln -s $CGAT_HOME/htdocs/CGAT ~/public_html
In this case, the URL for accessing the CGAT service is http://YOUR_MACHINE_ADDRESS/~YOUR_USER_NAME/CGAT/, where YOUR_MACHINE_ADDRESS and YOUR_USER_NAME should be replaced with appropriate names. If you are a Mac OSX user, you must have a Sites instead of public_html directory on your home directory as your own home page.

Next you must edit the httpd.conf file to modify the server setting. The location of the httpd.conf file is system dependent; on Mac OSX, user specific configuration can be described in a separate file, /private/etc/apache2/users/USERNAME.conf (for 10.5) or /etc/httpd/users/USERNAME.conf (for 10.4), where USERNAME should be replaced with your username. In any way, this step usually requires administrator privilege. Please ask an administrator of the machine if you do not have the privilege.

The following is a configuration required for the above example where the server is located on the public_html directory:

<Directory /PATH_TO_YOUR_HOME_DIRECTORY/public_html>
    Options ExecCGI FollowSymLinks
    AddHandler cgi-script .cgi
    SetEnv PERLLIB /PATH_TO_CGAT_HOME/perllib/

where /PATH_TO_YOUR_HOME_DIRECTORY and /PATH_TO_CGAT_HOME should be replaced with the absolute paths of the respective directories.

Possibly, you may need to load some additional Apache modules. For example, the above setting contains the SetEnv directive which requires the mod_env module. If this module is not loaded in the default setting, you must add the following line to the httpd.conf file.

LoadModule env_module         MODULE_PATH/mod_env.so
where MODULE_PATH should be replaced with a system dependent module path (please ask your administrator).

Please remember that you must restart the HTTP server to reflect the change after you modify the httpd.conf file. Typically, this can be done by the command apachectl restart . Mac OSX users can turn on/off the HTTP server by turning on/off, respectively, the "Personal Web Sharing" service in the Sharing pane opened through Apple menu ⇒ System preference ⇒ Sharing.