Novell Home

Installing Community Services on Apache/Tomcat for NT

Novell Cool Solutions: Feature
By Rick Meredith

Digg This - Slashdot This

Posted: 2 Mar 2001
 

Current Version: iChain 1.5

Update Note: since this article was first posted, we have added a few new files to the ichain.zip file (UUEncode.class, UUEncode.java, HTUU.class, HTUU.java).

Preparation

  1. Make sure you have installed Apache and Tomcat to the following folders respectively:
    • C:\Program Files\Apache Group
    • C:\tomcat
  2. Required: Novell Client 32 running on the NT box.
  3. Download ichain.zip.

Installation

I: Copy Folders and Files to their Respective Directories

  1. Copy the iChain folder to the C:\Novell\ directory if not already there.
  2. Move the file c:\Novell\iChain\lib\jncp.dll to your C:\WINNT\System32 directory.
    NOTE: See Section IV B if you have previously installed Novell's Servlet Gateway.
  3. Copy the iSampleUI folder and the index.html file from C:\Novell\iChain\Uis to c:\Program Files\Apache Group\Apache\htdocs.
    NOTE: If you are using Community Services that has already been installed previously on IIS than copy the iSampleUI folder from c:\inetpub\wwwroot\ and then follow the procedures for modifying the html pages in the iSampleUI folder, Section IV below.
  4. Copy the iSampleUI folder to C:\tomcat\webapps\Root
    NOTE: See note in step C above.
  5. Replace the web.xml file in C:\tomcat\webapps\Root with the one found in C:\Novell\iChain\Uis.

II: Modify Configuration Files

A) iChain.properties File

NOTE: If you are copying over the files because you haven't previously installed Community Services, you will need to make the following modifications:

  1. Open C:\Novell\iChain\iChain.properties
  2. Change "adminDN" to reflect your admin's DN
  3. Change "adminPW" to reflect the admin's password (UUEncoded)
    • Enclosed is a java class called UUEncode.class. Run this class from a DOS prompt. You will then be prompted to type in a word that will then be UUEncoded. Type the admin's password and then add the UU encoded password to the iChain.properties file.
  4. Change "server" to reflect your server's full context.
    • The format of the current server in the iChain.properties file is as follows:
      "160NSRD-NDS.novell" this is the full context of the server object and "NT-AUTHSERVERS" is the tree that the server is in.
  5. Save the file.

B) Apache Server Configuration File

  1. Open file C:\Program Files\Apache Group\Apache\conf\httpd.conf.
  2. Go to the end of the document.
  3. Add the following line:
    include "c:/tomcat/conf/tomcat.conf"

C) Tomcat Configuration File

  1. Open file c:\tomcat\conf\tomcat.conf.
  2. Comment out the line "LoadModule jserv_module libexec/mod_jserv.so".
  3. Add the line "LoadModule jserv_module modules/ApacheModuleJServ.dll".
  4. Add the following lines before the tag:
  5. Alias /iChain "C:/tomcat/webapps/Root"
    <Directory "C:/tomcat/webapps/Root">
    Options Indexes FollowSymLinks
    </Directory>
    ApJServMount /servlet /iChain
    ApJServMount /iChain /iChain
    ApJServMount /RegNewUser /iChain
    <Location "/iChain/WEB-INF/">
    AllowOverride None
    deny from all
    </Location>
    <Directory "C:/tomcat/webapps/Root/WEB-INF/">
    AllowOverride None
    deny from all
    </Directory>
    <Location "/iChain/META-INF/">
    AllowOverride None
    deny from all
    </Location>
    <Directory "C:/tomcat/webapps/Root/META-INF/">
    AllowOverride None
    deny from all
    </Directory>

III: Modify Batch File

  1. Open file c:\tomcat\bin\tomcat.bat.
  2. Add the following line(s) under "Save Environment Variables That May Change"

    set
    CLASSPATH=%CLASSPATH%;C:\Novell\iChain\lib;c:\novell\
    iChain\lib\njcl.jar;C:\novell\iChain\lib\mail.jar;C:\
    novell\iChain\lib\activation.jar;C:\Novell\
    iChain\servlets\iServlet.jar;C:\Novell\iChain\
    servlets;C:\Novell\iChain\lib\iCommon.jar;C:\
    Novell\iChain\lib\iDS.jar;C:\Novell\iChain\lib\
    iSDK.jar;C:\Novell\iChain\lib\iSample.jar;C:\
    Novell\iChain\lib\iPublish.jar;C:\Novell\iChain\
    lib\iWebAdmin.jar;C:\Novell\iChain\lib\resources\
    default\iClientResources.jar;C:\Novell\iChain\lib\
    resources\default\iServerResources.jar


  3. You can add this second line for Community Services debugging purposes (Optional)

    set TOMCAT_OPTS=-Dichain.loglevel=DEBUG_VERBOSE -ichain.logfile=c:\novell\ichain.log

IV: Modifications to a Previously Installed Community Services

  1. Modify html files
    If you are using a previously installed Community Services you will need to make the following modifications to the html files:
    1. Add a slash to 'servlet/myProfileServlet' so that it will read '/servlet/myProfileServlet' for the following file in the iSampleUI directory:

      deletedoc.html
      documents.html
      emailform.html
      help_documents.html
      help_leftbar.html
      help_links.html
      help_members.html
      help_mypage.html
      help_public.html
      help_topbar.html
      help_updates.html
      index.html
      links.html
      linksform.html
      logout-error.html
      members.html
      message.html
      properties.html
      pubform.html
      public.html
      publishdoc.html
      updatedoc.html
      updates.html
      updatesform.html

    2. Change the Ntdocpath value to "\Program Files\Apache Group\Apache\htdocs\iSampleUI\" in the following files:

      Changepassword.html
      NewRegister.html
      PasswordExpired.html
      Profile.html

  2. Copy files
    1. Copy njcl.jar, activation.jar, and mail.jar from c:\Novell\java\lib to the c:\Novell\iChain\lib directory
      NOTE: The jncp.dll file doesn't need to be copied to the System32 directory because it should have already been put there with Novell's Servlet Gateway install.
  3. Modify web.xml
    1. Open C:\tomcat\webapps\Root\Web-in\web.xml.
    2. Between the tags <web-app> and </web-app> add the following lines of code:

      <servlet>
      <servlet-name>
      ichain
      </servlet-name>
      <servlet-class>
      com.novell.ichain.servlet.iChainServlet
      </servlet-class>
      <load-on-startup>
      -1
      </load-on-startup>
      </servlet>
      <servlet>
      <servlet-name>
      DocumentServlet
      </servlet-name>
      <servlet-class>
      com.novell.ichain.servlet.DocumentServlet
      </servlet-class>
      </servlet>
      <servlet>
      <servlet-name>
      registration1
      </servlet-name>
      <servlet-class>
      com.novell.ichain.servlet.RegistrationServletNewUser
      </servlet-class>
      <init-param>
      <param-name>ISO-Object</param-name>
      <param-value></param-value>
      </init-param>
      </servlet>
      <servlet>
      <servlet-name>
      MembersServlet
      </servlet-name>
      <servlet-class>
      com.novell.ichain.servlet.MembersServlet
      </servlet-class>
      </servlet>
      <servlet>
      <servlet-name>
      myProfileServlet
      </servlet-name>
      <servlet-class>
      com.novell.ichain.servlet.myProfileServlet
      </servlet-class>
      </servlet>
      <servlet>
      <servlet-name>
      ChangePasswordServlet
      </servlet-name>
      <servlet-class>
      com.novell.ichain.servlet.ChangePasswordServlet
      </servlet-class>
      </servlet>
      <servlet>
      <servlet-name>
      DisplayURLServlet
      </servlet-name>
      <servlet-class>
      com.novell.ichain.servlet.DisplayURLServlet
      </servlet-class>
      </servlet>
      <servlet>
      <servlet-name>
      TopServlet
      </servlet-name>
      <servlet-class>
      com.novell.ichain.webadmin.TopServlet
      </servlet-class>
      </servlet>
      <servlet>
      <servlet-name>
      ISOServlet
      </servlet-name>
      <servlet-class>
      com.novell.ichain.webadmin.ISOServlet
      </servlet-class>
      </servlet>
      <servlet>
      <servlet-name>
      CommunityServlet
      </servlet-name>
      <servlet-class>
      com.novell.ichain.webadmin.CommunityServlet
      </servlet-class>
      </servlet>
      <servlet>
      <servlet-name>
      ACLServlet
      </servlet-name>
      <servlet-class>
      com.novell.ichain.webadmin.ACLServlet
      </servlet-class>
      </servlet>
      <servlet>
      <servlet-name>
      WebIChainCSReq
      </servlet-name>
      <servlet-class>
      com.novell.ichain.webadmin.WebIChainCSReq
      </servlet-class>
      </servlet>

      <servlet-mapping>
      <servlet-name>
      ichain
      </servlet-name>
      <url-pattern>
      /iChain/*
      </url-pattern>
      </servlet-mapping>
      <servlet-mapping>
      <servlet-name>
      registration1
      </servlet-name>
      <url-pattern>
      /RegNewUser/*
      </url-pattern>
      </servlet-mapping>

You are now ready to run Community Services. Start Tomcat and then Apache.


Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com

© 2014 Novell