UBUNTU/DEBIAN INSTALL

It is very easy to install Helios on Debian- and Ubuntu-based systems as Perl 
is relatively up-to-date and almost all of Helios's dependencies are 
pre-packaged and ready to go.  The following installation procedure was tested 
and shown to work on Ubuntu 10.04 LTS, 11.04, and 12.04 LTS.


1) Install MySQL

If you don't already have a MySQL server installed, you can install it with:

    apt-get install mysql-server

If you already have a MySQL server up and running that you want to use on 
another server, you can just install the MySQL client:

    apt-get install mysql-client

Both the mysql-server and mysql-client packages will install the Perl DBI and 
DBD::mysql modules, if they aren't already installed.

Once you have your MySQL server up and running (there are plenty of 
instructions for that elsewhere on the Web), use the sql/helios_schema.sql 
to create a database schema for Helios to use.  Uncomment and edit the lines 
that create the 'helios' user to set an appropriate password.  Once the schema
file is ready, issue the following command to create the helios_db schema and 
helios user:

    mysql -u root -p < sql/helios_schema_mysql.sql

You'll be prompted for your MySQL root password, then your helios_db schema 
will be created.


2) Install Helios dependencies

As mentioned earlier, almost all of Helios's dependencies can be installed via 
apt-get.  Issue the following apt-get commands as the root user or via sudo:

    apt-get install libtheschwartz-perl
    apt-get install libxml-simple-perl
    apt-get install libconfig-inifiles-perl
    apt-get install libtest-simple-perl
    apt-get install liberror-perl
    apt-get install libwww-perl

The remaining dependency is Pod::Parser, which can be easily installed using
the CPAN shell.  Again as root or using sudo, issue these commands:

    perl -MCPAN -eshell
    install Pod::Parser
	exit
	
You can also manually download and install it from CPAN if you like.    


3) Configure & Install Helios

At this point you are ready to install the Helios core system.  Before you 
install the package however, you should edit the helios.ini config file and 
set the HELIOS_INI environment variable; this will allow the system to test 
database connectivity during the 'make test' phase.

Open the sample helios.ini file and enter the datasource name, MySQL user and 
password information in the example lines provided.  Also create the 
/var/run/helios path or change the pid_path line to a place your Helios system 
will be able to write PID files to.  Once you've done that, save the file and 
set the HELIOS_INI environment variable to point to the file:

    export HELIOS_INI=/path/to/helios.ini

Make sure the path is an absolute path!  You'll probably want to add the line 
above to the profile of the user your services will run as so Helios will 
always know where its configuration file is.

Once you're done, you can either install Helios using the CPAN shell or 
manually from this distribution.  To use the CPAN shell, use sudo (or 
become the root user) and issue the following commands:

    sudo perl -MCPAN -eshell
    install Helios
    
To install Helios manually from this distribution, use sudo or become the root
user and issue these commands:

    perl Makefile.PL
    make
    make test
    make install

If you want to install Helios in a private user directory instead of a path 
available to all users, you can use the INSTALL_BASE option of Makefile.PL:

    perl Makefile.PL INSTALL_BASE=/home/myhome/helios
    

4) Install Apache HTTP Server (optional)

If you want to submit jobs to Helios via HTTP, you'll need a web server with 
built-in CGI support.  The most obvious choice is the Apache HTTP Server, which 
you can install with:

    apt-get install apache2

You'll need to edit your Apache configuration to enable mod_cgi.  Once your 
Apache server is configured, install the submitJob.pl program as a CGI program 
by issue these commands as root or via sudo:

    cp cgi-bin/submitJob.pl /usr/lib/cgi-bin
	chown root.root /usr/lib/cgi-bin/submitJob.pl
	chmod a+rx /usr/lib/cgi-bin/submitJob.pl
	
You'll also need to edit your Apache configuration to add the HELIOS_INI env var
so submitJob.pl can find the helios.ini file; use the SetEnv directive in your 
Apache configuration for this:

    SetEnv HELIOS_INI /path/to/helios.ini


5) Install Helios::Panoptes (optional)

Helios::Panoptes is the central web-based administration tool for Helios.  You 
will only need to install it on one host.  Panoptes is packaged separately and 
has its own installation instructions; refer its README for instructions.


# FILE CHANGE HISTORY:
# [2012-01-04]: Moved Debian/Ubuntu-specific install instructions from 
# INSTALL to INSTALL.ubuntu.
# [2012-01-08]: Updated and clarified instructions based on successful tests
# on Ubuntu 11.04.
# [LH] [2012-11-06]: More clarification and updates based on successful tests 
# with Ubuntu 10.04 LTS, 11.04, and 12.04 LTS.