Documentation Center

Installing the Content Deployer (HTTP or HTTPS) as a Java Web application

Instead of installing the Content Deployer (HTTP or HTTPS) Server Role by deploying its WAR file and performing some manual steps.

Procedure

  1. Ensure that all the prerequisites for a Content Delivery Server Role are met on your target system.
  2. Access the SDL Tridion installation media.
  3. Navigate to the Content Delivery\roles\ folder.
  4. Access the upload\java\ subfolder.
  5. Deploy the file cd_upload.war in this location as a new Java Web application.
  6. If you store published content in a database, download the JDBC driver (JAR file) required for your specific database vendor and copy it into the WEB-INF/lib directory of your Web application:
    VendorJDBC DriverRequired JAR
    Microsoft SQL ServerMicrosoft SQL Server JDBC Driver 4.0

    sqljdbc42.jar for Java 8

    sqljdbc4.jar for Java 6 or Java 7

    OracleOracle JDBC driver 11.2.0.3 (deprecated)

    ojdbc6.jar for Java 6 or Java 7

    OracleOracle JDBC driver 12.1.0.1

    ojdbc7-12.1.0.1.jar for Java 8

    ojdbc7.jar for Java 7

    ojdbc6.jar for Java 6

    IBM DB2IBM Data Server Driver for JDBC and SQLJ (9.7 GA) (deprecated)

    Not supported with Java 8

    db2jcc.jar for Java 6 or Java 7

    You can download JDBC drivers from the following locations:
  7. Navigate to \Content Delivery\resources\configurations\.
  8. Copy logback.xml from that folder to the WEB-INF/classes/ subdirectory of your Web application.
  9. Copy and rename the following configuration files to the WEB-INF/classes folder of your Web application:
    Corresponding configuration fileRenamed configuration file
    cd_deployer_conf_sample.xmlcd_deployer_conf.xml
    cd_storage_conf_sample.xmlcd_storage_conf.xml
  10. Open the file cd_deployer_conf.xml for editing.
  11. In the <Queue> section, add a Location element, for example:
    <Location Path="MYPATH" WindowSize="20" Workers="10" Cleanup="true" Interval="2s" />
    Specify the Path and optionally other attributes to optimize the publishing process:
    Path
    The absolute path to the pickup location.
    WindowSize
    The maximum number of Transport Package that can be "in flight" (publishing or deploying) at any one time. It represents the number of publish actions the Content Deployer should be able to handle. The default value for this attribute is 20.
    Workers
    The maximum number of deployment threads that can be running at any time. If WindowSize is bigger than Workers, items to publish may enter a deployment queue, which in turn may cause a publish action to time out and fail. The default value for this attribute is 10.
    Interval
    The amount of time, in milliseconds (ms), seconds (s), hours (h) and so on, that the Content Deployer waits before checking for new content in this location. The default value for this attribute is 2s; that is, two seconds.
  12. Directly below the <Queue> section, add the following element:
    <HTTPSReceiver MaxSize="10000000" Location="MYPATH" InProcessDeploy="true" />

    Configure the attributes as follows:

    MaxSize
    The maximum size (in bytes) of a Transport Package sent to the location.
    Location
    The same value as the MYPATH you specified in the Location element earlier.
    InProcessDeploy
    If you set this attribute to true (this is the case by default), publishing and deployment is contained within the Web application. If you set it to false, you must have your Content Manager publish content over HTTP or HTTPS to a location outside the Web application, and run the Content Deployer as a standalone Windows service or Java process. In this setup, the entire publishing transaction bypasses your Web application, which can improve your publishing performance. Refer to Scaling Content Delivery for a more detailed explanation of this implementation plan.
  13. Save and close cd_deployer_conf.xml.
  14. Copy cd_licenses.xml, your Content Delivery license file available from SDL Tridion Customer Support, to the WEB-INF/classes directory of your Web application.
    If you want to name the file differently or put it in a different location, you need to update the License element in your configuration files.
  15. Optional: Configure logging.
  16. Configure the Storage Layer and optionally encrypt sensitive strings. For Storage elements that refer to the Experience Manager database, add an attribute defaultFileSystem to the Storage element and set it to false.
  17. If your Web application server is JBoss, do the following:
    1. Locate the following files in the WEB-INF/lib/ subdirectory and remove them:
      • stax-api.jar
      • serializer.jar
      • xalan.jar
    2. If you use JBoss 5.1 or 5.2, add the following JVM property-value pair to the JAVA_OPTS variable: -Dorg.jboss.logging.provider=slf4j
    3. If you use JBoss 6.0 or 6.1, create a file with the following contents called jboss-deployment-structure.xml and save the file in the WEB-INF/ directory:
      <jboss-deployment-structure>
      	<deployment>
      		<exclusions>
      			<module name="org.slf4j" />
      			<module name="org.slf4j.impl" />
      			<module name="com.sun.jersey" />
      			<module name="com.sun.jersey.json" />
      			<module name="com.sun.jersey.core" />   
      		</exclusions>
      	</deployment>
      </jboss-deployment-structure>
    4. If you use JBoss 6.0 or 6.1, open WEB-INF/web.xml, add the following section and save the file:
      <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>
  18. If your Web application server is WebLogic, do the following:
    1. Remove the file stax-api.jar from your WEB-INF/lib/ subdirectory.
    2. Add a weblogic.xml file to the WEB-INF folder of your Web application that forces WebLogic to use the libraries contained in the Web application, rather than its own libraries. The contents of this weblogic.xml file must be as follows:
      <weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      	xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd"
      	xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app">
      	<container-descriptor>
      		<prefer-application-packages>
      			<package-name>javax.persistence.**</package-name>
      			<package-name>antlr.*</package-name>
      			<package-name>org.slf4j.**</package-name>
      			<package-name>org.apache.log4j.**</package-name>
      			<package-name>org.apache.xml.serializer.**</package-name>
      		</prefer-application-packages>
      	</container-descriptor>
      </weblogic-web-app>
  19. Restart the Web application.
  20. In an internet browser of your choice, navigate to http://HOST:PORT/cd_upload/httpupload where HOST and PORT refer to the location of the HTTP Upload Web application.

    The following text appears in your browser:

    SDL Tridion HTTP Upload and Responder Servlet