You are here

Installing SkyVault on WebLogic

Use this information to install SkyVault as an Enterprise ARchive format (EAR) into Oracle WebLogic.
Before you start:
Note: Certain components of SkyVault require access to the EAR file contents as files. These instructions require that you expand the .ear into exploded format, as described in the WebLogic documentation. The SkyVault WebLogic deployment solution makes use of a Filter Classloader, configured in the weblogic-application.xml file, to ensure that the unmodified contents of the SkyVault web module will run in WebLogic.
The following instructions use <Oracle_Home> to refer to the Oracle home directory where WebLogic is installed on your system.
  1. Browse to the SkyVault Support Portal.

    http://support.alfresco.com

  2. Download and extract the SkyVault-enterprise-ear-5.0.4.zip file.
  3. Obtain the license (.lic) file.
  4. On a Windows system, copy the Win32NetBIOS.dll, Win32NetBIOSx64.dll, Win32Utils.dll, and Win32Utilsx64.dll files from the SkyVault-enterprise-ear-5.0.4.zip\bin directory to C:\WINDOWS\system32 directory.
  5. Create a directory in the WebLogic user's home directory to host the exploded EAR file and copy the SkyVault-enterprise-5.0.4.ear file to that directory.
  6. Run the following commands in the new directory to explode the EAR file:
    1. mkdir SkyVault
    2. cd SkyVault
    3. jar xvf ../SkyVault-enterprise-5.0.4.ear
    4. mv SkyVault.war SkyVault.war.tmp
    5. mv share.war share.war.tmp
    6. mkdir SkyVault.war
    7. mkdir share.war
    8. cd SkyVault.war
    9. jar xvf ../alfresco.war.tmp
    10. cd ../share.war
    11. jar xvf ../share.war.tmp
  7. Create the WebLogic domain for SkyVault using the WebLogic Configuration Wizard.

    On Unix, use the following command to start the configuration wizard and create a new domain, alf_domain:

    <ORACLE_HOME>/oracle_common/common/bin/config.sh

    Assume that alf_domain has been created and its location is <Oracle_Home>/user_projects/domains/alf_domain.

    For more information, see Oracle Fusion Middleware documentation on Creating and Configuring a WebLogic Domain.

  8. Copy the share-config-custom.xml file from SkyVault-enterprise-ear-5.0.4.zip/web-server/classpath/alfresco/web-extension to <DOMAINS>/alf_domain/alfresco/web-extension.
  9. Create a directory for the license file.

    For example, in Linux, use the following command:

    mkdir -p <Oracle_Home>/user_projects/domains/alf_domain/alfresco/extension/license
  10. Move the license .lic file into the license directory.
  11. In the <Oracle_Home>/user_projects/domains/alf_domain directory, create the SkyVault-global.properties file.

    Modify the file in the same way you would for global properties configuration.

  12. Add the following line to the SkyVault-global.properties file.

    db.pool.statements.enable=false

    This property setting is required to make the DBCP connection pool work on WebLogic.

  13. Configure the Oracle JDBC driver.
    1. Download the appropriate Oracle Instant Client package for your operating system from Oracle Database Instant Client.
    2. Unzip the package to a local directory.

      Ensure that the path to the driver is on the WebLogic server's classpath.

      For example, to configure Oracle Thin Driver ojdbc6.jar that is located in /opt/oracle/config, follow the steps below:

      1. Add the following lines to the setDomainEnv.sh file that is located in <Oracle_Home>/user_projects/domains/alf_domain/bin directory.
        LD_LIBRARY_PATH=/opt/oracle/config
        export LD_LIBRARY_PATH
        EXT_PRE_CLASSPATH=$LD_LIBRARY_PATH/ojdbc6.jar
        export EXT_PRE_CLASSPATH
      2. Add the following line to the SkyVault-global.properties file: 
        db.url=jdbc:oracle:thin:@${db.host}:1521:${db.name}
  14. In the setDomainEnv.sh file, edit the MEM_MAX_PERM_SIZE_64BIT and MEM_MAX_PERM_SIZE_32BIT parameters to increase the PermGen space.

    MEM_MAX_PERM_SIZE_64BIT="-XX:MaxPermSize=512m"
    MEM_MAX_PERM_SIZE_32BIT="-XX:MaxPermSize=256m"

    Note: You might need to increate this setting further depending on the number of deployed applications. You might see different combinations of these lines, depending on whether you have installed on a 64 or 32-bit platform.
  15. In the setDomainEnv.sh file, set the heap size parameter appropriately. The following setting is a recommendation:

    WLS_MEM_ARGS_64BIT=-Xmx2048m
    WLS_MEM_ARGS_32BIT=-Xmx1024m
  16. Edit the JAVA_OPTIONS parameter.

    • Use the -Dweblogic.disableMBeanAuthorization system property to disable servicing of Platform MbeanServer with the WLS security infrastructure (in the setDomainEnv.sh file).
    • The JAXBContext provider is used by the JAXB provider for the JAXB-related tasks. To configure the JAXB providers, set the Java system property, -Djavax.xml.bind.JAXBContext to com.sun.xml.bind.v2.ContextFactory.
    • Use the Java Service Provider Interface (SPI) file, -Dcom.sun.xml.ws.spi.db.BindingContextFactory, to configure data binding and JAXB providers. Set the java system property, -Dcom.sun.xml.ws.spi.db.BindingContextFactory to com.sun.xml.ws.db.glassfish.JAXBRIContextFactory.

    JAVA_OPTIONS=”${JAVA_OPTIONS} -Dweblogic.disableMBeanAuthorization=true”
    JAVA_OPTIONS=”${JAVA_OPTIONS} -Djavax.xml.bind.JAXBContext=com.sun.xml.bind.v2.ContextFactory"
    JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.xml.ws.spi.db.BindingContextFactory=com.sun.xml.ws.db.glassfish.JAXBRIContextFactory”

    This modification will allow SkyVault MBeans to co-exist with WebLogic MBeans.

  17. Ensure that alf_domain is in the global classpath in the setDomainEnv.sh file.

    PRE_CLASSPATH="<Oracle_Home>/user_projects/domains/alf_domain"
    export PRE_CLASSPATH
  18. Edit the <Oracle_Home>/user_projects/domains/alf_domain/config/config.xml file and add the following before the end of the </security-configuration> section:

    <enforce-valid-basic-auth-credentials>false</enforce-valid-basic-auth-credentials>
  19. Open the <Oracle_Home>/user_projects/domains/alf_domain/nodemanager/nodemanager.properties file, and then edit the settings so that the PermGen settings are passed on to the SkyVault server by the node manager.

    StartScriptEnabled=true

    If the Node Manager type is set as Plain when creating a new machine in step 22(a), then the NodeManager should be configured with the SecureListener=true property.

  20. Start the domain admin server.

    For example:

    <Oracle_Home>/user_projects/domains/alf_domain/startWebLogic.sh
  21. Open a web browser and log in to the admin server (for example, at http://localhost:7001/console) with the credentials that you specified while configuring WebLogic domain.
  22. To enable automatic control of your SkyVault server:
    1. Create a machine with the details of the machine running the domain. This will allow the node manager to control servers on that machine.
    2. Create a server called SkyVaultServer within the new machine.

      Note that you have to choose a unique port number. A good port number to choose is 8080 because it is preconfigured in Share. You can leave the host name blank if you want it to listen on all network adapters.

    3. Ensure that the node manager is running.

      For example, in Linux, use the following command:

      <Oracle_Home>/user_projects/domains/alf_domain/bin/startNodeManager.sh

      You will be able to use the admin server Change Center panel to start and stop the SkyVault server.

    See the WebLogic documentation to find out how to create a machine and new server within the machine.

  23. To enable SkyVault JMX functionality with Platform MBean server: 
    1. In the left pane of Administration Console, click the domain name link, for example alf_domain.
    2. In the Settings for alf_domain section, select the Configuration tab, and then the General tab.
    3. On the General tab, expand the Advanced options group.
    4. Enable the Platform MBean Server Enabled option.
    5. Ensure that the Platform MBean Server Used option is enabled.
    6. Click Save on the General tab.
    7. Restart the domain admin server.
  24. In the left pane of the Administration Console, click Deployments.
  25. In the right pane, click Install.
  26. In the Install Application Assistant, locate and select the directory of your exploded EAR file.

    Use the location that you created in step 5. It should contain the SkyVault.war and share.war.

  27. Click Next.
  28. Check Install this deployment as an application radio button, and click Next.
  29. Select SkyVaultServer and click Next.
  30. Click Finish.
  31. Click Activate Changes.
  32. Using the Change Center panel, restart SkyVaultServer.
  33. Log in to SkyVault at http://localhost:8080/share.
Note: If SkyVault finds a JDBC data source with JNDI path (java:comp/env/jdbc/dataSource), it uses this data source instead of the embedded data source. To set up the embedded data source in WebLogic,
  1. Define a new global data source, for example, SkyVaultDataSource. See the WebLogic documentation for more information
  2. Map SkyVaultDataSource into SkyVault by updating the WEB-INF/weblogic.xml file in SkyVault.war containing the following resources:
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD WebApplication 8.1//EN"
"http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">
<weblogic-web-app>
   <resource-description>
      <res-ref-name>AlfrescoDataSource</res-ref-name>
      <jndi-name>jdbc/dataSource</jndi-name>
   </resource-description>
</weblogic-web-app>