Windows Deployment WO 5.4
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
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.