You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sm...@apache.org on 2017/04/03 16:49:41 UTC

[08/50] airavata git commit: GeoGateway PGA deploy; PGA virtual host based conf

GeoGateway PGA deploy; PGA virtual host based conf


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/e0110cbb
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/e0110cbb
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/e0110cbb

Branch: refs/heads/master
Commit: e0110cbb5a52ceb0a9b9b1a3452d91052840d577
Parents: f9eb7bc
Author: Marcus Christie <ma...@apache.org>
Authored: Wed Mar 8 16:58:29 2017 -0500
Committer: Marcus Christie <ma...@apache.org>
Committed: Tue Mar 14 17:29:36 2017 -0400

----------------------------------------------------------------------
 .../geogateway-dev/group_vars/pga/vars.yml      |  34 ++
 .../geogateway-dev/group_vars/pga/vault.yml     |  18 +
 .../ansible/inventories/geogateway-dev/hosts    |   2 +
 dev-tools/ansible/roles/pga/defaults/main.yml   |  11 +-
 .../roles/pga/tasks/install_deps_CentOS_6.yml   |  33 ++
 dev-tools/ansible/roles/pga/tasks/main.yml      |   3 +-
 .../ansible/roles/pga/templates/apache2.conf.j2 | 222 ------------
 .../ansible/roles/pga/templates/httpd.conf.j2   | 353 -------------------
 .../roles/pga/templates/pga-vhost.conf.j2       |  11 +
 9 files changed, 106 insertions(+), 581 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/e0110cbb/dev-tools/ansible/inventories/geogateway-dev/group_vars/pga/vars.yml
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/inventories/geogateway-dev/group_vars/pga/vars.yml b/dev-tools/ansible/inventories/geogateway-dev/group_vars/pga/vars.yml
new file mode 100644
index 0000000..3ddc93e
--- /dev/null
+++ b/dev-tools/ansible/inventories/geogateway-dev/group_vars/pga/vars.yml
@@ -0,0 +1,34 @@
+---
+pga_repo: "https://github.com/apache/airavata-php-gateway.git"
+pga_git_branch: "develop"
+user: "pga"
+group: "pga"
+pga_user: "pga"
+pga_group: "pga"
+doc_root_dir: "/var/www/html/geogateway-dev"
+user_data_dir: "/var/www/user_data"
+
+vhost_servername: "gw137.iu.xsede.org"
+
+## WSO2 IS related variables
+tenant_domain: "airavata.geog"
+admin_username: "adminuser"
+admin_password: "{{ vault_admin_password }}"
+oauth_client_key: "{{ vault_oauth_client_key }}"
+oauth_client_secret: "{{ vault_oauth_client_secret }}"
+
+## Airavata Client related variables
+airavata_server: "tls://gw56.iu.xsede.org"
+airavata_port: "9930"
+gateway_id: "GeoGateway"
+# relative to document root dir
+experiment_data_dir: "{{ user_data_dir }}"
+# TODO: fix this
+gateway_data_store_resource_id: "js-170-103.jetstream-cloud.org_6497a464-3121-4b64-a7cb-d195b0a26c19"
+
+## Portal related variables
+super_admin_portal: "false"
+admin_emails: "'sgg@iu.edu'"
+portal_email_username: "pga.airavata@gmail.com"
+portal_email_password: "{{ vault_portal_email_password }}"
+...

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0110cbb/dev-tools/ansible/inventories/geogateway-dev/group_vars/pga/vault.yml
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/inventories/geogateway-dev/group_vars/pga/vault.yml b/dev-tools/ansible/inventories/geogateway-dev/group_vars/pga/vault.yml
new file mode 100644
index 0000000..7a518f2
--- /dev/null
+++ b/dev-tools/ansible/inventories/geogateway-dev/group_vars/pga/vault.yml
@@ -0,0 +1,18 @@
+$ANSIBLE_VAULT;1.1;AES256
+32366561643361633736313164303438383164373234613062303662333832373338373432356562
+3966646664353835343865636333636432313733373830630a643539663361316165636661613232
+65323238316663613136326263643732333537626463636235356465623561663265396361313764
+3562653238623365320a643739376532396137613630383264333162393162646465626565393061
+30373364353766303965653731393735643931343035616666663430323939363232646661366261
+63306363373462666263613430383866373561623163656461396663343031346238666430653865
+61333631616362333430333739316563303866623563333564333061623563643231383963623139
+31396364393239303037636661303631336434343638393232366635323231386432613437353239
+30313834356639306265326364623538663137616339303363333536346365633562663164386438
+31643363666130373633383132346563643334313066386230333330356233663066656462393734
+65666434383533613939386630376165666666303465356434346461343763303139623762623536
+33336532656237363730366432363138373337303633646630343861383836646563623535303833
+35306634383332643630363363323635363331643535653932353131616565666461303538396638
+35306665363530326634313764353262303635663362373432663038313634656663636431356266
+65313837613161353936653163316538646533656530633134656336666266353462613333343634
+35343365653934613230396537663933663731373538316236386531376337313033363735623233
+61316565666337373834396235363634616331666463356131326130663835303137

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0110cbb/dev-tools/ansible/inventories/geogateway-dev/hosts
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/inventories/geogateway-dev/hosts b/dev-tools/ansible/inventories/geogateway-dev/hosts
new file mode 100644
index 0000000..197b94a
--- /dev/null
+++ b/dev-tools/ansible/inventories/geogateway-dev/hosts
@@ -0,0 +1,2 @@
+[pga]
+gw137.iu.xsede.org ansible_user=root

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0110cbb/dev-tools/ansible/roles/pga/defaults/main.yml
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/roles/pga/defaults/main.yml b/dev-tools/ansible/roles/pga/defaults/main.yml
index 0ea3ce1..1a541b8 100644
--- a/dev-tools/ansible/roles/pga/defaults/main.yml
+++ b/dev-tools/ansible/roles/pga/defaults/main.yml
@@ -3,13 +3,16 @@ pga_user: "pga"
 pga_group: "pga"
 doc_root_dir: "/var/www/html/php-gateway"
 user_data_dir: "/var/www/user_data"
-#httpd_conf_file: "/etc/httpd/conf/httpd.conf"
-httpd_conf_file_location:
- RedHat: "/etc/httpd/conf/httpd.conf"
- Debian: "/etc/apache2/apache2.conf"
+vhost_servername: "mygateway.example.com"
+httpd_confd_file_location:
+ RedHat: "/etc/httpd/conf.d/pga-{{ gateway_id }}.conf"
+ Debian: "/etc/apache2/sites-available/pga-{{ gateway_id }}.conf"
 httpd_name:
  Debian: apache2
  RedHat: httpd
+httpd_log_dir:
+ Debian: /var/log/apache2
+ RedHat: /var/log/httpd
 
 ## WSO2 IS related variables
 tenant_domain: "prod.testdrive"

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0110cbb/dev-tools/ansible/roles/pga/tasks/install_deps_CentOS_6.yml
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/roles/pga/tasks/install_deps_CentOS_6.yml b/dev-tools/ansible/roles/pga/tasks/install_deps_CentOS_6.yml
new file mode 100644
index 0000000..8da9aa3
--- /dev/null
+++ b/dev-tools/ansible/roles/pga/tasks/install_deps_CentOS_6.yml
@@ -0,0 +1,33 @@
+---
+
+- name: Install pre-requisites
+  yum: name="{{ item }}" state=latest update_cache=yes
+  with_items:
+    - git
+    - httpd
+    - php
+    - php-soap
+    - libselinux-python
+    - php-pdo
+  become: yes
+#"
+
+# - name: Allow selinux outbound connection from web server
+  # command: setsebool -P httpd_can_network_connect 1
+
+- name: install composer
+  shell: curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
+  args:
+    creates: /usr/local/bin/composer
+  become: yes
+
+- name: install epel release
+  yum: name=epel-release state=present
+  become: yes
+
+#OS_dep
+# depend on epel release
+- name: install mcrypt
+  yum: name=php-mcrypt state=latest update_cache=yes
+  become: yes
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0110cbb/dev-tools/ansible/roles/pga/tasks/main.yml
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/roles/pga/tasks/main.yml b/dev-tools/ansible/roles/pga/tasks/main.yml
index e02c517..4662a17 100644
--- a/dev-tools/ansible/roles/pga/tasks/main.yml
+++ b/dev-tools/ansible/roles/pga/tasks/main.yml
@@ -49,7 +49,6 @@
   template: src=pga_config.php.j2 dest="{{ doc_root_dir }}/app/config/pga_config.php"
   become: yes
 
-# give write permission to storage directory
 - name: give read permissions to doc root
   file: path="{{ doc_root_dir }}" state=directory mode=0755 recurse=yes
   become: yes
@@ -66,7 +65,7 @@
   become: yes
 
 - name: copy httpd.conf file
-  template: src={{ httpd_name[ansible_os_family] }}.conf.j2 dest={{ httpd_conf_file_location[ansible_os_family] }}
+  template: src=pga-vhost.conf.j2 dest={{ httpd_confd_file_location[ansible_os_family] }} backup=yes
   become: yes
   notify:
     - restart httpd

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0110cbb/dev-tools/ansible/roles/pga/templates/apache2.conf.j2
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/roles/pga/templates/apache2.conf.j2 b/dev-tools/ansible/roles/pga/templates/apache2.conf.j2
deleted file mode 100644
index e547f78..0000000
--- a/dev-tools/ansible/roles/pga/templates/apache2.conf.j2
+++ /dev/null
@@ -1,222 +0,0 @@
-# This is the main Apache server configuration file.  It contains the
-# configuration directives that give the server its instructions.
-# See http://httpd.apache.org/docs/2.4/ for detailed information about
-# the directives and /usr/share/doc/apache2/README.Debian about Debian specific
-# hints.
-#
-#
-# Summary of how the Apache 2 configuration works in Debian:
-# The Apache 2 web server configuration in Debian is quite different to
-# upstream's suggested way to configure the web server. This is because Debian's
-# default Apache2 installation attempts to make adding and removing modules,
-# virtual hosts, and extra configuration directives as flexible as possible, in
-# order to make automating the changes and administering the server as easy as
-# possible.
-
-# It is split into several files forming the configuration hierarchy outlined
-# below, all located in the /etc/apache2/ directory:
-#
-#	/etc/apache2/
-#	|-- apache2.conf
-#	|	`--  ports.conf
-#	|-- mods-enabled
-#	|	|-- *.load
-#	|	`-- *.conf
-#	|-- conf-enabled
-#	|	`-- *.conf
-# 	`-- sites-enabled
-#	 	`-- *.conf
-#
-#
-# * apache2.conf is the main configuration file (this file). It puts the pieces
-#   together by including all remaining configuration files when starting up the
-#   web server.
-#
-# * ports.conf is always included from the main configuration file. It is
-#   supposed to determine listening ports for incoming connections which can be
-#   customized anytime.
-#
-# * Configuration files in the mods-enabled/, conf-enabled/ and sites-enabled/
-#   directories contain particular configuration snippets which manage modules,
-#   global configuration fragments, or virtual host configurations,
-#   respectively.
-#
-#   They are activated by symlinking available configuration files from their
-#   respective *-available/ counterparts. These should be managed by using our
-#   helpers a2enmod/a2dismod, a2ensite/a2dissite and a2enconf/a2disconf. See
-#   their respective man pages for detailed information.
-#
-# * The binary is called apache2. Due to the use of environment variables, in
-#   the default configuration, apache2 needs to be started/stopped with
-#   /etc/init.d/apache2 or apache2ctl. Calling /usr/bin/apache2 directly will not
-#   work with the default configuration.
-
-
-# Global configuration
-#
-
-#
-# ServerRoot: The top of the directory tree under which the server's
-# configuration, error, and log files are kept.
-#
-# NOTE!  If you intend to place this on an NFS (or otherwise network)
-# mounted filesystem then please read the Mutex documentation (available
-# at <URL:http://httpd.apache.org/docs/2.4/mod/core.html#mutex>);
-# you will save yourself a lot of trouble.
-#
-# Do NOT add a slash at the end of the directory path.
-#
-#ServerRoot "/etc/apache2"
-DocumentRoot "/var/www/html/php-gateway/public"
-
-#
-# The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
-#
-Mutex file:${APACHE_LOCK_DIR} default
-
-#
-# PidFile: The file in which the server should record its process
-# identification number when it starts.
-# This needs to be set in /etc/apache2/envvars
-#
-PidFile ${APACHE_PID_FILE}
-
-#
-# Timeout: The number of seconds before receives and sends time out.
-#
-Timeout 300
-
-#
-# KeepAlive: Whether or not to allow persistent connections (more than
-# one request per connection). Set to "Off" to deactivate.
-#
-KeepAlive On
-
-#
-# MaxKeepAliveRequests: The maximum number of requests to allow
-# during a persistent connection. Set to 0 to allow an unlimited amount.
-# We recommend you leave this number high, for maximum performance.
-#
-MaxKeepAliveRequests 100
-
-#
-# KeepAliveTimeout: Number of seconds to wait for the next request from the
-# same client on the same connection.
-#
-KeepAliveTimeout 5
-
-
-# These need to be set in /etc/apache2/envvars
-User ${APACHE_RUN_USER}
-Group ${APACHE_RUN_GROUP}
-
-#
-# HostnameLookups: Log the names of clients or just their IP addresses
-# e.g., www.apache.org (on) or 204.62.129.132 (off).
-# The default is off because it'd be overall better for the net if people
-# had to knowingly turn this feature on, since enabling it means that
-# each client request will result in AT LEAST one lookup request to the
-# nameserver.
-#
-HostnameLookups Off
-
-# ErrorLog: The location of the error log file.
-# If you do not specify an ErrorLog directive within a <VirtualHost>
-# container, error messages relating to that virtual host will be
-# logged here.  If you *do* define an error logfile for a <VirtualHost>
-# container, that host's errors will be logged there and not here.
-#
-ErrorLog ${APACHE_LOG_DIR}/error.log
-
-#
-# LogLevel: Control the severity of messages logged to the error_log.
-# Available values: trace8, ..., trace1, debug, info, notice, warn,
-# error, crit, alert, emerg.
-# It is also possible to configure the log level for particular modules, e.g.
-# "LogLevel info ssl:warn"
-#
-LogLevel warn
-
-# Include module configuration:
-IncludeOptional mods-enabled/*.load
-IncludeOptional mods-enabled/*.conf
-
-# Include list of ports to listen on
-Include ports.conf
-
-
-# Sets the default security model of the Apache2 HTTPD server. It does
-# not allow access to the root filesystem outside of /usr/share and /var/www.
-# The former is used by web applications packaged in Debian,
-# the latter may be used for local directories served by the web server. If
-# your system is serving content from a sub-directory in /srv you must allow
-# access here, or in any related virtual host.
-<Directory />
-	Options FollowSymLinks
-	AllowOverride None
-	Require all denied
-</Directory>
-
-<Directory /usr/share>
-	AllowOverride None
-	Require all granted
-</Directory>
-
-<Directory /var/www/>
-	Options Indexes FollowSymLinks
-	AllowOverride All
-	Require all granted
-</Directory>
-
-#<Directory /srv/>
-#	Options Indexes FollowSymLinks
-#	AllowOverride None
-#	Require all granted
-#</Directory>
-
-
-
-
-# AccessFileName: The name of the file to look for in each directory
-# for additional configuration directives.  See also the AllowOverride
-# directive.
-#
-AccessFileName .htaccess
-
-#
-# The following lines prevent .htaccess and .htpasswd files from being
-# viewed by Web clients.
-#
-<FilesMatch "^\.ht">
-	Require all denied
-</FilesMatch>
-
-
-#
-# The following directives define some format nicknames for use with
-# a CustomLog directive.
-#
-# These deviate from the Common Log Format definitions in that they use %O
-# (the actual bytes sent including headers) instead of %b (the size of the
-# requested file), because the latter makes it impossible to detect partial
-# requests.
-#
-# Note that the use of %{X-Forwarded-For}i instead of %h is not recommended.
-# Use mod_remoteip instead.
-#
-LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
-LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
-LogFormat "%h %l %u %t \"%r\" %>s %O" common
-LogFormat "%{Referer}i -> %U" referer
-LogFormat "%{User-agent}i" agent
-
-# Include of directories ignores editors' and dpkg's backup files,
-# see README.Debian for details.
-
-# Include generic snippets of statements
-IncludeOptional conf-enabled/*.conf
-
-# Include the virtual host configurations:
-IncludeOptional sites-enabled/*.conf
-
-# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0110cbb/dev-tools/ansible/roles/pga/templates/httpd.conf.j2
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/roles/pga/templates/httpd.conf.j2 b/dev-tools/ansible/roles/pga/templates/httpd.conf.j2
deleted file mode 100644
index febb204..0000000
--- a/dev-tools/ansible/roles/pga/templates/httpd.conf.j2
+++ /dev/null
@@ -1,353 +0,0 @@
-#
-# This is the main Apache HTTP server configuration file.  It contains the
-# configuration directives that give the server its instructions.
-# See <URL:http://httpd.apache.org/docs/2.4/> for detailed information.
-# In particular, see
-# <URL:http://httpd.apache.org/docs/2.4/mod/directives.html>
-# for a discussion of each configuration directive.
-#
-# Do NOT simply read the instructions in here without understanding
-# what they do.  They're here only as hints or reminders.  If you are unsure
-# consult the online docs. You have been warned.
-#
-# Configuration and logfile names: If the filenames you specify for many
-# of the server's control files begin with "/" (or "drive:/" for Win32), the
-# server will use that explicit path.  If the filenames do *not* begin
-# with "/", the value of ServerRoot is prepended -- so 'log/access_log'
-# with ServerRoot set to '/www' will be interpreted by the
-# server as '/www/log/access_log', where as '/log/access_log' will be
-# interpreted as '/log/access_log'.
-
-#
-# ServerRoot: The top of the directory tree under which the server's
-# configuration, error, and log files are kept.
-#
-# Do not add a slash at the end of the directory path.  If you point
-# ServerRoot at a non-local disk, be sure to specify a local disk on the
-# Mutex directive, if file-based mutexes are used.  If you wish to share the
-# same ServerRoot for multiple httpd daemons, you will need to change at
-# least PidFile.
-#
-ServerRoot "/etc/httpd"
-
-#
-# Listen: Allows you to bind Apache to specific IP addresses and/or
-# ports, instead of the default. See also the <VirtualHost>
-# directive.
-#
-# Change this to Listen on specific IP addresses as shown below to
-# prevent Apache from glomming onto all bound IP addresses.
-#
-#Listen 12.34.56.78:80
-Listen 80
-
-#
-# Dynamic Shared Object (DSO) Support
-#
-# To be able to use the functionality of a module which was built as a DSO you
-# have to place corresponding `LoadModule' lines at this location so the
-# directives contained in it are actually available _before_ they are used.
-# Statically compiled modules (those listed by `httpd -l') do not need
-# to be loaded here.
-#
-# Example:
-# LoadModule foo_module modules/mod_foo.so
-#
-Include conf.modules.d/*.conf
-
-#
-# If you wish httpd to run as a different user or group, you must run
-# httpd as root initially and it will switch.
-#
-# User/Group: The name (or #number) of the user/group to run httpd as.
-# It is usually good practice to create a dedicated user and group for
-# running httpd, as with most system services.
-#
-User apache
-Group apache
-
-# 'Main' server configuration
-#
-# The directives in this section set up the values used by the 'main'
-# server, which responds to any requests that aren't handled by a
-# <VirtualHost> definition.  These values also provide defaults for
-# any <VirtualHost> containers you may define later in the file.
-#
-# All of these directives may appear inside <VirtualHost> containers,
-# in which case these default settings will be overridden for the
-# virtual host being defined.
-#
-
-#
-# ServerAdmin: Your address, where problems with the server should be
-# e-mailed.  This address appears on some server-generated pages, such
-# as error documents.  e.g. admin@your-domain.com
-#
-ServerAdmin root@localhost
-
-#
-# ServerName gives the name and port that the server uses to identify itself.
-# This can often be determined automatically, but we recommend you specify
-# it explicitly to prevent problems during startup.
-#
-# If your host doesn't have a registered DNS name, enter its IP address here.
-#
-#ServerName www.example.com:80
-
-#
-# Deny access to the entirety of your server's filesystem. You must
-# explicitly permit access to web content directories in other
-# <Directory> blocks below.
-#
-<Directory />
-    AllowOverride none
-    Require all denied
-</Directory>
-
-#
-# Note that from this point forward you must specifically allow
-# particular features to be enabled - so if something's not working as
-# you might expect, make sure that you have specifically enabled it
-# below.
-#
-
-#
-# DocumentRoot: The directory out of which you will serve your
-# documents. By default, all requests are taken from this directory, but
-# symbolic links and aliases may be used to point to other locations.
-#
-DocumentRoot "/var/www/html/php-gateway/public"
-
-#
-# Relax access to content within /var/www.
-#
-<Directory "/var/www">
-    AllowOverride None
-    # Allow open access:
-    Require all granted
-</Directory>
-
-# Further relax access to the default document root:
-<Directory "/var/www/html">
-    #
-    # Possible values for the Options directive are "None", "All",
-    # or any combination of:
-    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
-    #
-    # Note that "MultiViews" must be named *explicitly* --- "Options All"
-    # doesn't give it to you.
-    #
-    # The Options directive is both complicated and important.  Please see
-    # http://httpd.apache.org/docs/2.4/mod/core.html#options
-    # for more information.
-    #
-    Options Indexes FollowSymLinks
-
-    #
-    # AllowOverride controls what directives may be placed in .htaccess files.
-    # It can be "All", "None", or any combination of the keywords:
-    #   Options FileInfo AuthConfig Limit
-    #
-    AllowOverride All
-
-    #
-    # Controls who can get stuff from this server.
-    #
-    Require all granted
-</Directory>
-
-#
-# DirectoryIndex: sets the file that Apache will serve if a directory
-# is requested.
-#
-<IfModule dir_module>
-    DirectoryIndex index.html
-</IfModule>
-
-#
-# The following lines prevent .htaccess and .htpasswd files from being
-# viewed by Web clients.
-#
-<Files ".ht*">
-    Require all denied
-</Files>
-
-#
-# ErrorLog: The location of the error log file.
-# If you do not specify an ErrorLog directive within a <VirtualHost>
-# container, error messages relating to that virtual host will be
-# logged here.  If you *do* define an error logfile for a <VirtualHost>
-# container, that host's errors will be logged there and not here.
-#
-ErrorLog "logs/error_log"
-
-#
-# LogLevel: Control the number of messages logged to the error_log.
-# Possible values include: debug, info, notice, warn, error, crit,
-# alert, emerg.
-#
-LogLevel warn
-
-<IfModule log_config_module>
-    #
-    # The following directives define some format nicknames for use with
-    # a CustomLog directive (see below).
-    #
-    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
-    LogFormat "%h %l %u %t \"%r\" %>s %b" common
-
-    <IfModule logio_module>
-      # You need to enable mod_logio.c to use %I and %O
-      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
-    </IfModule>
-
-    #
-    # The location and format of the access logfile (Common Logfile Format).
-    # If you do not define any access logfiles within a <VirtualHost>
-    # container, they will be logged here.  Contrariwise, if you *do*
-    # define per-<VirtualHost> access logfiles, transactions will be
-    # logged therein and *not* in this file.
-    #
-    #CustomLog "logs/access_log" common
-
-    #
-    # If you prefer a logfile with access, agent, and referer information
-    # (Combined Logfile Format) you can use the following directive.
-    #
-    CustomLog "logs/access_log" combined
-</IfModule>
-
-<IfModule alias_module>
-    #
-    # Redirect: Allows you to tell clients about documents that used to
-    # exist in your server's namespace, but do not anymore. The client
-    # will make a new request for the document at its new location.
-    # Example:
-    # Redirect permanent /foo http://www.example.com/bar
-
-    #
-    # Alias: Maps web paths into filesystem paths and is used to
-    # access content that does not live under the DocumentRoot.
-    # Example:
-    # Alias /webpath /full/filesystem/path
-    #
-    # If you include a trailing / on /webpath then the server will
-    # require it to be present in the URL.  You will also likely
-    # need to provide a <Directory> section to allow access to
-    # the filesystem path.
-
-    #
-    # ScriptAlias: This controls which directories contain server scripts.
-    # ScriptAliases are essentially the same as Aliases, except that
-    # documents in the target directory are treated as applications and
-    # run by the server when requested rather than as documents sent to the
-    # client.  The same rules about trailing "/" apply to ScriptAlias
-    # directives as to Alias.
-    #
-    ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
-
-</IfModule>
-
-#
-# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
-# CGI directory exists, if you have that configured.
-#
-<Directory "/var/www/cgi-bin">
-    AllowOverride None
-    Options None
-    Require all granted
-</Directory>
-
-<IfModule mime_module>
-    #
-    # TypesConfig points to the file containing the list of mappings from
-    # filename extension to MIME-type.
-    #
-    TypesConfig /etc/mime.types
-
-    #
-    # AddType allows you to add to or override the MIME configuration
-    # file specified in TypesConfig for specific file types.
-    #
-    #AddType application/x-gzip .tgz
-    #
-    # AddEncoding allows you to have certain browsers uncompress
-    # information on the fly. Note: Not all browsers support this.
-    #
-    #AddEncoding x-compress .Z
-    #AddEncoding x-gzip .gz .tgz
-    #
-    # If the AddEncoding directives above are commented-out, then you
-    # probably should define those extensions to indicate media types:
-    #
-    AddType application/x-compress .Z
-    AddType application/x-gzip .gz .tgz
-
-    #
-    # AddHandler allows you to map certain file extensions to "handlers":
-    # actions unrelated to filetype. These can be either built into the server
-    # or added with the Action directive (see below)
-    #
-    # To use CGI scripts outside of ScriptAliased directories:
-    # (You will also need to add "ExecCGI" to the "Options" directive.)
-    #
-    #AddHandler cgi-script .cgi
-
-    # For type maps (negotiated resources):
-    #AddHandler type-map var
-
-    #
-    # Filters allow you to process content before it is sent to the client.
-    #
-    # To parse .shtml files for server-side includes (SSI):
-    # (You will also need to add "Includes" to the "Options" directive.)
-    #
-    AddType text/html .shtml
-    AddOutputFilter INCLUDES .shtml
-</IfModule>
-
-#
-# Specify a default charset for all content served; this enables
-# interpretation of all content as UTF-8 by default.  To use the
-# default browser choice (ISO-8859-1), or to allow the META tags
-# in HTML content to override this choice, comment out this
-# directive:
-#
-AddDefaultCharset UTF-8
-
-<IfModule mime_magic_module>
-    #
-    # The mod_mime_magic module allows the server to use various hints from the
-    # contents of the file itself to determine its type.  The MIMEMagicFile
-    # directive tells the module where the hint definitions are located.
-    #
-    MIMEMagicFile conf/magic
-</IfModule>
-
-#
-# Customizable error responses come in three flavors:
-# 1) plain text 2) local redirects 3) external redirects
-#
-# Some examples:
-#ErrorDocument 500 "The server made a boo boo."
-#ErrorDocument 404 /missing.html
-#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
-#ErrorDocument 402 http://www.example.com/subscription_info.html
-#
-
-#
-# EnableMMAP and EnableSendfile: On systems that support it,
-# memory-mapping or the sendfile syscall may be used to deliver
-# files.  This usually improves server performance, but must
-# be turned off when serving from networked-mounted
-# filesystems or if support for these functions is otherwise
-# broken on your system.
-# Defaults if commented: EnableMMAP On, EnableSendfile Off
-#
-#EnableMMAP off
-EnableSendfile on
-
-# Supplemental configuration
-#
-# Load config files in the "/etc/httpd/conf.d" directory, if any.
-IncludeOptional conf.d/*.conf

http://git-wip-us.apache.org/repos/asf/airavata/blob/e0110cbb/dev-tools/ansible/roles/pga/templates/pga-vhost.conf.j2
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/roles/pga/templates/pga-vhost.conf.j2 b/dev-tools/ansible/roles/pga/templates/pga-vhost.conf.j2
new file mode 100644
index 0000000..82d67fc
--- /dev/null
+++ b/dev-tools/ansible/roles/pga/templates/pga-vhost.conf.j2
@@ -0,0 +1,11 @@
+<VirtualHost *:80>
+    ServerName {{ vhost_servername }}
+
+    DocumentRoot {{ doc_root_dir }}
+    <Directory "{{ doc_root_dir }}">
+       AllowOverride All
+    </Directory>
+    ErrorLog {{ httpd_log_dir[ansible_os_family] }}/{{ gateway_id }}.error.log
+    CustomLog {{ httpd_log_dir[ansible_os_family] }}/{{ gateway_id }}.requests.log combined
+
+</VirtualHost>