Installing Liferay DXP on WebLogic 12c R2

Although you can install Liferay DXP in a WebLogic Admin Server, this isn’t recommended. It’s a best practice to install web apps, including Liferay DXP, in a WebLogic Managed server. Deploying to a Managed Server lets you start or shut down Liferay DXP more quickly and facilitates transitioning into a cluster configuration. This article therefore focuses on installing Liferay DXP in a Managed Server.

Before getting started, create your Admin and Managed Servers. See WebLogic’s documentation for instructions on setting up and configuring Admin and Managed Servers.

You should also read the following articles to familiarize yourself with Liferay DXP’s general installation steps:

Before proceeding, you must download these Additional Files for DXP or Portal CE:

  • Liferay DXP WAR file
  • Dependencies ZIP file
  • OSGi Dependencies ZIP file

Liferay DXP requires a Java JDK 8 or 11.

Without any further ado, get ready to install Liferay DXP in WebLogic!

Configuring WebLogic’s Node Manager

WebLogic’s Node Manager starts and stops managed servers.

If you’re running WebLogic on a UNIX system other than Solaris or Linux, use the Java Node Manager, instead of the native version of the Node Manager, by configuring these Node Manager properties in the domains/your_domain_name/nodemanager/nodemanager.properties file:

NativeVersionEnabled=false

StartScriptEnabled=true

See Oracle’s Configuring Java Node Manager documentation for details.

Configuring WebLogic

Configure the JVM and other options in a setUserOverridesLate WebLogic startup script and in your Managed Server UI.

  1. Create a setUserOverridesLate.sh script in [Your Domain]/bin.

  2. Add the following settings.

    export DERBY_FLAG="false"
    export JAVA_OPTIONS="${JAVA_OPTIONS} -Dfile.encoding=UTF-8 -Duser.timezone=GMT -da:org.apache.lucene... -da:org.aspectj..."
    export JAVA_PROPERTIES="-Dfile.encoding=UTF-8 ${JAVA_PROPERTIES} ${CLUSTER_PROPERTIES}"
    export MW_HOME="[place your WebLogic Server folder path here]"
    export USER_MEM_ARGS="-Xms512m -Xmx2048m"
    export WLS_MEM_ARGS_64BIT="-Xms512m -Xmx2048m"
    export WLS_MEM_ARGS_32BIT="-Xms512m -Xmx2048m"
    

    The DERBY_FLAG setting disables the Derby server built in to WebLogic, as DXP does not require this server.

    JAVA_OPTIONS sets DXP’s UTF-8 requirement, Lucene usage, and Aspect Oriented Programming via AspectJ.

    JAVA_PROPERTIES also sets DXP’s UTF-8 requirement.

    Set MW_HOME to the folder containing the WebLogic server on the machine. For example,

    export MW_HOME="/Users/ray/Oracle/wls12210"
    

    The *_MEM_ARGS variables set DXP’s starting and maximum heap memory capacity.

  3. You must also ensure that the Node Manager sets Liferay DXP’s memory requirements when starting the Managed Server. In the Admin Server’s console UI, navigate to the Managed Server you want to deploy Liferay DXP to and select the Server Start tab. Enter the following parameters into the Arguments field:

    -Xmx2048m -XX:MaxMetaspaceSize=512m
    

    Click Save when you’re finished.

Next, you’ll set some Liferay DXP-specific properties for your Liferay DXP installation.

Setting Liferay DXP Properties

Before installing Liferay DXP, you must set the Liferay Home folder’s location via the liferay.home property in a portal-ext.properties file. You can also use this file to override other Liferay DXP properties that you may need.

First, decide which folder you want to serve as Liferay Home. In WebLogic, your domain’s folder is generally Liferay Home, but you can choose any folder on your machine. Then create your portal-ext.properties file and add the liferay.home property:

liferay.home=/full/path/to/your/liferay/home/folder

Remember to change this file path to the location on your machine that you want to serve as Liferay Home.

Now that you’ve created your portal-ext.properties file, you must put it inside the Liferay DXP WAR file. Expand the Liferay DXP WAR file and place portal-ext.properties in the WEB-INF/classes folder. Later, you can deploy the expanded archive to WebLogic. Alternatively, you can re-WAR the expanded archive for later deployment. In either case, Liferay DXP reads your property settings once it starts up.

If you need to make any changes to portal-ext.properties after Liferay DXP deploys, you can find it in your domain’s autodeploy/ROOT/WEB-INF/classes folder. Note that the autodeploy/ROOT folder contains the Liferay DXP deployment.

Next, you’ll install Liferay DXP’s dependencies.

Installing Liferay DXP Dependencies

You must now install Liferay DXP’s dependencies. Recall that earlier you downloaded two ZIP files containing these dependencies. Install their contents now:

  1. liferay-dxp-dependencies-[version].zip: Unzip this file and place its contents in your WebLogic domain’s lib folder.

  2. liferay-dxp-osgi-[version].zip: Unzip this file and place its contents in the [Liferay Home]/osgi folder (create this folder if it doesn’t exist).

  3. Download your database driver .jar file and copy it to your domain’s lib folder. Please see the compatibility matrix for a list of supported databases.

Next, you’ll configure your database.

Database Configuration

Use the following procedure if you want WebLogic to manage your database for Liferay DXP. You can skip this section if you want to use Liferay DXP’s built-in Hypersonic database.

  1. Log in to your AdminServer console.

  2. In the Domain Structure tree, find your domain and navigate to ServicesJDBCData Sources.

  3. To create a new data source, click New. Fill in the Name field with Liferay Data Source and the JNDI Name field with jdbc/LiferayPool. Select your database type and driver. For example, MySQL is MySQL’s Driver (Type 4) Versions:using com.mysql.jdbc.Driver. Click Next to continue.

  4. Accept the default settings on this page and click Next to move on.

  5. Fill in your database information for your MySQL database.

  6. If using MySQL, add the text ?useUnicode=true&characterEncoding=UTF-8&\useFastDateParsing=false to the URL line and test the connection. If it works, click Next.

  7. Select the target for the data source and click Finish.

  8. You must now tell Liferay DXP about the JDBC data source. Create a portal-ext.propreties file in your Liferay Home directory, and add the line jdbc.default.jndi.name=jdbc/LiferayPool.

Alternatively, you can make the above configuration strictly via properties in the portal-ext.properties file. To do so, place the following properties and values in the file. Be sure to change the your* values with the values appropriate for your database’s configuration (if using MySQL):

jdbc.default.driverClassName=com.mysql.jdbc.Driver
jdbc.default.url=jdbc:mysql://your.db.ip.address/yourdbname?useUnicode?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
jdbc.default.username=yourdbuser
jdbc.default.password=yourdbpassword

Next, you’ll configure your mail session.

Mail Configuration

If you want WebLogic to manage your mail session, use the following procedure. If you want to use Liferay’s built-in mail session (recommended), skip this section.

  1. Start WebLogic and log in to your Admin Server’s console.

  2. Select ServicesMail Sessions from the Domain Structure box on the left hand side of your Admin Server’s console UI.

  3. Click New to begin creating a new mail session.

  4. Name the session LiferayMail and give it the JNDI name mail/MailSession. Then fill out the Session Username, Session Password, Confirm Session Password, and JavaMail Properties fields as necessary for your mail server. See the WebLogic documentation for more information on these fields. Click Next when you’re done.

  5. Choose the Managed Server that you’ll install Liferay DXP on, and click Finish. Then shut down your Managed and Admin Servers.

  6. With your Managed and Admin servers shut down, add the following property to your portal-ext.properties file in Liferay Home:

    mail.session.jndi.name=mail/MailSession
    

    Liferay DXP references your WebLogic mail session via this property setting. If you’ve already deployed Liferay DXP, you can find your portal-ext.properties file in your domain’s autodeploy/ROOT/WEB-INF/classes folder.

Your changes take effect upon restarting your Managed and Admin servers.

Deploying Liferay DXP

As mentioned earlier, although you can deploy Liferay DXP to a WebLogic Admin Server, you should instead deploy it to a WebLogic Managed Server. Dedicating the Admin Server to managing other servers that run your apps is a best practice.

Follow these steps to deploy Liferay DXP to a Managed Server:

  1. Make sure the Managed Server you want to deploy Liferay DXP to is shut down.

  2. In your Admin Server’s console UI, select Deployments from the Domain Structure box on the left hand side. Then click Install to start a new deployment.

  3. Select the Liferay DXP WAR file or its expanded contents on your file system. Alternatively, you can upload the WAR file by clicking the Upload your file(s) link. Click Next.

  4. Select Install this deployment as an application and click Next.

  5. Select the Managed Server you want to deploy Liferay DXP to and click Next.

  6. If the default name is appropriate for your installation, keep it. Otherwise, give it a name of your choosing and click Next.

  7. Click Finish. After the deployment finishes, click Save if you want to save the configuration.

  8. Start the Managed Server where you deployed Liferay DXP. Liferay DXP precompiles all the JSPs and then launches.

Nice work! Now you’re running Liferay DXP on WebLogic.

« Installing Liferay DXP on tc ServerInstalling Liferay DXP on WebSphere »
Was this article helpful?
0 out of 0 found this helpful