####Table of Contents
- Overview
- Module Description - What the module does and why it is useful
- Setup - The basics of getting started with oracle_webgate
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
##Overview
This puppet module will install and configure Oracle Access Manager Webgate for Apache on Linux.
##Module Description
Oracle Access Manager Webgate has a really crappy installation process, this module automates the installation and configuration process. This is what it does:
- Download the installation package from a remore repository (http/https)
- Create a temp dir where to extract the required content
- Ensure the necessary dependencies are installed
- Copy the system libs requirered by the install (please refer to: http://docs.oracle.com/cd/E15217_01/doc.1014/e12493.pdf)
- Copy the OAM certificates
- Run the installa process
- Run the configuration process
##Setup
###What oracle_webgate affects Notes:
- The (crappy) Oracle installer requires a copy of
libgcc_s.so.1
andlibstdc++.so.6
in a specified directory to work properly. The module will take care of copying those files if they are available - The software will be installed in the default installation path, i.e.
/opt/netpoint/access
, this cannot be changed - This module will install
libstc++.i686
andlibstc++.x86_64
on 64 bit systems. Puppet might fail because of multilib if alibstc++.i686
version newer than thelibstc++.x86_64
already installed is available (see https://projects.puppetlabs.com/issues/23245)
###Setup Requirements
Before you start, you need:
- a working OAM server
- OAM Certificates copied either on your puppet server on available in hiera
- OAM Webgate installation ZIP file available on a http/https repository
###Beginning with oracle_webgate
The very basic steps needed for a user to get the module up and running.
class { 'oracle_webgate':
serverId => 'oamServerId',
hostname => 'oam.example.com',
webgateId => 'thisServer',
port => '5575',
password => 'password',
passphrase => 'passphrase',
remoteRepo => 'https://www.example.com/repo/oracle',
installPackage => 'Oracle_Access_Manager10_1_4_3_0_linux64_APACHE24_WebGate.zip',
}
This is a full example with bundle patch for Apache 2.2.
class { 'oracle_webgate':
serverId => 'oamServerId',
hostname => 'oam.example.com',
webgateId => 'thisServer',
port => '5575',
password => 'password',
passphrase => 'passphrase',
remoteRepo => 'https://www.example.com/repo/oracle',
installPackage => 'Oracle_Access_Manager10_1_4_3_0_linux64_APACHE22_WebGate.zip',
patchPackage => 'Oracle_Access_Manager10_1_4_3_0_BP13_Patch_linux64_APACHE22_WebGate.zip',
patchVersion => '13',
}
Defaults:
Option | Defaults to | Description |
---|---|---|
certFile | puppet:///modules/oracle_webgate/certFile.pem | Certificate file |
keyFile | puppet:///modules/oracle_webgate/keyFile.pem | Key file |
chainFile | puppet:///modules/oracle_webgate/chainFile.pem | Chain file |
downloadDir | /tmp/oracle_webgate_install | Temp dir where to download and unzip installation files |
defaultLang | en-us | |
installLang | en-us | |
securityMode | cert | See Oracle docs |
patchVersion | 0 | Version of the bundle patch |
###Removing oracle_webgate
To fully remove the Oracle Webgate just include the class oracle_webgate:uninstall
.
##Usage
The module does not require any special configuration besides what just showed. If you are using puppet 3.0+ you can take the most out of the hiera integration installing the hiera-file backend. An example might shade some light:
-
Leave the
oracle_webgate::*
variable undefined -
Create a hiera structure like the following:
/etc/puppet/hiera/data/default oracle_webgate.d/ oracle_webgate::certFile oracle_webgate::keyFile oracle_webgate::chainFile
-
Hiera searches for a file called
oracle_webgate.d/oracle_webgate::certFile
in your hiera data folder providing the file content as content for the variable
The outcome is... the file is copied on the client!
##Reference
Here, list the classes, types, providers, facts, etc contained in your module. This section should include all of the under-the-hood workings of your module so people know what the module is touching on their system but don't need to mess with things. (We are working on automating this section!)
##Limitations
This module has been tested on:
- RedHat 7 64 bit + OAM Webgate for Apache 2.4
- RedHat 6 64 bit + OAM Webgate for Apache 2.2
It should work also on:
- 32 bits RedHat systems with Apache 2.2
##Development
See https://github.com/elibus/puppet-oracle_webgate/blob/master/CONTRIBUTING.md