Skip to main content
Pentaho Documentation

Prepare Web Application Servers

Overview

Indicates how to prepare the web app server.

Image of the DI Manual installation steps.

How you prepare to deploy the DI Server depends on the web application server you installed.

Prepare Tomcat Web Application Server

After you have completed the tasks in the Specify Connections step you must configure HTTP and HTTPS ports so that it uses the Data Integration port.

Configure http and https Ports on Tomcat

Since the DI Server is configured to run on 9080 (http) and 9443 (https), you need to configure Tomcat for these ports as well.

  1. Use a text editor to open the server.xml file, which is located in pentaho/server/data-integration-server/<your tomcat installation directory>/conf directory.
  2. Modify the Connector port settings for http and https to reflect the DI Server ports (9080 and 9443).
  3. Save the changes and close the file.

Prepare JBoss Web Application Server

If you have installed the JBoss web application server, you must manually complete the following configuration tasks.

Increase the Amount of Time JBoss Allows for DI Server Deployment

By default, JBoss allows up to one minute for a web application to be deployed. If the web application is not deployed within that timeframe, an error occurs.

Because the DI Server deployment requires more than one minute, manually edit the standalone.xml file to increase the deployment time.

  1. Use a text editor to open the <your jboss installation directory>/standalone/configuration/standalone.xml file.
  2. Find the <deployment-scanner> tag, add the deployment-timeout attribute, then set the attribute equal to 480. Note that if you are installing the DI Server on a VM, you might want to increase the deployment-timeout attribute's value to give the DI Server more time to deploy. <deployment-scanner scan-interval="5000" relative-to="jboss.server.base.dir" path="deployments" scan-enabled="true" deployment-timeout="480"/>
  3. Save and close the file.

Disable the JBoss RESTEasy Scan

To load pentaho REST services correctly, the RESTEasy scan in JBoss must be disabled. These instructions explain how to do this.

  1. Use a zip extraction utility such as 7-Zip, Winzip, or Archive to view the contents of the <your jboss installation directory>/standalone/deployments/pentaho-di.war file. Do not unzip the pentaho-di.war file, just view its contents.
  2. Navigate to the WEB-INF directory in the pentaho-di.war file and open the web.xml file in a text editor.
  3. At the end of the <context-param> tags, add this code.
    <context-param>
                 <param-name>resteasy.scan</param-name>
                 <param-value>false</param-value>
            </context-param>
            <context-param>
                 <param-name>resteasy.scan.resources</param-name>
                 <param-value>false</param-value>
            </context-param>
            <context-param>
                 <param-name>resteasy.scan.providers</param-name>
                 <param-value>false</param-value>
    </context-param>
  4. In the web.xml file, change the DI Server URL. To learn how, read the Change the DI Server URL instructions.
  5. In the web.xml file, set the location of the Pentaho solutions directory. To learn how, read the "Set Location of the Pentaho Solutions Directory" instructions below.
  6. Save the changes and close the file.
  7. The zip extraction utility that you used might show a prompt that asks whether you would like to update the file in the pentaho-di.war archive. If this happens, confirm that you would like to do this.

Set the Location of the Pentaho Solutions Directory

To deploy JBoss correctly, Pentaho recommends that you define the location of the Pentaho solutions directory in the web.xml file. These instructions explain how to do this.

  1. If you have not done so already, use a zip extraction utility such as 7-Zip, Winzip, or Archive to view the contents of the <your jboss installation directory>/standalone/deployments/pentaho-di.war file. Do not unzip the pentaho-di.war file, just view its contents.
  2. Navigate to the WEB-INF directory in the pentaho-di.war file and open the web.xml file in a text editor.
  3. Locate the following <context-param> tags.
    <context-param>
           <param-name>solution-path</param-name>
           <param-value></param-value>
    </context-param>
  4. Define the param value of the solution-path to Pentaho-solutions. An example of the code is below.
    <context-param>
           <param-name>solution-path</param-name>
           <param-value>/home/pentaho/server/data-integration-server/pentaho-solutions</param-value>
    </context-param>
  5. Save the changes and close the file.

Increase JBoss Default Memory Settings

Before you deploy the DI Server, modify the JBoss startup script to match the DI Server's memory resource requirements. If this step is not performed, the DI Server will not start.

  1. Use a text editor to open the standalone configuration file. The file you open depends on your operating system.
    • Microsoft Windows: <your jboss installation directory>/bin/standalone-conf.bat
    • Linux: <your jboss installation directory>/bin/standalone.conf
  2. Change the following code from -Xms1303m -Xmx1303m -XX:MaxPermSize=256m to this:
    -Xms4096m -Xmx6144m -XX:MaxPermSize=256m
  3. Save the changes and close the file.

Configure http and https Ports on JBoss

Since the DI Server is configured to run on 9080 (http) and 9443 (https), you need to configure JBoss for these ports as well.

  1. Use a text editor to open the standalone.xml file, which is located in pentaho/server/data-integration-server/<your jboss installation directory>/standalone/configuration directory.
  2. Modify the http and https socket-binding parameters to reflect the DI Server ports.
    <socket-binding name="http" port="9080"/>
    <socket-binding name="https" port="9443"/>
  3. Save the changes and close the file.

Add JBoss Logging

You can add Pentaho application level logging to the JBoss logging subsystem. This is an optional step.

  1. Open the standalone.xml file in the <your jboss directory>/standalone/configuration directory.
  2. Under the </extensions> tag add this code.
     <system-properties>
          <property name="org.jboss.as.logging.per-deployment" value="false"/>
      </system-properties>
  3. Find the <console-handler ...> or <file-handler ...> sections and add the following two handlers.
    <console-handler name="PENTAHOCONSOLE">
    <level name="ALL"/>
    </console-handler>
       <file-handler name="PENTAHOFILE">
        <file relative-to="jboss.server.log.dir" path="pentaho.log"/>
        <append value="false"/>
    </file-handler>
  4. Under the file handlers section, there is a section containing <logger> tags. Configure the <root-logger> handler to use these handlers.
    <handler name="PENTAHOCONSOLE"/>
    <handler name="PENTAHOFILE"/>
  5. Add the following loggers above <root-logger>.
    <logger category="org.hybernate" use-parent-handlers="false">
        <level name="ERROR"/>
            <handlers>
                <handler name="PENTAHOFILE"/>
                <handler name="PENTAHOCONSOLE"/>
            </handlers>
    </logger>
    <logger category="net.sf.ehcache" use-parent-handlers="false">
        <level name="ERROR"/>
            <handlers>
                <handler name="PENTAHOFILE"/>
                <handler name="PENTAHOCONSOLE"/>
            </handlers>
       </logger>
    <logger category="org.quartz" use-parent-handlers="false">
        <level name="ERROR"/>
            <handlers>
                <handler name="PENTAHOFILE"/>
                <handler name="PENTAHOCONSOLE"/>
    </handlers>
    </logger>
        <logger category="org.springframework" use-parent-handlers="false">
        <level name="ERROR"/>
            <handlers>
                <handler name="PENTAHOFILE"/>
                <handler name="PENTAHOCONSOLE"/>
            </handlers>
    </logger>
    <logger category="org.springframework.security" use-parent-handlers="false">
        <level name="ERROR"/>
        <handlers>
            <handler name="PENTAHOFILE"/>
            <handler name="PENTAHOCONSOLE"/>
        </handlers>
    </logger>
    <logger category="org.pentaho" use-parent-handlers="false">
        <level name="ERROR"/>
        <handlers>
            <handler name="PENTAHOFILE"/>
            <handler name="PENTAHOCONSOLE"/>
        </handlers>
    </logger>
    <logger category="com.pentaho" use-parent-handlers="false">
        <level name="ERROR"/>
        <handlers>
            <handler name="PENTAHOFILE"/>
            <handler name="PENTAHOCONSOLE"/>
        </handlers>
    </logger>
    <logger category="org.jfree.JCommon" use-parent-handlers="false">
        <level name="ERROR"/>
        <handlers>
            <handler name="PENTAHOFILE"/>
            <handler name="PENTAHOCONSOLE"/>
        </handlers>
    </logger>
    <logger category="org.apache.jackrabbit.core.security.authentication.AbstractLoginModule" use-parent-handlers="false">
        <level name="ERROR"/>
        <handlers>
            <handler name="PENTAHOFILE"/>
            <handler name="PENTAHOCONSOLE"/>
        </handlers>
    </logger>
    <logger category="RepositoryImportLog" use-parent-handlers="false">
        <level name="INFO"/>
        <handlers>
            <handler name="PENTAHOFILE"/>
            <handler name="PENTAHOCONSOLE"/>
        </handlers>
    </logger>
  6. Save and close the file.