Skip Headers
Oracle® Fusion Middleware Enterprise Deployment Guide for Oracle WebCenter Content
11g Release 1 (11.1.1)

Part Number E15483-08
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub

13 Setting Up Node Manager

This chapter describes how to configure Node Manager in accordance with the EDG recommendations. It contains the following sections:

13.1 Overview of Setting Up Node Manager

Node Manager enables you to start and stop the Administration Server and the managed servers for an Oracle WebLogic Server domain. Table 13-1 describes the setup steps, followed by an overview of the setup process and Oracle recommendations for the location of the Node Manager log and host name verification.

Table 13-1 Steps for Setting Up Node Manager

Step Description More Information

Specify a location for the Node Manager log within the admin directory for the ED.

Edit the LogFile property in the nodemanager.properties file, and restart Node Manager.

Section 13.2, "Changing the Location of the Node Manager Log"

Set up SSL communication between Node Manager and the Administration Server

Generate self-signed certificates, create trust and identity keystores, configure Node Manager and the managed servers to use the custom keystores, and change the host name verification setting for each managed server.

Section 13.3, "Enabling Host Name Verification Certificates for Node Manager"

Start Node Manager

Run the setNMProps.sh script before starting Node Manager the first time.

Section 13.4, "Starting Node Manager"


Process

The procedures described in this chapter must be performed for various components of the enterprise deployment topology outlined in Section 2.1.1, "Reference Topology Documented in the Guide." Variables are used in this chapter to distinguish between component-specific items:

The values to be used to these variables are provided in the component-specific chapters in this EDG. Please note that the procedures in this chapter must be performed multiple times for each VIP-and-IP pair using the information provided in the component-specific chapters.

Recommendations

Oracle provides two main recommendations for Node Manager configuration in enterprise deployment topologies:

  1. Oracle recommends placing the Node Manager log file in a location different from the default one (which is inside the Middleware Home where Node Manager resides). See Section 13.2, "Changing the Location of the Node Manager Log" for further details.

  2. Oracle also recommends using host name verification for the communication between Node Manager and the servers in the domain. This requires the use of certificates for the different addresses used in the domain. This chapter explains the steps for configuring certificates in the hosts for host name verification. See Section 13.3, "Enabling Host Name Verification Certificates for Node Manager" for further details.

Note:

The passwords used in this guide are used only as examples. Use secure passwords in a production environment. For example, use passwords that consist of random sequences of both uppercase and lowercase characters as well as numbers.

13.2 Changing the Location of the Node Manager Log

Edit the Node Manager properties file located at MW_HOME/wlserver_10.3/common/nodemanager/nodemanager.properties. Add the new location for the log file, using the following line:

LogFile=ORACLE_BASE/admin/nodemanager.log

Oracle recommends that this location is outside the MW_HOME directory and inside the admin directory for the EDG.

Restart Node Manager for the change to take effect.

13.3 Enabling Host Name Verification Certificates for Node Manager

Setting up SSL for communication between Node Manager and the Administration Server consists of the following steps:

13.3.1 Generating Self-Signed Certificates Using the utils.CertGen Utility

The certificates added in this chapter (as an example) address a configuration where Node Manager listens on a physical host name (HOST.mycompany.com) and a WLS managed server listens on a virtual host name (VIP.mycompany.com). Whenever a server is using a virtual host name, it is implied that the server can be migrated from one node to another. Consequently, the directory where keystores and trust keystores are maintained ideally must reside on a shared storage that is accessible from the failover. If additional host names are used in the same or different nodes, the steps in this example will need to be extended to:

  1. Add the required host names to the certificate stores (if they are different from HOST.mycompany.com and VIP.mycompany.com).

  2. Change the identity and trust store location information for Node Manager (if the additional host names are used by Node Manager) or for the servers (if the additional host names are used by managed servers).

Follow the steps below to create self-signed certificates on HOST. These certificates should be created using the network name or alias. For information on using trust CA certificates instead, see "Configuring Identity and Trust" in Oracle Fusion Middleware Securing Oracle WebLogic Server. The examples below configure certificates for HOST.mycompany.com and VIP.mycompany.com; that is, it is assumed that both a physical host name (HOST) and a virtual host name (VIP) are used in HOST. It is also assumed that HOST.mycompany.com is the address used by Node Manager and VIP.mycompany.com is the address used by a managed server or the Administration Server. This is the common situation for nodes hosting an Administration Server and a Fusion Middleware component, or for nodes where two managed servers coexist with one server listening on the physical host name and one server using a virtual host name (which is the case for servers that use migration servers).

  1. Set up your environment by running the WL_HOME/server/bin/setWLSEnv.sh script. In the Bourne shell, run the following commands on HOST:

    cd WL_HOME/server/bin
    
    . ./setWLSEnv.sh
    

    Verify that the CLASSPATH environment variable is set:

    echo $CLASSPATH
    
  2. The directory where keystores and trust keystores are maintained must be on shared storage that is accessible from all nodes so that when the servers fail over (manually or with server migration), the appropriate certificates can be accessed from the failover node. Oracle recommends using central or shared stores for the certificates used for different purposes (like SSL set up for HTTP invocations, and so on). In this case, SOAHOST2 uses the cert directory created for SOAHOST1 certificates. Create a user-defined directory for the certificates:

    mkdir cert
    
  3. Change directory to the directory that you just created:

    cd cert
    
  4. Run the utils.CertGen tool from the user-defined directory on HOST to create the certificates for both HOST. mycompany.com and VIP. mycompany.com.

    Syntax:

    java utils.CertGen Key_Passphrase Cert_File_Name Key_File_Name [export | domestic] [Host_Name]
    

    Examples:

    java utils.CertGen welcome1 HOST.mycompany.com_cert HOST.mycompany.com_key domestic HOST.mycompany.com
    
    java utils.CertGen welcome1 VIP.mycompany.com_cert VIP.mycompany.com_key domestic VIP.mycompany.com
    

13.3.2 Creating an Identity Keystore Using the utils.ImportPrivateKey Utility

Follow these steps to create an identity keystore on HOST:

  1. Create a new identity keystore called appIdentityKeyStore using the utils.ImportPrivateKey utility. Create this keystore under the same directory as the certificates (that is, ORACLE_BASE/admin/domain_name/cert).

    Note:

    The identity store is created (if none exists) when you import a certificate and the corresponding key into the identity store using the utils.ImportPrivateKey utility.

  2. On HOST, import the certificate and private key for both HOST.mycompany.com and VIP.mycompany.com into the identity store. Make sure that you use a different alias for each of the certificate/key pairs imported.

    Syntax (all on a single line):

    java utils.ImportPrivateKey Keystore_File Keystore_Password  
    
    Certificate_Alias_to_Use Private_Key_Passphrase  
    
    Certificate_File 
    
    Private_Key_File  
    
    [Keystore_Type]
    

    Examples:

    java utils.ImportPrivateKey appIdentityKeyStore.jks welcome1  
    
    appIdentity1 welcome1  
    
    ORACLE_BASE/admin/domain_name/cert/HOST.mycompany.com_cert.pem  
    
    ORACLE_BASE/admin/domain_name/cert/HOST.mycompany.com_key.pem
    
    java utils.ImportPrivateKey appIdentityKeyStore.jks welcome1  
    
    appIdentity2 welcome1  
    
    ORACLE_BASE/admin/domain_name/cert/VIP.mycompany.com_cert.pem  
    
    ORACLE_BASE/admin/domain_name/cert/VIP.mycompany.com_key.pem
    

13.3.3 Creating a Trust Keystore Using the Keytool Utility

Follow these steps to create the trust keystore on HOST:

  1. Copy the standard Java keystore to create the new trust keystore since it already contains most of the root CA certificates needed. Oracle does not recommend modifying the standard Java trust keystore directly. Copy the standard Java keystore CA certificates on HOST located under the WL_HOME/server/lib directory to the same directory as the certificates. For example:

    cp WL_HOME/server/lib/cacerts ORACLE_BASE/admin/domain_name/cert/appTrustKeyStore.jks
    
  2. The default password for the standard Java keystore is changeit. Oracle recommends always changing the default password. Use the keytool utility on HOST to do this. The syntax is:

    keytool -storepasswd -new New_Password -keystore Trust_Keystore -storepass Original_Password
    

    For example:

    keytool -storepasswd -new welcome1 -keystore appTrustKeyStore.jks -storepass changeit
    
  3. The CA certificate CertGenCA.der is used to sign all certificates generated by the utils.CertGen tool. It is located in the WL_HOME/server/lib directory. This CA certificate must be imported into the appTrustKeyStore using the keytool utility on HOST. The syntax is:

    keytool -import -v -noprompt -trustcacerts -alias Alias_Name -file CA_File_Location -keystore Keystore_Location -storepass Keystore_Password
    

    For example:

    keytool -import -v -noprompt -trustcacerts -alias clientCACert -file WL_HOME/server/lib/CertGenCA.der -keystore appTrustKeyStore.jks -storepass welcome1
    

13.3.4 Configuring Node Manager to Use the Custom Keystores

To configure Node Manager to use the custom keystores, add the following lines to the end of the nodemanager.properties file located in the WL_HOME/common/
nodemanager directory:

KeyStores=CustomIdentityAndCustomTrust
CustomIdentityKeyStoreFileName=Identity_Keystore
CustomIdentityKeyStorePassPhrase=Identity_Keystore_Password
CustomIdentityAlias=Identity_Keystore_Alias
CustomIdentityPrivateKeyPassPhrase=Private_Key_Used_When_Creating_Certificate

Make sure to use the correct value for CustomIdentityAlias on each node; that is, the custom identity alias specifically assigned to that node, for example for ...HOST2:

KeyStores=CustomIdentityAndCustomTrust
CustomIdentityKeyStoreFileName=ORACLE_BASE/admin/domain_name/cert/appIdentityKeyStore.jks
CustomIdentityKeyStorePassPhrase=welcome1
CustomIdentityAlias=appIdentity2
CustomIdentityPrivateKeyPassPhrase=welcome1

The passphrase entries in the nodemanager.properties file get encrypted when you start Node Manager as described in Section 13.4, "Starting Node Manager." For security reasons, you want to minimize the time the entries in the nodemanager.properties file are left unencrypted. After you edit the file, you should start Node Manager as soon as possible so that the entries get encrypted.

When using a common/shared storage installation for MW_HOME, Node Manager is started from different nodes using the same base configuration (nodemanager.properties). In that case, it is required to add the certificate for all the nodes that share the binaries to the appIdentityKeyStore.jks identity store. To do this, create the certificate for the new node and import it to appIdentityKeyStore.jks as in Section 13.3.2, "Creating an Identity Keystore Using the utils.ImportPrivateKey Utility." Once the certificates are available in the store, each node manager needs to point to a different identity alias to send the correct certificate to the Administration Server. To do this, set different environment variables on HOST before starting Node Manager in the different nodes:

cd WL_HOME/server/bin

export JAVA_OPTIONS=-DCustomIdentityAlias=appIdentityX

Note:

Make sure to specify the custom identity alias specifically assigned to each host, so appIdentity1 for ...HOST1 and appIdentity2 for ...HOST2.

13.3.5 Configuring Managed Servers to Use the Custom Keystores

Follow these steps to configure the identity and trust keystores for WLS_SERVER:

  1. Log in to the Oracle WebLogic Server Administration Console.

  2. Click Lock & Edit.

  3. Expand the Environment node in the Domain Structure window.

  4. Click Servers.

  5. On the Summary of Server page, click the name of the server for which you want to configure the identity and trust keystores (WLS_SERVER).

  6. On the settings page for the selected server, select Configuration and then Keystores.

  7. Click the Change button next to the Keystores field and select the Custom Identity and Custom Trust method for storing and managing private keys/digital certificate pairs and trusted CA certificates. Click Save when you are done.

  8. In the Identity section, define attributes for the identity keystore:

    • Custom Identity Keystore: The fully qualified path to the identity keystore:

      ORACLE_BASE/admin/domain_name/cert/appIdentityKeyStore.jks
      
    • Custom Identity Keystore Type: Leave blank; it defaults to JKS.

    • Custom Identity Keystore Passphrase: The password (Keystore_Password) you provided in Section 13.3.3, "Creating a Trust Keystore Using the Keytool Utility." This attribute is optional or required depending on the type of keystore. All keystores require the passphrase in order to write to the keystore. However, some keystores do not require the passphrase to read from the keystore. WebLogic Server only reads from the keystore, so whether or not you define this property depends on the requirements of the keystore.

  9. In the Trust section, define properties for the trust keystore:

    • Custom Trust Keystore: The fully qualified path to the trust keystore:

      ORACLE_BASE/admin/domain_name/cert/appTrustKeyStore.jks
      
    • Custom Trust Keystore Type: Leave blank; it defaults to JKS.

    • Custom Trust Keystore Passphrase: The password you provided as New_Password in Section 13.3.3, "Creating a Trust Keystore Using the Keytool Utility." This attribute is optional or required depending on the type of keystore. All keystores require the passphrase in order to write to the keystore. However, some keystores do not require the passphrase to read from the keystore. WebLogic Server only reads from the keystore, so whether or not you define this property depends on the requirements of the keystore.

  10. Click Save.

  11. Click Activate Changes in the Administration Console's Change Center to make the changes take effect.

  12. Select Configuration, then SSL.

  13. Click Lock & Edit.

  14. In the Private Key Alias field, enter the alias you used for the host name the managed server listens on.

    In the Private Key Passphrase and the Confirm Private Key Passphrase fields, enter the password for the keystore that you created in Section 13.3.2, "Creating an Identity Keystore Using the utils.ImportPrivateKey Utility."

  15. Click Save.

  16. Click Activate Changes in the Administration Console's Change Center to make the changes take effect.

  17. Restart the server for which the changes have been applied.

13.3.6 Changing the Host Name Verification Setting for the Managed Servers

Once the steps above have been performed, you should set host name verification for the affected managed servers to Bea Host Name Verifier. To do this, perform the following steps:

  1. Log in to WebLogic Server Administration Console.

  2. Expand the Environment node in the Domain Structure window.

  3. Click Servers.

  4. On the Summary of Servers page, select the managed server in the Names column of the table.

  5. On the settings page for the server, open the SSL tab.

  6. Expand the Advanced section of the page.

  7. Click Lock & Edit.

  8. Set host name verification to Bea Host Name Verifier.

  9. Click Save.

  10. Restart the server for which the changes have been applied.

13.4 Starting Node Manager

Run the commands below to start Node Manager on HOST. If you have not configured and started Node Manager for the first time yet, run the setNMProps.sh script as specified in Section 8.4.3, "Starting Node Manager on SOAHOST1" to enable the use of the start script for your managed servers.

Note:

Make sure to specify the custom identity alias specifically assigned to each host, so appIdentity1 for ...HOST1 and appIdentity2 for ...HOST2.

cd WL_HOME/server/bin

export JAVA_OPTIONS=-DCustomIdentityAlias=appIdentityX

./startNodeManager.sh