Tuesday, September 17, 2013

Deploying Multiple PIA's on the Same Web Server

Background

In many PeopleSoft server environments, it makes sense to deploy multiple PIA's on the same physical (or virtual) web servers, in order to reduce the number of servers that need to managed, patched, and otherwise maintained.

One way to do this would be to deploy each PIA onto separate ports.  So, your first PIA could use ports 80/443 for HTTP/HTTPS traffic, but your additional PIA's would need to be deployed to non-standard ports, such as 8000/8001 and so on.

Unfortunately, this can be problematic (especially if these are production environments) as some of your users may be on networks where the firewalls block HTTP and HTTPS traffic on non-standard ports.  It can also be confusing to users to have to specify a port in a URL.

Example Case

Suppose that you have a physical (or virtual) web server with one network interface (eth0) mapped to a single IP address (10.1.1.100), with a DNS alias of "peoplesoft.myschool.edu".

For each of 3 PIA's deployed on that server (each deployed using unique HTTPS ports), the URL for each environment would be:
  • Portal:  https://peoplesoft.myschool.edu/
  • Student:  https://peoplesoft.myschool.edu:8001/
  • Financials:  https://peoplesoft.myschool.edu:8003/

Alternative Approach using IP Aliasing

An alternative to the scenario described above is to use IP aliasing to map multiple IP addresses to your web server's network interface card, and then to configure WebLogic so that each PIA maps to a specific IP address.

Here is a link to an excellent article on how to create virtual interfaces on a Linux server, and assign each virtual interface its own unique IP address:


Suppose now that, after following the steps in the article above, you now have the following network interfaces mapped to the following IP addresses and DNS aliases on your web server:

Network InterfaceIP AddressDNS Alias
eth010.1.1.100peoplesoft.myschool.edu
eth0:110.1.1.101portal.myschool.edu
eth0:210.1.1.102student.myschool.edu
eth0:310.1.1.103financials.myschool.edu

Configuring WebLogic

On your web server, you can now deploy your first PIA as normal using the installation wizard installed in your application's PS_HOME directory, leaving the PIA on ports 80 and 443.  Suppose that we are going to deploy the PIA for Portal first.

After you've deployed and booted the PIA, access the WebLogic Console at:
https://peoplesoft.myschool.edu/console

  1. Login to the console using the "system" account.
  2. In the left pane, expand "Environment" then select "Servers".
  3. In the right pane, select "PIA(admin)".
  4. In the upper-left corner, click "Lock & Edit" to unlock the interface and allow for changes.
  5. In the "Listen Address" field, specify the new IP Address, in this case:  10.1.1.101
  6. Save and Activate the changes.
After configuring WebLogic, you need to shutdown the PIA and make a change to the following file:

PIA_HOME/webserv/<domain>/bin/setEnv.sh

Update the "ADMINSERVER_HOSTNAME" parameter from:
  • ADMINSERVER_HOSTNAME=peoplesoft.myschool.edu
    to
  • ADMINSERVER_HOSTNAME=portal.myschool.edu
Restart your PIA, and you should now be able to access it via its new URL (and furthermore, you should no longer have a WebLogic console or PIA listening on the old server URL).

Summary

Rinse and repeat for each of the remaining PIA's, and you should now have one web server with multiple PIA's, each being served on standard HTTP ports via unique IP addresses and DNS aliases.  For our example, we should now have:
  • Portal:  https://portal.myschool.edu/
  • Student:  https://student.myschool.edu/
  • Financials:  https://financials.myschool.edu/

No comments:

Post a Comment