Windows Deployment WO 5.4

Version 46.1 by sklein on 2009/10/21 06:51

Overview

Howto deploy WebObjects 5.4 under Windows

What you need

  • Windows 2003 Server; Windows XP Professional
  • Apache 2.2
  • Java 1.5
  • a Mac with WebObjects 5.4 installed

Install Java and Apache

  • download and install Java 1.5 (you had to install the multilingual option).
  • download and install apache 2.2

Copy WebObjects files from your Mac

In this description WebObjects will be installed on drive C: and apache is located under c:/apache.

Create the following directory tree under Windows


C:/Apple
Library
Frameworks
WebObjects
Configuration
JavaApplications
Local
Library
Frameworks
WebObjects
Applications
Configuration
Extensions

Copy the listed Frameworks from /System/Library/Frameworks to C:/Apple/Frameworks:


JavaDirectToWeb.framework
JavaDTWGeneration.framework
JavaEmbedding.framework
JavaEOAccess.framework
JavaEOApplication.framework
JavaEOControl.framework
JavaEODistribution.framework
JavaEOGeneration.framework
JavaEOInterface.framework
JavaEOInterfaceCocoa.framework
JavaEOInterfaceSwing.framework
JavaEOProject.framework
JavaEORuleSystem.framework
JavaEOTool.framework
JavaFoundation.framework
JavaFrameEmbedding.framework
JavaJDBCAdaptor.framework
JavaJNDIAdaptor.framework
JavaWebObjects.framework
JavaWebServicesClient.framework
JavaWebServicesGeneration.framework
JavaWebServicesSupport.framework
JavaWOExtensions.framework
JavaWOJSPServlet.framework

Copy JavaMonitor.woa and wotaskd.woa from /System/Library/WebObjects/JavaApplications to c:/Apple/Library/JavaApplications

Copy the content of /System/Library/WebObjects/WODocumentRoot to your apache document root directory. If you don't use D2W or D2JC I think you can omit the both Java folders.

At least copy the jar files from /Library/WebObjects/Extensions to c:/Apple/Local/Library/WebObjects/Extensions.


axis.jar
axis-ant.jar
commons-discovery-0.2.jar
commons-logging-1.0.4.jar
derby.jar
derbyclient.jar
jaxrpc.jar
log4j-1.2.14.jar
saaj.jar
serializer.jar
servlet.jar
wsdl4j-1.5.1.jar
xalan.jar
xercesImpl.jar
xml-apis.jar

Add environment variable

Under "System" add the environment variable NEXTROOT = C:/Apple

Installing the Apache Adaptor

Copy the modWebObjects.so file to c:/apache/modules

Information
Hint

In some cases apache won't launch on a Windows Server system with this module.
In this case you should install the .Net Framework (3.x) on your system.

Configuring Apache

Open the httpd.conf file in c:/apache/conf and search for the line "LoadModule rewritemodule modules/modrewrite.so" and put the following
line right befor that:


LoadModule WebObjects_module modules/mod_WebObjects.so

At the end of the httpd.conf file add the following lines:


# WebObjects 5.4: Enable the WebObjects module. loadModule should be added before mod_rewrite
Include conf/extra/httpd-webobjects.conf

Find the <Directory /> entry and comment out the last two lines


<Directory />
    Options FollowSymLinks
    AllowOverride None
#    Order deny,allow
#    Deny from all
</Directory>

Create the file httpd-webobjects.conf in your c:/apache/conf/extra folder:


# WebObjects 5.4: Enable the WebObjects module. Should be loaded before mod_rewrite
# LoadModule WebObjects_module modules/mod_WebObjects.so

# Path to the Document Root of your Webserver,
# it should contain a directory named WebObjects
WebObjectsDocumentRoot c:/apache/htdocs

# You can change the 'cgi-bin' part of WebObjectsAlias to whatever you
# prefer (such as Apps), but the 'WebObjects' part is required.
WebObjectsAlias /Apps/WebObjects

# Here are the 3 possible configuration modes.
# The apache module uses one of them to get information
# about your deployed applications.
# 1085 is the reserved port on which wotaskd processes listen to by default.

# Host List Configuration
# wotaskd is started automatically on supported platforms,
# so this is the default mode.
# The apache module gets its configuration from the wotaskds
# listed on the configuration line
# For multiple hosts:
# WebObjectsConfig http://<name-of-a-host>:<port-on-a-host>,http://<name-of-another-host>:<port-on-a-host> <interval>
# For localhost:
WebObjectsConfig http://localhost:1085 10

# Multicast Configuration
# The apache module gets its configuration from all wotaskds
# that respond to the multicast call on the subnet
# WebObjectsConfig webobjects://239.128.14.2:1085 10

# File Configuration
# The apache module gets its configuration from one file
# WebObjectsConfig file://<path-to-a-xml-config-file> 10

# To enable public access to the WOAdaptorInfo page, uncomment the following line
# WebObjectsAdminUsername public

# To enable the WOAdaptorInfo page with restricted access,
# uncomment the next two lines and set the user and password
# To access the WOAdaptorInfo page with restricted access,
# use a URL like: http://webserver/cgi-bin/WebObjects/WOAdaptorInfo?user+password.
# WebObjectsAdminUsername user
# WebObjectsAdminPassword password

# To change the logging options, read the following comments:
# The option name is "WebObjectsLog" and the first value indicates the path of the log file.
# The second value indicates the log level. There are five, in decreasing informational order:
# "Debug",    "Info",    "Warn",    "Error",    "User"
#
# Note: To enable logging, touch '/tmp/logWebObjects' as the administrator user (usually root).
#
# The following line is the default:
# WebObjectsLog /Library/WebObjects/Logs/WebObjects.log Debug

You had to restart your Apache Service to apply your changes.

Installing WOTaskDaemon as a Windows Service

To install wotaskd as a Window service you need a third party tool.
In example you can use FireDaemon and add a new Service:
Executable: C:ppleibraryebObjectsavaApplicationsotaskd.woaotaskd.CMD
Working Directory:C:ppleibraryebObjectsavaApplicationsotaskd.woa

(If someone find a freeware doing the same, please let us know)

To test the system you can also install WO Monitor as a service:
Executable: C:ppleibraryebObjectsavaApplicationsavaMonitor.woaavaMonitor.CMD
Working Directory:C:ppleibraryebObjectsavaApplicationsavaMonitor.woa

Testing the installation

Now that everything should be set up properly, it is time for a small test. First, let's look if wotaskd is working.

Open a browser and go to http://<myhost>:1085If it works, you should see the host's configuration displayed in the browser. Now, start WOMonitor (double click on ...avaMonitor.woaavaMonitor.CMD) if it is not already running as a service.
Wait a few seconds, then point the browser to http://<myhost>:56789

You should see Monitor's main window. Now you can start deploying your applications.