Linux (Ubuntu) Installation - 4.0.2

From IHRIS Wiki

This page contains installation instructions on installing iHRIS version 4.0 manually.


Getting Ready

Here are instructions for installing the iHRIS Suite on an Linux (Ubuntu) system. If you need help installing Ubuntu you may want to take a look at these directions for installing a Server or a Desktop system.

Note: Unless specifically mentioned, all the commands below are run using a terminal. You can start this in Ubuntu by going to Applications -> Accessories -> Terminal. Any time a command begins with sudo it will prompt for your password because this will be run with administrative privileges. When you run sudo multiple times, only the first time will ask for your password.

Note: Some installation commands will prompt for inputs in the terminal window, usually with a blue background. The mouse doesn't work to click on options here. You can use Tab to move between options and the space bar to check or uncheck selections.

We begin by install a Lamp server (You can find more help here): <source lang="bash"> sudo tasksel install lamp-server </source> If you have never used mysql on your system, you will be asked to set the 'root' password for mysql. We will refer to this password as XXXXX below.

Important: Make sure your email system is correctly configured. Under a default Ubuntu installation, you can do this with one of two commands: <source lang="bash"> sudo apt-get install postfix sudo dpkg-reconfigure postfix </source>

Follow the on-screen instructions to set up email on your system. For additional help with installing Postfix, look at these instructions. On Debian systems, the same commands can be used, but exim4 is the default MTA instead of postfix

If you are using another Linux distribution, make sure your system can send email properly before continuing.

Configuring MYSQL

Make sure you have in /etc/mysql/my.cnf the following values set: <source lang="bash"> sudo gedit /etc/mysql/my.cnf </source> <source lang="ini"> query_cache_limit = 4M query_cache_size = 64M </source> It appears that they were reduced with Karmic

Configuring PHP

Next, you'll need to increase the memory limit for PHP. You can do this by editing the /etc/php5/apache2/php.ini. <source lang="bash"> sudo gedit /etc/php5/apache2/php.ini </source>

Change the following line: <source lang="ini"> memory_limit = 32M </source> to: <source lang="ini"> memory_limit = 128M </source>

Installing Pear and PECL Packages

We need to install a few Pear and PECL packages for PHP. For the Pear packages you can do:

sudo apt-get install php-pear php-apc  php-mdb2 php-mdb2-driver-mysql 
sudo pear  install  text_password console_getopt

During certain activities like installation and upgrades you may need more memory than APC uses by default. The php-apc package should have installed a file in /etc/php5/conf.d/apc.ini. Edit this file and add the following line:

apc.shm_size=100

You'll need to restart Apache after making this change.

There are two optional packages you may wish to install:

sudo apt-get install php5-gd php5-tidy

which are used to for inserting images into PDF output of reports and for exporting XML files in a nicely formatted manner

FileInfo

The pecl package FileInfo is used to verify the validity of file types used for uploading (e.g. for uploaded images or docuemnts)

sudo apt-get install libmagic-dev php5-dev
sudo pecl install Fileinfo

If this doesn't work, you can also try:

sudo pear install pecl/Fileinfo
echo extension=fileinfo.so | sudo tee /etc/php5/apache2/conf.d/fileinfo.ini

Database Setup

To create the needed database you can do:

mysql -u root -p
mysql> CREATE DATABASE ihris_manage;
mysql> GRANT ALL PRIVILEGES ON ihris_manage.* TO ihris_manage@localhost identified by 'PASS';
mysql> SET GLOBAL log_bin_trust_function_creators = 1;

where you substitute PASS with something appropriate. If you want to install iHRIS Qualify (or iHRIS Plan) just replace everywhere you see manage with qualify (or plan).

In version 4.0.1 of iHRIS we create mysql functions. If you are having trouble creating routines see this.

Alternatively, you may choose to install phpmyadmin to administer database through the web

sudo apt-get install phpmyadmin

Now browse to:

http://localhost/phpmyadmin

login with the user 'root' and password XXXX that you set above. Once logged in you will create a database and user called ihris_manage. To do this, click on the 'Privileges' link and select 'Add a new User'. Then fill out the form as follows:

Creating iHRIS_Manage Database and User

. For security, make sure the password

you choose is different than the root password for mysql. Let us refer to this password as YYYYY.

Downloading the Software

To download the software you enter these commands:

sudo mkdir -p /var/lib/iHRIS/lib/4.0.2
cd /var/lib/iHRIS/lib
sudo ln -s 4.0.2 4.0
cd /var/lib/iHRIS/lib/4.0.2
sudo wget http://launchpad.net/ihris-manage/4.0/4.0.2/+download/ihris-manage-full-4_0_2.tar.bz2
sudo tar -xjf ihris-manage-full-4_0_2.tar.bz2

Creating a Site Configuration File

We are going to start by modifying the BLANK site for iHRIS Manage. If you wish to install iHRIS Qualify or iHRIS Plan, you can follow the same instructions below but change manage to qualify or plan. To copy the BLANK site:

sudo mkdir -p /var/lib/iHRIS/sites
sudo cp -R /var/lib/iHRIS/lib/4.0/ihris-manage/sites/blank /var/lib/iHRIS/sites/manage

We now need to edit the site configuration file:

sudo gedit /var/lib/iHRIS/sites/manage/iHRIS-Manage-BLANK.xml

by changing:

    <path name='modules'>
      <value>./modules</value>
      <!-- If this site module is not installed under the iHRIS Manage
           file structure, then remember to include a path to the rest of
           the modules here. 
           e.g. <value>..</value>
        -->
    </path>

to:

   <path name='modules'>
      <value>./modules</value>
      <value>/var/lib/iHRIS/lib/4.0</value>
    </path>

You may choose to change the email address feedback is sent to by changing:

      <configuration name='email' path='to' values='single'>
      <displayName>Email Address</displayName>
        <value>BLANK</value>
      </configuration>

to:

      <configuration name='email' path='to' values='single'>
      <displayName>Email Address</displayName>
        <value>my_email@somewhere.com</value>
      </configuration>

Making the Site Available

We will now edit the configuration to let the site know about the database user and options:

sudo gedit /var/lib/iHRIS/sites/manage/pages/config.values.php

We now need to uncomment and set the value of a few variables. They are:

Variable Name Value
$i2ce_site_i2ce_path /var/lib/iHRIS/current/I2CE
$i2ce_site_database ihris_manage
$i2ce_site_database_user ihris_manage
$i2ce_site_database_password YYYYY (the password you set above)
$i2ce_site_module_config /var/lib/iHRIS/sites/manage/iHRIS-Manage-BLANK.xml

Save and quit.

Finally, we make iHRIS Manage site we just created available via the webserver:

sudo ln -s /var/lib/iHRIS/sites/manage/pages /var/www/manage
sudo cp /var/www/manage/htaccess.TEMPLATE /var/www/manage/.htaccess
sudo gedit /var/www/manage/.htaccess

We need to look for the line RewriteBase and change it to the web directory we want to use we are using, /manage. You may now save and quit. You will see we are using the apache rewrite module. To enable the module:

sudo a2enmod rewrite

Now we need to make sure we can use the .htaccess file.

sudo gedit /etc/apache2/sites-available/default

Change:

        <Directory /var/www/>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride None
		Order allow,deny
		allow from all
        </Directory>

to:

        <Directory /var/www/>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride All
		Order allow,deny
		allow from all
        </Directory>

Save and quit.

Finishing up

Let us restart the Apache webserver using:

sudo /etc/init.d/apache2 restart 

Now we are ready to begin the site installation. Simply browse to:

http://localhost/manage

and wait for the site to initalize itself. Congratulations! You may log in as the administrator with the default password administator.


Files

Here are samples of the files we edited above: