Version 32.1 by sklein on 2010/09/23 07:07

Show last authors
1 = Overview =
2
3 Howto deploy WebObjects 5.3 or 5.4 under Windows
4
5 = What you need =
6
7 * Windows 2003 Server; WIndows 2008 R2; Windows XP Professional
8 * Apache 2.2
9 * Java 1.5
10 * a Mac with WebObjects 5.3 or 5.4 installed
11
12 = Install Java and Apache =
13
14 * download and install [[Java 1.5>>http://java.sun.com/javase/downloads/previous.jsp]] (you had to install the multilingual option).
15 * download and install [[apache 2.2>>http://httpd.apache.org]]
16
17 = Copy WebObjects files from your Mac =
18
19 In this description WebObjects will be installed on drive C: and apache is located under c:/apache.
20
21 Create the following directory tree under Windows
22
23 {{code}}
24
25 C:/Apple
26 Library
27 Frameworks
28 WebObjects
29 Configuration
30 JavaApplications
31 Local
32 Library
33 Frameworks
34 WebObjects
35 Applications
36 Configuration
37 Extensions
38
39 {{/code}}
40
41 Copy the listed Frameworks from /System/Library/Frameworks to C:/Apple/Frameworks:
42
43 {{code}}
44
45 JavaDirectToWeb.framework
46 JavaDTWGeneration.framework
47 JavaEmbedding.framework
48 JavaEOAccess.framework
49 JavaEOApplication.framework
50 JavaEOControl.framework
51 JavaEODistribution.framework
52 JavaEOGeneration.framework
53 JavaEOInterface.framework
54 JavaEOInterfaceCocoa.framework
55 JavaEOInterfaceSwing.framework
56 JavaEOProject.framework
57 JavaEORuleSystem.framework
58 JavaEOTool.framework
59 JavaFoundation.framework
60 JavaFrameEmbedding.framework
61 JavaJDBCAdaptor.framework
62 JavaJNDIAdaptor.framework
63 JavaWebObjects.framework
64 JavaWebServicesClient.framework
65 JavaWebServicesGeneration.framework
66 JavaWebServicesSupport.framework
67 JavaWOExtensions.framework
68 JavaWOJSPServlet.framework
69
70 {{/code}}
71
72 {{panel}}
73
74 *Note on copying Frameworks :*
75 On MacOSX Frameworks are "versioned" using the symbolic link trick, this doesn't work on windows.
76 Once copied, check for each framework that the "Resources" and "WebServerResources" folders are on the top of the ".framework" directory and not
77 in a subdirectory (usually "Verisions\A\")
78
79 {{/panel}}
80
81 Copy JavaMonitor.woa and wotaskd.woa from /System/Library/WebObjects/JavaApplications to c:/Apple/Library/JavaApplications
82
83 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.
84
85 If you are installing WebObjects 5.3 copy /System/Library/PrivateFrameworks/ to C:/Apple/Library
86
87 At least copy the jar files from /Library/WebObjects/Extensions to c:/Apple/Local/Library/WebObjects/Extensions.
88
89 {{code}}
90
91 axis.jar
92 axis-ant.jar
93 commons-discovery-0.2.jar
94 commons-logging-1.0.4.jar
95 derby.jar
96 derbyclient.jar
97 jaxrpc.jar
98 log4j-1.2.14.jar
99 saaj.jar
100 serializer.jar
101 servlet.jar
102 wsdl4j-1.5.1.jar
103 xalan.jar
104 xercesImpl.jar
105 xml-apis.jar
106
107 {{/code}}
108
109 = Add environment variable =
110
111 Under "System" add the environment variable NEXT//ROOT = C:/Apple//
112
113 = Installing the Apache Adaptor =
114
115 Copy the [[mod//WebObjects.so//>>http://webobjects.mdimension.com/wonder/mod_WebObjects/Apache2.2/windows/mod_WebObjects.so]] file to c:/apache/modules
116
117 {{info title="Hint"}}
118
119 In some cases apache won't launch on a Windows Server system with this module.
120 In this case you should install the .Net Framework (3.x) on your system.
121
122 {{/info}}
123
124 = Configuring Apache =
125
126 Open the httpd.conf file in c:/apache/conf and search for the line "LoadModule rewrite//module modules/mod//rewrite.so" and put the following
line right befor that:
127
128 {{code}}
129
130 LoadModule WebObjects_module modules/mod_WebObjects.so
131
132 {{/code}}
133
134 At the end of the httpd.conf file add the following lines:
135
136 {{code}}
137
138 # WebObjects 5.4: Enable the WebObjects module. loadModule should be added before mod_rewrite
139 Include conf/extra/httpd-webobjects.conf
140
141 {{/code}}
142
143 Find the <Directory /> entry and comment out the last two lines
144
145 {{code}}
146
147 <Directory />
148 Options FollowSymLinks
149 AllowOverride None
150 # Order deny,allow
151 # Deny from all
152 </Directory>
153
154 {{/code}}
155
156 Create the file httpd-webobjects.conf in your c:/apache/conf/extra folder:
157
158 {{code}}
159
160 # WebObjects 5.4: Enable the WebObjects module. Should be loaded before mod_rewrite
161 # LoadModule WebObjects_module modules/mod_WebObjects.so
162
163 # Path to the Document Root of your Webserver,
164 # it should contain a directory named WebObjects
165 WebObjectsDocumentRoot c:/apache/htdocs
166
167 # You can change the 'cgi-bin' part of WebObjectsAlias to whatever you
168 # prefer (such as Apps), but the 'WebObjects' part is required.
169 WebObjectsAlias /Apps/WebObjects
170
171 # Here are the 3 possible configuration modes.
172 # The apache module uses one of them to get information
173 # about your deployed applications.
174 # 1085 is the reserved port on which wotaskd processes listen to by default.
175
176 # Host List Configuration
177 # wotaskd is started automatically on supported platforms,
178 # so this is the default mode.
179 # The apache module gets its configuration from the wotaskds
180 # listed on the configuration line
181 # For multiple hosts:
182 # WebObjectsConfig http://<name-of-a-host>:<port-on-a-host>,http://<name-of-another-host>:<port-on-a-host> <interval>
183 # For localhost:
184 WebObjectsConfig http://localhost:1085 10
185
186 # Multicast Configuration
187 # The apache module gets its configuration from all wotaskds
188 # that respond to the multicast call on the subnet
189 # WebObjectsConfig webobjects://239.128.14.2:1085 10
190
191 # File Configuration
192 # The apache module gets its configuration from one file
193 # WebObjectsConfig file://<path-to-a-xml-config-file> 10
194
195 # To enable public access to the WOAdaptorInfo page, uncomment the following line
196 # WebObjectsAdminUsername public
197
198 # To enable the WOAdaptorInfo page with restricted access,
199 # uncomment the next two lines and set the user and password
200 # To access the WOAdaptorInfo page with restricted access,
201 # use a URL like: http://webserver/cgi-bin/WebObjects/WOAdaptorInfo?user+password.
202 # WebObjectsAdminUsername user
203 # WebObjectsAdminPassword password
204
205 # To change the logging options, read the following comments:
206 # The option name is "WebObjectsLog" and the first value indicates the path of the log file.
207 # The second value indicates the log level. There are five, in decreasing informational order:
208 # "Debug", "Info", "Warn", "Error", "User"
209 #
210 # Note: To enable logging, touch '/tmp/logWebObjects' as the administrator user (usually root).
211 # Under Windows create c:\TEMP\logWebObjects
212
213 # The following line is the default:
214 # WebObjectsLog /Library/WebObjects/Logs/WebObjects.log Debug
215
216 {{/code}}
217
218 You had to restart your Apache Service to apply your changes.
219
220 = Installing WOTaskDaemon as a Windows Service =
221
222 === Using Microsoft Windows 2003 resource kit ===
223
224 Microsoft provides free tools to register applications as services : instsrv and srvany.
225 Both are bundled with "Microsoft Windows 2003 resource kit" which can be downloaded&nbsp;[[here>>http://www.microsoft.com/downloads/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en]].
226
227 Below a quick translation of the&nbsp;[[KB469536>>http://support.microsoft.com/kb/469536/fr]] which describes their usage :
228
229 First create a new service using instsrv that refers to the srvany executable
230
231 {{code}}
232
233 C:\>C:\Program Files\Windows Resource Kits\Tools\Instsrv WOTaskD C:\Program Files\Windows Resource Kits\Tools\srvany.exe
234
235 {{/code}}
236
237 Then fire regedit and navigate to **HKEY//LOCAL//MACHINEYSTEMurrentControlSetervicesOTaskD**
238 Add a sub-key named "Parameters".
239 In this sub-key add a new REG//SZ key named "Application" and put the path of the WOTaskD.cmd file.//
240
241 Your reg key should now look like below :
242 [[image:wotaskd_reg.png||border="1"]]
243 To try your newly created service simply start it by typing :
244
245 {{code}}
246
247 C:\>net start WOTaskD
248
249 {{/code}}
250
251 === ===
252
253 You should be aware that srvany is just a laucher, this means that the "service" has no control over WOTaskD's sub-processes:
254 stopping the service has no effect on WOTaskD. For now the only solution I found is to use the following lines in a cmd file :
255
256 {{code}}
257
258 net stop apache2.2
259 net stop wotaskd
260 taskkill /F /IM java.exe /T
261
262 {{/code}}
263
264 === Using FireDameon ===
265
266 You can use FireDaemon and add a new Service:
267 Executable: C:ppleibraryebObjectsavaApplicationsotaskd.woaotaskd.CMD
268 Working Directory:C:ppleibraryebObjectsavaApplicationsotaskd.woa
269
270 To test the system you can also install WO Monitor as a service:
271 Executable: C:ppleibraryebObjectsavaApplicationsavaMonitor.woaavaMonitor.CMD
272 Working Directory:C:ppleibraryebObjectsavaApplicationsavaMonitor.woa
273
274 = **Testing the installation** =
275
276 Now that everything should be set up properly, it is time for a small test. First, let's look if wotaskd is working.
277
278 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.
279 Wait a few seconds, then point the browser to http:~/~/<myhost>:56789
280
281 You should see Monitor's main window. Now you can start deploying your applications.