Apache Airavata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 34 Next »

PGA Installation Prerequisites 

  1. Requires a Unix or Unix like operating system
  2. Requires a web server (e.g apache web server) with PHP 5.4 or higher. Make sure have enabled mod_rewrite module in httpd.conf file and enable PHP SOAP extension
  3. Install Composer
  4. MYSQL database installation (Required if the user is hosting Airavata on his own. To communicate with SciGaP this step is not relevant)
  5. MCrypt PHP extension
  6. Enable OpenSSL PHP extension
  7. Follow instructions given in links to install the prerequisites based on the OS ;
    1. On Ubunutu: http://www.dev-metal.com/install-laravel-4-ubuntu-12-04-lts/
    2. On Centos: https://www.digitalocean.com/community/tutorials/how-to-install-laravel-4-on-a-centos-6-vps
    3. On MAC OS: http://sangatpedas.com/20140219/installing-laravel-osx-mavericks/
  8. Important: Do not need to install Laravel. You can skip the steps given on the links


Installing PGA in Ubuntu OS

  1. Download PGA from github to the document root of you web server /var/www. 
  2. Use git clone https://github.com/apache/airavata-php-gateway.git or download the zip from the github web page.
  3. Go inside the PGA directory (e.g /var/www/airavata-php-gateway)
  4. Make sure the storage folder is writable
    1. sudo chmod -R 777 app/storage
  5. Go to [PGA_HOME]/app/config/pga_config.php and change the configuration to match your settings
  6. Now issue composer update command
    1. sudo composer update
  7. Restart the web server
    1. sudo service apache2 restart

Installing PGA on Arch Linux

  1. Install the necessary dependencies:
    1. $ sudo pacman -S polkit apache php php-apache php-mcrypt php-composer

  2. Enable the appropriate extensions:
    1. $ sudo vim /etc/php/php.ini
      Uncomment the following extensions: mcrypt.so, openssl.so, and soap.so

    2. $ sudo vim /etc/httpd/conf/httpd.conf
      Uncomment the following extension: rewrite_module modules/mod_rewrite.so
      Replace the mpm_event_module modules/mod_mpm_event.so with mpm_prefork_module modules/mod_mpm_prefork.so
      Add the following line: LoadModule php5_module modules/libphp5.so
      Add the following line: Include conf/extra/php5_module.conf

  3. Start and enable the Apache and MySQL daemons:
    1. $ sudo systemctl start polkit
      $ sudo systemctl start httpd
      $ sudo systemctl enable httpd

    2. Note: you may need to reboot to start polkit

  4. Clone the PGA git repository:
    1. $ cd /srv/http
      $ sudo git clone https://github.com/apache/airavata-php-gateway.git
      $ sudo chown -R $USER airavata-php-gateway

  5. Configure the PGA:
    1. $ cd airavata-php-gateway
      $ cp app/config/pga_config.php.example app/config/pga_config.php
      $ vim app/config/pga_config.php
    2. Note: make sure to make the directory pointed to by 'experiment-data-root' in pga_config.php and chmod 777 it. By default, this is /srv/http/experimentData
  6. Configure the PGA storage permissions:
    1. $ chmod -R 777 app/storage 

  7. Update using Composer:
    1. $ sudo composer update

Installing PGA in MAC OS

Installing Prerequisites

  1. To install MCrypt for PHP on MAC please follow the steps in http://coolestguidesontheplanet.com/install-mcrypt-php-mac-osx-10-9-mavericks-development-server/
  2. Once above is completed follow the steps given in http://sangatpedas.com/20140219/installing-laravel-osx-mavericks/ for
    1. Configuring Apache
    2. Installing Composer 

Download and Configure PGA

  1. cd /Library/WebServer/Documents
  2. git clone https://github.com/apache/airavata-php-gateway.git
  3. cd /Library/WebServer/Documents/airavata-php-gateway
  4. Make sure the storage folder is writable
    1. sudo chmod -R 777 app/storage
  5. (optional) Go to [PGA_HOME]/app/config/pga_config.php and change the configuration to match your settings
  6. Enable Apache extensions (mod_rewrite module and PHP SOAP extension)
    1.  sudo vim /etc/apache2/httpd.conf
      1. uncomment #LoadModule rewrite_module libexec/apache2/mod_rewrite.so
      2. uncomment #LoadModule php5_module libexec/apache2/libphp5.so
  7. Now issue composer update command
    1. sudo composer update
  8. Restart the web server
    1. sudo apachectl restart

Troubleshooting PGA Installation Issues 


 

If you are facing issues and not able to open the user interface even after doing the necessary steps, please troubleshot with below steps
below command may not work which is specified in the installation page for the Ubuntu :

  • After following the required steps only the home page is working and some images are not shown properly.
    • If you are facing this behavior first check whether you have enabled mod_rewrite module in apache webserver. And also check whether you have set AllowOverride All in the Vhost configuration file in apache web server. (e.g file location is /etc/apache2/sites-available/default and there should be two places where you want to change)

 

<VirtualHost *:80>

 

 

    DocumentRoot /var/www/html/portal/public

 

    ServerName pga.example.com

 

    <Directory "/var/www/html/portal/public">

 

       AllowOverride all

 

    </Directory>

 

    ErrorLog logs/pga_error_log

 

    CustomLog logs/pga--access_log common

 

</VirtualHost>
  • I get the Error message Permission Denied to app/storage directory
    • Execute the following command and grant all permissions sudo chmod -R 777 app/storage
  • When executing sudo composer install it asks for Mcrypt PHP extension required, then install mcrypt by following the below steps

sudo apt-get install php5-mcrypt

use locate mcrypt.so ,to get its locaton

locate mcrypt.ini and open the mcrypt.ini file
sudo pico /etc/php5/mods-available/mcrypt.ini
change the at line a extension=<location of e mcrypt.so fil> eg:/usr/lib/php5/20121212/mcrypt.so
save changes.

 

execute the command:  sudo php5enmod mcrypt

 

Now restart the apache server again and test PGA web-interface.

 

 


  • No labels