File: install.html

package info (click to toggle)
cocoon 1.8-1
  • links: PTS
  • area: contrib
  • in suites: woody
  • size: 12,016 kB
  • ctags: 3,793
  • sloc: xml: 16,682; java: 8,089; sh: 174; makefile: 61
file content (865 lines) | stat: -rw-r--r-- 33,095 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
<HTML><HEAD><TITLE>Installing Cocoon</TITLE><LINK href="resources/simple.css" rel="stylesheet" title="Simple Style" type="text/css"></HEAD><BODY><P class="legal">Cocoon Documentation</P><H1 class="title">Installing Cocoon</H1><DOCUMENT>
 

 <BODY>

 <H1>System Requirements</H1><DIV id="s1">
  <P>
   Cocoon requires the following systems to be already installed in your
   system:
  </P>

  <UL>
   <LI><STRONG>Java Virtual Machine</STRONG>
    A Java 1.1 or greater compatible virtual machine must be present for both
    command-line and servlet usage of Cocoon. Note that all servlet engines
    require a JVM to run so if you are already using servlets you already have
    one installed.
   </LI>
   <LI><STRONG>Servlet Engine</STRONG>
    A Servlet 2.x compliant servlet engine  must be present in order to support
    servlet operation and dynamic request handling. Note that this requirement
    is optional for command-line operation.
   </LI>
  </UL>
 </DIV>

 <H1>Required Components</H1><DIV id="s1">
  <P>
   Cocoon is a publishing framework and was designed to be highly modular to
   allow users to choose their preferred implementation for the required
   component and to allow better and faster parallel development.
  </P>

  <P>
   Previous releases of Cocoon forced you to download all the basic required
   packages for the installation, but this generated lots of problems due to
   lack of synch between the projects and the complexity of the operation.
   For this reason, Cocoon now ships with all the <EM>required</EM> packages,
   (but not the optional packages),
   a sort of a simple distribution to make things easier for you. We apologize
   for the increased size of the distribution, but we think this will be
   worthwhile even for users with low bandwidth.
  </P>

  <P>
   In the <CODE>/bin</CODE> directory you'll find the <CODE>cocoon.jar</CODE>
   jar package that contains the Cocoon binary files, while the <CODE>/lib</CODE>
   directory contains all the libraries required for Cocoon operation.
   While these packages may not be the most up-to-date versions, they are
   guaranteed and tested to work properly with Cocoon so, we suggest that you
   use them. Note, however, that they were all redistributed untouched from
   their original distributions.
  </P>

  <P>
   <STRONG>If you use Java 1.2 or greater</STRONG>, you also have to treat the file
   <CODE>[jdk_home]/lib/tools.jar</CODE> as another Cocoon component and include
   this into your classpath. This package contains the java compiler that
   is required for Cocoon page compilation.
  </P>

  <P class="note">
   The Ant and Stylebook packages are only used in the build system and
   are <STRONG>not</STRONG> used by Cocoon at run-time. So you can safely
   ignore them in the installation.
  </P>
 </DIV>

 <H1>Installing Cocoon</H1><DIV id="s1">
  <P>
   As Cocoon is a servlet (albeit a large servlet!), you should be able to
   install it on every compliant servlet engine by associating the
   &quot;org.apache.cocoon.Cocoon&quot; servlet
   with the requests you want it to handle. In order to do this, there is no
   standard way, so we try to provide detailed information for the most used
   servlet systems.
  </P>

  <P class="note">
   If you have any problems, please look at the 
   FAQ before submitting a bug
   report or a request for help on the mailing lists. Thank you.
  </P>

  <H2>Installing Cocoon on Apache JServ</H2><DIV id="s2">
   <P>
    The first thing to do is to make sure that Cocoon and all the needed
components
    (as explained in the previous section) are visible to the JVM. This
    means adding
    the following to the servlet engine classpath by adding a bunch of
classpath lines
    to your <CODE>jserv.properties</CODE> file for each jar package.
   </P>

<PRE>wrapper.classpath=[path-to-jar]/[jar-name].jar</PRE>

   <P>
    Here is an example:
   </P>

<PRE>
wrapper.classpath=/usr/local/java/jdk/lib/tools.jar
wrapper.classpath=/usr/local/java/cocoon/bin/cocoon.jar
wrapper.classpath=/usr/local/java/cocoon/lib/xerces.jar
wrapper.classpath=/usr/local/java/cocoon/lib/xalan.jar
wrapper.classpath=/usr/local/java/cocoon/lib/fop.jar
...
</PRE>

   <P class="note">
    The <CODE>./bin/cocoon.jar</CODE> package <STRONG>must</STRONG> be added to the
    servlet engine classpath in order for the XSP subsystem to work correctly.
    We understand that this could be a flexibility limitation. 
    On JServ it is not yet possible to run
    multiple instances of Cocoon in the same virtual machine - if you
    would like to do that, try using a different servlet engine.
   </P>

   <P class="note">
    JServ is a Servlet 2.0 compliant servlet engine and will not work if you
    place the Servlet_2.2.jar in its classpath. So ignore the servlet_2.2.jar
    package that is shipped with Cocoon if you use Jserv.
   </P>

   <P>
    At this point, you must set the Cocoon configuration. To do this, you
    must choose the servlet zone(s) where you want Cocoon to reside.
    If you don't know what a servlet zone is, open the
    <CODE>zone.properties</CODE> file.
   </P>

   <P>
    To configure Cocoon, you must pass the <CODE>cocoon.properties</CODE>
    file location to the servlet by adding the following line to the servlet zone:
   </P>

   <PRE>servlet.org.apache.cocoon.Cocoon.initArgs=properties=[path-to-cocoon]/bin/cocoon.properties</PRE>

   <P>
    where [path-to-cocoon] is an <EM>absolute</EM> path.
   </P>

   <P>
    Note that you should not need to change anything from the template
    properties file found in the distribution (under <CODE>/conf/</CODE>),
    but you must edit it for more complex operation. Please refer directly to
    that file, which contains brief indications and comments on the
    different configurations (but you don't need to care about that at
    this point).
   </P>

   <P>
    Now your cocoon servlet is properly configured, but you should tell Apache
    to direct any call to an XML file (or any other file you want Cocoon to
    process) to the Cocoon servlet. To do this, you should add the following
    line to your <CODE>jserv.conf</CODE> file:
   </P>

<PRE>Action cocoon /servlet/org.apache.cocoon.Cocoon
AddHandler cocoon xml</PRE>

   <P>
    where <EM>xml</EM> is the file extention you want Cocoon to handle
    and <EM>/servlet/</EM> is the mount point of your servlet zone (and the
    above is the standard name for servlet mapping for Apache JServ).
   </P>

   <P>
    If you haven't already got the Actions module compiled in to Apache
    (<STRONG>note - this is compiled in by default in standard installs</STRONG>),
    you will need to have the following line uncommented in your
    <CODE>httpd.conf</CODE> or Apache will not be able to start:
   </P>

<PRE>LoadModule action_module /path/to/mod_actions.so</PRE>

   <P>
    Restart both Apache and Apache JServ and try accessing the Cocoon 
    status page:
   </P>

<PRE>http://localhost/Cocoon.xml</PRE>

   <P>
    Cocoon will show you how it's configured.
   </P>

   <P>
    If the page above is working, make the samples contained in the distribution
    (under <CODE>./samples</CODE>) visible from your web server (by either
    copying the files under yout <CODE>htdocs</CODE> directory, or by making
    at alias for the sample directory) and call <CODE>./samples/index.xml</CODE>
    to see Cocoon in action.
   </P>

   <P class="note">
    If you have any problems, please look at the 
    FAQ before submitting a bug
    report or a request for help on the mailing lists. Thank you.
   </P>
  </DIV>

  <H2>Installing Cocoon on Apache Tomcat</H2><DIV id="s2">
   <P>
    To make Cocoon work with Tomcat, you must add a context to Tomcat that describes
    to Tomcat how to load Cocoon files. Then you must tell Apache to send 
    certain requests to Tomcat (and consequently Cocoon). Finally you must 
    provide the .xml files to be served by Cocoon. These steps are outlined below.
   </P>

   <P>
    A context in Tomcat describes to Tomcat how and when to load a particular servlet
    and Cocoon is one such servlet. First we need to make sure that Tomcat knows how to
    load the Cocoon .jar files. To begin with, you must copy any .jar files from
    <CODE>$COCOON_HOME/lib</CODE> to <CODE>$TOMCAT_HOME/lib</CODE> that are necessary for Cocoon to run.
    In addition, you must copy <CODE>$COCOON_HOME/bin/cocoon.jar</CODE> to <CODE>$TOMCAT_HOME/lib</CODE>.
   </P>
 
   <P>
    In recent versions of Tomcat under Unix, Tomcat will automatically
    detect any <CODE>.jar</CODE> files
    in the <CODE>$TOMCAT_HOME/lib</CODE> directory. But under Windows, you must explicitly add the new
    <CODE>.jar</CODE> files in the appropriate place in the file <CODE>$TOMCAT_ROOT/bin/tomcat.bat</CODE>.
   </P>
 
   <P>
    Next you must tell Tomcat about the new context which will run Cocoon requests. To do
    this edit the file <CODE>$TOMCAT_HOME/conf/server.xml</CODE> and add the following line:
   </P>
 
 <PRE>
 &lt;Context path=&quot;/cocoon&quot; docBase=&quot;webapps/cocoon&quot; debug=&quot;0&quot; reloadable=&quot;true&quot; &gt;
 &lt;/Context&gt;
 </PRE>
 
      <P>
      This tells Tomcat that requests that come in under that partial path &quot;/cocoon&quot; should
      be mapped to the context defined in the directory &quot;webapps/cocoon&quot;. We will set that up
      shortly.
      </P>

     <P>
      Next, if using Apache with Tomcat (which is recommended on a production server, since Tomcat standalone
      is not yet as efficient or robust - Apache is far more mature!)
      we need to tell Apache to forward the same partial pathnames to Tomcat. This is done
      by editing the tomcat <CODE>.conf</CODE> file (it's called <CODE>tomcat-apache.conf</CODE> if you're using Tomcat 3.1 and
      Apache 1.3.12) in your Apache setup. Add the following lines:
     </P>

 <PRE>
 Alias /cocoon $TOMCAT_HOME/webapps/cocoon
 &lt;Directory &quot;$TOMCAT_HOME/webapps/cocoon&quot;&gt;
     Options Indexes FollowSymLinks
 &lt;/Directory&gt;
 ApJServMount /cocoon /cocoon
 &lt;Location /cocoon/WEB-INF/ &gt;
     AllowOverride None
     deny from all
 &lt;/Location&gt;
 </PRE>

      <P>
      This tells Apache to direct requests that come in under that partial path &quot;/cocoon&quot; to
      the directory under Tomcat (<CODE>$TOMCAT_HOME/webapps/cocoon</CODE>).
      </P>

     <P>
      Finally, we need to set up the actual context that we have defined and pointed requests
      to above. To do this, we need to create a new directory in webapps called cocoon. Then
      we need to make a sub-directory that describes to Tomcat how to map particular files to
      Cocoon, then we need to fill the sub-directory with our Cocoon source files (<CODE>.xml</CODE> files).
     </P>

     <P>
      First make a directory and its subdirectory:
     </P>

 <PRE>
 mkdir $TOMCAT_HOME/webapps/cocoon
 mkdir $TOMCAT_HOME/webapps/cocoon/WEB-INF
 </PRE>

     <P>
      Next copy the template files from the Cocoon distribution:
     </P>

 <PRE>
 cp $COCOON_HOME/src/WEB-INF/web.xml $TOMCAT_HOME/webapps/cocoon/WEB-INF
 cp $COCOON_HOME/conf/cocoon.properties $TOMCAT_HOME/webapps/cocoon/WEB-INF
 </PRE>
 
     <P>
      Next you need to edit the <CODE>$TOMCAT_HOME/webapps/WEB-INF/web.xml</CODE> file to point to the
      Cocoon properties file in the same directory. Do this by changing the text
      <CODE>conf/cocoon.properties</CODE> to <CODE>WEB-INF/cocoon-properties</CODE>. Note that this path is a relative
      path must be so. Don't try to use an absolute path here. It won't work. Also note that
      the web.xml file describes how to map .xml requests to the Cocoon servlet.
     </P>
 
     <P>
      Next you need to populate the cocoon context with source <CODE>.xml</CODE> files. For testing purposes
      you can just use the samples that come along with Cocoon.
     </P>
 
  <PRE>
 cp -R $COCOON_HOME/samples $TOMCAT_HOME/webapps/cocoon/servlets
  </PRE>
 
      <P>
      Finally, you need to stop Tomcat, stop Apache, then restart the two in order to make
      all of the new settings load. You should be able to access pages like 
      http://localhost/cocoon/Cocoon.xml and http://localhost/cocoon/servlets/index.xml
     </P>
 
 
   <P class="note">
    Make sure that <CODE>xerces.jar</CODE> is located <STRONG>before</STRONG> 
    <CODE>xml.jar</CODE> otherwise XSP won't work. To do this, rename 
    <CODE>xml.jar</CODE> as <CODE>zxml.jar</CODE> to be placed later in
    alphabetical order.
   </P>

   <P class="note">
    If you have any problems, please look at the 
    FAQ before submitting a bug
    report or a request for help on the mailing lists. Thank you.
   </P>
  </DIV>

<H2>Installing Cocoon on New Atlanta's ServletExec 2.2</H2><DIV id="s2">

<P>After you have obtained all the jar packages you need
(see the above section), you should add
them to your <CODE>Classpath.pref</CODE> file.
Then, add this to the <CODE>servlets.properties</CODE> file:</P>

<PRE>servlet.Cocoon.code=org.apache.cocoon.Cocoon
servlet.Cocoon.initArgs=properties=/web/var/tmp/cocoon/cocoon.properties
</PRE>

<P>and this to the <CODE>rules.properties</CODE> file:</P>

<PRE>*.xml=Cocoon</PRE>

<P>
to provide the initArgs and extension association for Cocoon.  Once
the web server is restarted to pick up the new configuration,
everything should work ok - try accessing the samples contained in the
distribution to see Cocoon in action or the /Cocoon.xml page for
Cocoon internal status.
</P>

<P>
You could also make these three configuration changes via
 the servlet/admin GUI interface if you're not into editing files.
</P>

</DIV>

  <H2>Installing Cocoon on BEA WebLogic (version 4.5.1)</H2><DIV id="s2">
   <P>
    After you have obtained all the jar packages you need (see the above
    section), you should add all of them (included the <CODE>cocoon.jar</CODE>
    package to your <CODE>weblogic.class.path</CODE> variable either
    using the <EM>t3config</EM> utility or use the <CODE>-Dweblogic.class.path</CODE>
    argument with the java runtime that invokes the system.
   </P>
   <P>
    Once you've done that, you should register Cocoon by adding these lines
    to your configuration files:
   </P>
<PRE>weblogic.httpd.register.*.xml=\org.apache.cocoon.Cocoon
weblogic.httpd.initArgs.*.xml=\properties=[path-to-cocoon]/bin/cocoon.properties</PRE>
   <P>
    making sure that you replaced <EM>[path-to-cocoon]</EM> with the actual
    path in your system.
   </P>

   <P>
    At this point, you should check if your system matches the global
    considerations about Cocoon properties. Usually, you might want to give
    the installation a try as it is and then read again that section if
    something goes wrong. Most installations don't need any changes to
    be operational.
   </P>

   <P>
    Everything should be configured fine. Restart Weblogic
    and try accessing the samples contained in the distribution to see
    Cocoon in action or the <CODE>/Cocoon.xml</CODE> page for Cocoon internal
    status.
   </P>

  </DIV>
  
<H2>Installing Cocoon on BEA WebLogic (version 5.1)</H2><DIV id="s2">
 <P>WLS 5.1 implements Servlet 2.2. so it plugs in easily. Here's a quick recipe:</P>

 <UL>
  <LI>Add the xerces, xalan, fop, servlet, and cocoon JAR files (from the
   distribution) to your CLASSPATH. (See below). If you're using Java
   2, you should also add the tools.jar file from the JDK distribution
   to your CLASSPATH.</LI>
  <LI>Create a new subdirectory tree of your WLS run time directory
   &quot;cocoonwar/WEB-INF&quot; and copy the default web.xml file (from the
   src directory of the distribution) there.</LI>
  <LI>Copy the cocoon.properties from the conf directory of the
   distribution to cocoonwar/WEB-INF and updated the web.xml file to 
   refer to it.</LI>
  <LI>Copy the samples directory from the distribution to cocoonwar</LI>
  <LI>Map the web application into the WLS URI name space by adding the
   following line to your weblogic.properties file: <CODE>weblogic.httpd.webApp.cocoon=cocoonwar</CODE>
  </LI>
 </UL>

 <P>Start WLS, point your browser at <EM>http://localhost:7001/cocoon/samples/index.xml</EM>
 and away you go.</P>

 <H3>Classpaths and XSP</H3><DIV id="s3">
 
 <P>To support hot deployment of EJB's and Servlets, WebLogic Server
  uses its own class loader with its own classpath (the &quot;WebLogic
  classpath&quot;). Normally you'd put all the WebLogic Server container
  code, JDBC drivers, etc. in your Java CLASSPATH (so that WebLogic
  Server can start up) and add all your application code (stuff that
  needs to be able to be redeployable) to the WebLogic classpath.</P>

  <P>Cocoon is effectively &quot;container&quot; code, and the XSP processor uses
  dynamic classloading which only understands the Java CLASSPATH, so
  you should put all of the Cocoon jars in CLASSPATH.</P>

  <P>The big problem with this is that you can't use any code that loads
  from the WebLogic classpath within XSP's. This includes all of the
  WebLogic API, so is a PITA. To overcome this, either the way Cocoon
  loads classes needs to be modified, or the
  WebLogic Server class loader needs to be disabled (in which case you
  have to be willing to live without hot redeployment).</P>

  <P>To disable the WebLogic class loader, put your application classes,
  the Cocoon jars and <EM>all</EM> of the WebLogic Server stuff into the Java
  CLASSPATH, and add</P>

  <PRE>-Dweblogic.system.disableWeblogicClassPath=true</PRE>

  <P>to the Java command at the end of you WebLogic start script.</P>
 </DIV>

 <P>The above will also work for installing Cocoon in the BEA WebLogic
 Enterprise 5.1 J-Engine.</P>

</DIV>

  <H2>Installing Cocoon on JRun</H2><DIV id="s2">
   <P>
     To configure JRun, you must set up both JRun and the web server
     of your choice to work with Cocoon.  We assume that you already
     have a generic JRun installation that works with your web server.
   </P>
   <P>
     For the JRun portion, you must add all Cocoon jars to the java.classpath
     in [jrun-home]/jsm-default/properties with something like:
   </P>
<PRE>java.classpath=[previous jrun jars]:[cocoon-home]/lib/xerces.jar:
[cocoon-home]/lib/stylebook.jar:[cocoon-home]/lib/fop.jar:
[cocoon-home]/bin/cocoon.jar:[cocoon-home]/lib/xalan.jar:
[cocoon-home]/lib/turbine-pool.jar</PRE>
   <P>
    Note that all newlines are added for readability and should not
    actually be in the configuration file.  All jars should be listed
    upon the same line.
   </P>

   <P>
    Now, modify [jrun-home]/jsm-default/services/jse/properties/rules.properties
    and add the line:
   </P>

<PRE>*.xml=org.apache.cocoon.Cocoon</PRE>

   <P>
    In [jrun-home]/jsm-default/services/jse/properties/servlets.properties,
    add the lines:
   </P>

<PRE>servlets.properties:servlet.org.apache.cocoon.Cocoon.code=org.apache.cocoon.Cocoon
servlets.properties:servlet.org.apache.cocoon.Cocoon.args=properties=[cocoon-home]/conf/cocoon.properties
servlets.properties:servlet.org.apache.cocoon.Cocoon.preload=false</PRE>

   <P>
    And finally, change the defaultdocs line in
    [jrun-home]/jsm-default/services/jse/properties/files.properties
    and add &quot;index.xml&quot; so that the line
    looks something like:
   </P>

<PRE>defaultdocs=index.html,index.jsp,index.xml</PRE>

   <P>
     Since JRun is web server independent, you must configure JRun and Cocoon to
     work with your webserver.  Again, we assume that you already have JRun
     installed and working for your particular webserver.  We give
     additional instructions only for making Cocoon work.
   </P>

  <H3>Cocoon with JRun and Apache</H3><DIV id="s3">

   <P>
    Add the following to [apache path]/conf/httpd.conf
   </P>

<PRE>Action cocoon /servlet/org.apache.cocoon.Cocoon
AddHandler cocoon xml
Alias /cocoon/ &quot;[cocoon-home]&quot;</PRE>

   <P>
    The &quot;Alias&quot; line above is optional; but it will make
    testing the setup much easier.  To verify that all is working,
    make sure to test out the XSP demos.  If you get a
    java.lang.NoSuchMethodError: org.w3c.dom.Node error, try moving
    the xerces.jar to the front of JRun's java.classpath, restart
    JRun, and try the XSP again.
   </P>

  </DIV>

  <H3>Cocoon with JRun and other web servers (iPlanet, IIS, etc)</H3><DIV id="s3">
   <P>Add your sucessful installation method here.  Volunteers welcome!</P>
  </DIV>

  </DIV>

  <H2>Installing Cocoon on iPlanet Web Server 4.x</H2><DIV id="s2">
   <P>This has been tested on v4.1 under NT 4.</P>
   
   <H3>If you prefer working with your file editor</H3><DIV id="s3">
    <P>Edit your <CODE>servlets.properties</CODE> file in the config folder 
    of your server (something like <CODE>C:\Netscape\Server4\https-something.somewhere.com\config</CODE>),
    add the following lines:</P>
    
<PRE>servlet.cocoon.code=org.apache.cocoon.Cocoon
servlet.cocoon.initArgs=properties=&lt;yourpath to cocoon&gt;/cocoon/conf/cocoon.properties
</PRE>

    <P>In the <CODE>jvm12.conf</CODE>, add all the needed &quot;.jar&quot; to the <CODE>jvm.classpath</CODE> line 
    and uncomment it. This would make the following line, for example, if you
    installed Netscape on D: drive. (Note: This should be all on one line, but 
    for legibility it is split accross lines.)</P>

    <PRE>jvm.classpath=d:/Netscape/Server4/plugins/samples/servlets/beans.10/SDKBeans10.jar;
d:/Netscape/Server4/plugins/samples/servlets/beans/SDKBeans.jar;
d:/Netscape/Server4/bin/https/jar/Bugbase.jar;
d:/Netscape/Server4/bin/https/jar/Calljsac.jar;
D:/Netscape/Server4/docs/cocoon/bin/cocoon.jar;
D:/Netscape/Server4/docs/cocoon/lib/fop_0_12_1.jar;
D:/Netscape/Server4/docs/cocoon/lib/stylebook-1.0-b2.jar;
D:/Netscape/Server4/docs/cocoon/lib/xalan_1_0_1.jar;
D:/Netscape/Server4/docs/cocoon/lib/xerces_1_0_3.jar
</PRE>

    <P>In the rules.properties file, add the following line (this is made to turn around a regexp bug in iWS):</P>

    <PRE>@.*[.]xml=cocoon</PRE>
   </DIV>

   <H3>If you prefer the GUI interface</H3><DIV id="s3">
    <P>Everything is in the &quot;Servlets&quot; tab of your server setting:</P>
    <OL>
     <LI>You need to set first &quot;Configure Servlet Attributes&quot;. <STRONG>Don't try to set the classpath here</STRONG>. It is of no use :-(</LI>
      <UL>
       <LI>Servlet Name: Cocoon</LI>
       <LI>Servlet Code (class name): org.apache.cocoon.Cocoon</LI>
       <LI>Servlet Args: properties=&lt;yourpath to cocoon&gt;/cocoon/conf/cocoon.properties (This is a disk path)</LI>
      </UL>
     <LI>Then, go to &quot;Configure JVM Attributes&quot; and add to the classpath the
     path to the cocoon jar (like the jvm.classpath value in the above section)</LI>
     <LI>To finish, go to &quot;Configure Servlet Virtual Path Translation&quot; and add
     the rule for &quot;*.xml&quot; to point to cocoon servlet:</LI>
     <UL>
      <LI>Virtual Path: @.*[.]xml</LI>
      <LI>Servlet Name: cocoon</LI>
     </UL>
    </OL>
   </DIV>
  </DIV>

  <H2>Installing Cocoon on other platforms</H2><DIV id="s2">
   <P>Yet to be written! <EM>Volunteers welcome!</EM></P>
  </DIV>

 </DIV>

 <H1>Working Systems</H1><DIV id="s1">
  <P>
   Cocoon 1.x has been reported to be working on these systems:
  </P>

  <TABLE>
  <TR>
   <TH colspan="1" rowspan="1">Operating System</TH>
   <TH colspan="1" rowspan="1">Web Server</TH>
   <TH colspan="1" rowspan="1">Servlet Engine</TH>
   <TH colspan="1" rowspan="1">JVM</TH>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">Debian Potato or Woody</TD>
   <TD colspan="1" rowspan="1">Apache 1.3.12</TD>
   <TD colspan="1" rowspan="1">JServ 1.1.2</TD>
   <TD colspan="1" rowspan="1">IBM JDK 1.1.8 or 1.3</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">RedHat Linux 6.0</TD>
   <TD colspan="1" rowspan="1">Apache 1.3.9</TD>
   <TD colspan="1" rowspan="1">Apache JServ 1.0</TD>
   <TD colspan="1" rowspan="1">IBM JDK 1.1.8</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">RedHat Linux 6.0</TD>
   <TD colspan="1" rowspan="1">Apache 1.3.9</TD>
   <TD colspan="1" rowspan="1">Apache JServ 1.1b3</TD>
   <TD colspan="1" rowspan="1">IBM JDK 1.1.8</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">RedHat Linux 6.0</TD>
   <TD colspan="1" rowspan="1">Apache 1.3.9</TD>
   <TD colspan="1" rowspan="1">Apache JServ 1.0</TD>
   <TD colspan="1" rowspan="1">Blackdown JDK 1.2pre2</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">RedHat Linux 6.1</TD>
   <TD colspan="1" rowspan="1">Apache 1.3.9</TD>
   <TD colspan="1" rowspan="1">JRun 2.3.3</TD>
   <TD colspan="1" rowspan="1">IBM JRE 1.1.8</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">RedHat Linux 6.1 (i686)</TD>
   <TD colspan="1" rowspan="1">Apache 1.3.11</TD>
   <TD colspan="1" rowspan="1">Apache JServ 1.1</TD>
   <TD colspan="1" rowspan="1">Sun JDK 1.2.2</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">RedHat Linux 6.1 (i686)</TD>
   <TD colspan="1" rowspan="1">Apache 1.3.11 + mod_ssl 2.5.0</TD>
   <TD colspan="1" rowspan="1">Apache JServ 1.1</TD>
   <TD colspan="1" rowspan="1">IBM JDK 1.1.8</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">RedHat Linux 6.1</TD>
   <TD colspan="1" rowspan="1">Apache 1.3.12-2</TD>
   <TD colspan="1" rowspan="1">Jserv 1.1.2-2</TD>
   <TD colspan="1" rowspan="1">JDK 1.2.2_006</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">RedHat Linux 6.2 (i686)</TD>
   <TD colspan="1" rowspan="1">Apache 1.3.12 + mod_ssl 2.6.5</TD>
   <TD colspan="1" rowspan="1">JRun 2.3.3</TD>
   <TD colspan="1" rowspan="1">Sun JDK 1.2.2</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">RedHat Linux 6.2</TD>
   <TD colspan="1" rowspan="1">Apache 1.3.12-2</TD>
   <TD colspan="1" rowspan="1">Tomcat 3.1</TD>
   <TD colspan="1" rowspan="1">JDK 1.2.2_006</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">RedHat Linux 6.2 (i686)</TD>
   <TD colspan="1" rowspan="1">Apache 1.3.12</TD>
   <TD colspan="1" rowspan="1">Resin 1.2.b1</TD>
   <TD colspan="1" rowspan="1">Sun JDK 1.2.2</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">SuSE 6.3 Linux</TD>
   <TD colspan="1" rowspan="1">Apache 1.3.9</TD>
   <TD colspan="1" rowspan="1">Apache JServ 1.1</TD>
   <TD colspan="1" rowspan="1">Sun JDK 1.2.2</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">SuSE 7.0 Linux (2.2.16)</TD>
   <TD colspan="1" rowspan="1">Apache 1.3.12</TD>
   <TD colspan="1" rowspan="1">Apache JServ 1.1.2, Tomcat 3.1</TD>
   <TD colspan="1" rowspan="1">IBM JDK 1.3</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">Windows 98</TD>
   <TD colspan="1" rowspan="1">Apache 1.3.9</TD>
   <TD colspan="1" rowspan="1">Apache JServ 1.0</TD>
   <TD colspan="1" rowspan="1">Sun JDK 1.2.2</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">Windows 98</TD>
   <TD colspan="1" rowspan="1">Apache 1.3.9</TD>
   <TD colspan="1" rowspan="1">Apache JServ 1.0</TD>
   <TD colspan="1" rowspan="1">IBM JDK 1.1.7</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">Windows 98</TD>
   <TD colspan="1" rowspan="1">Apache 1.3.9</TD>
   <TD colspan="1" rowspan="1">Apache JServ 1.1b3</TD>
   <TD colspan="1" rowspan="1">Sun JDK 1.2.2</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">Windows 98</TD>
   <TD colspan="1" rowspan="1">Apache 1.3.9</TD>
   <TD colspan="1" rowspan="1">Apache JServ 1.1b3</TD>
   <TD colspan="1" rowspan="1">IBM JDK 1.1.7</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">Windows 98</TD>
   <TD colspan="1" rowspan="1">MS Personal Web Server</TD>
   <TD colspan="1" rowspan="1">ServletExec 2.2</TD>
   <TD colspan="1" rowspan="1">Sun JDK 1.2.1</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">Windows NT 4.0</TD>
   <TD colspan="1" rowspan="1">IIS 4.0</TD>
   <TD colspan="1" rowspan="1">ServletExec 2.2</TD>
   <TD colspan="1" rowspan="1">Sun JDK 1.2.1</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">Windows NT 4.0</TD>
   <TD colspan="1" rowspan="1">IIS 4.0</TD>
   <TD colspan="1" rowspan="1">JRun 2.3.3</TD>
   <TD colspan="1" rowspan="1">Sun JDK 1.2.1</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">Windows NT 4.0</TD>
   <TD colspan="1" rowspan="1">Apache 1.3.9</TD>
   <TD colspan="1" rowspan="1">JRun 2.3.3</TD>
   <TD colspan="1" rowspan="1">Sun JDK 1.2.2</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">Windows NT 4.0</TD>
   <TD colspan="2" rowspan="1">Apache Jakarta Tomcat 3.1 Milestone 1</TD>
   <TD colspan="1" rowspan="1">Sun JDK 1.2.2</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">Windows NT 4.0 SP4</TD>
   <TD colspan="2" rowspan="1">BEA WebLogic Server 5.1 SP3</TD>
   <TD colspan="1" rowspan="1">Sun JDK 1.2.2</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">Windows NT 4.0 SP5</TD>
   <TD colspan="1" rowspan="1">IIS 4.0</TD>
   <TD colspan="1" rowspan="1">Websphere 3.5 Enterprise</TD>
   <TD colspan="1" rowspan="1">IBM JDK 1.2.2</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">Windows NT 4.0 SP6a</TD>
   <TD colspan="1" rowspan="1">Apache 1.3.11</TD>
   <TD colspan="1" rowspan="1">Apache JServ 1.1</TD>
   <TD colspan="1" rowspan="1">Sun JDK 1.2.2</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">Windows 2000 Professional</TD>
   <TD colspan="1" rowspan="1">Apache 1.3.12</TD>
   <TD colspan="1" rowspan="1">Apache JServ 1.1</TD>
   <TD colspan="1" rowspan="1">Sun JDK 1.2.2</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">Windows 2000 Professional</TD>
   <TD colspan="1" rowspan="1">Apache 1.3.12</TD>
   <TD colspan="1" rowspan="1">Tomcat 3.1</TD>
   <TD colspan="1" rowspan="1">Sun JDK 1.3</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">Windows 2000 Advanced Server</TD>
   <TD colspan="2" rowspan="1">Tomcat 3.1</TD>
   <TD colspan="1" rowspan="1">JDK 1.3</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">MacOS 8.5+</TD>
   <TD colspan="2" rowspan="1">Resin 1.1b</TD>
   <TD colspan="1" rowspan="1">MRJ 2.2</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">MacOS 8.6</TD>
   <TD colspan="2" rowspan="1">Tomcat 3.1</TD>
   <TD colspan="1" rowspan="1">MRJ 2.2.2</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">MacOS 8.6</TD>
   <TD colspan="1" rowspan="1">WebSTAR 4.0</TD>
   <TD colspan="1" rowspan="1">JRun 2.3</TD>
   <TD colspan="1" rowspan="1">MrJ 2.1.4</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">MacOS 8.6</TD>
   <TD colspan="1" rowspan="1">WebSTAR 4.0</TD>
   <TD colspan="1" rowspan="1">ServletExec 2.1</TD>
   <TD colspan="1" rowspan="1">Mrj 2.1.4</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">MacOS 8.6</TD>
   <TD colspan="1" rowspan="1">Quid Pro Quo 2.1.3</TD>
   <TD colspan="1" rowspan="1">ServletExec 2.2</TD>
   <TD colspan="1" rowspan="1">Mrj 2.1.4</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">Solaris 2.5.1</TD>
   <TD colspan="1" rowspan="1">Netscape-Enterprise/3.6 SP3</TD>
   <TD colspan="1" rowspan="1">ServletExec 2.2</TD>
   <TD colspan="1" rowspan="1">Sun JDK 1.2.1</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">SunOS Netria 5.6</TD>
   <TD colspan="1" rowspan="1">Apache 1.3.9</TD>
   <TD colspan="1" rowspan="1">Apache JServ 1.1b3</TD>
   <TD colspan="1" rowspan="1">Sun JDK 1.1.7</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">Solaris 8 (SPARC)</TD>
   <TD colspan="1" rowspan="1">Apache 1.3.12</TD>
   <TD colspan="1" rowspan="1">Tomcat 3.1</TD>
   <TD colspan="1" rowspan="1">Sun JDK 1.3 Beta Refresh</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">Solaris 8 (x86)</TD>
   <TD colspan="2" rowspan="1">Resin 1.2.b1</TD>
   <TD colspan="1" rowspan="1">JDK 1.3 beta</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">FreeBSD 3.4</TD>
   <TD colspan="1" rowspan="1">Apache 1.3.9</TD>
   <TD colspan="1" rowspan="1">Apache JServ 1.0</TD>
   <TD colspan="1" rowspan="1">Blackdown JDK 1.1.8</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">FreeBSD 3.4-STABLE with linux_base-6.1 for linux-emulation</TD>
   <TD colspan="2" rowspan="1">Jetty Java HTTP Server v2.3.3</TD>
   <TD colspan="1" rowspan="1">Blackdown jdk-1.2.2-RC4-linux-i386-glibc</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">FreeBSD 4.1 (RELEASE)</TD>
   <TD colspan="1" rowspan="1">Apache 1.3.12</TD>
   <TD colspan="1" rowspan="1">Jserv 1.1.2</TD>
   <TD colspan="1" rowspan="1">Linux JDK 1.2.2</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">SCO OpenServer 5</TD>
   <TD colspan="2" rowspan="1">WebLogic 4.5.1</TD>
   <TD colspan="1" rowspan="1">SCO JDK 1.1.7A</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">OS/2 Warp 4 FP 12</TD>
   <TD colspan="2" rowspan="1">Gefion Software LiteWebServer</TD>
   <TD colspan="1" rowspan="1">IBM JDK 1.1.8</TD>
  </TR>
  <TR>
   <TD colspan="1" rowspan="1">SGI IRIX 6.5.7</TD>
   <TD colspan="1" rowspan="1">Apache 1.3.12</TD>
   <TD colspan="1" rowspan="1">Apache JServ 1.1</TD>
   <TD colspan="1" rowspan="1">Sun JDK 1.2.1 (SGI)</TD>
  </TR>
  </TABLE>

  <P>
   Please, submit your feedback on the
   <A href="mailto:cocoon-users@xml.apache.org">cocoon users mailing list</A>
   (nowhere else!) if
   you were able to install Cocoon on a different combination not listed above.
   Thanks!
  </P>
 </DIV>
</BODY>
</DOCUMENT><P class="legal">Copyright &copy; 1999-2000 The Apache Software Foundation.<BR>All rights reserved.</P></BODY></HTML>