Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Lenya Wiki" for change 
notification.

The "HowToJettyInstall" page has been changed by PetteriSulonen.
http://wiki.apache.org/lenya/HowToJettyInstall

--------------------------------------------------

New page:
= Running Lenya 2 in Jetty 6 with Apache 2 =
While the standalone build of Lenya is good to get started with, it's not 
really good enough for most production uses. This how-to explains how you can 
set up Lenya under a more typical production configuration, using Jetty 6 and 
Apache 2. The example commands are from Debian-style Linux distros; replace 
with your own if you're not on one.

== 1. Set up the environment ==
 1. Install Java 6 JDK from Sun. OpenJDK isn't fully compatible with Batik, the 
image processing library used in Lenya:
  . # aptitude install sun-java6-jdk

 1. Install Jetty:
  . # aptitude install jetty

 1. Install Apache 2:
  . # aptitude install apache2

 1. Make sun-java your default JVM:
  . Go to JAVA_HOME, e.g. /usr/lib/jvm and # ln -s java-6-sun default-java

 1. Test run Jetty.
  . # /etc/init.d/jetty start

...and surf to localhost:8080 (or whichever port Jetty is set to run on; some 
default installs have it at 8280).

'''Note: '''I had a problem with a misconfiguration out of the box; I had to 
comment out the line /etc/jetty/jetty-shared-webapps.xml in 
/usr/share/jetty/etc/jetty.conf. YMMV.

== 2. Set up Lenya ==
 1. Build Lenya as per the instructions. Standalone or .war, doesn't matter.
 1. Put lenya.war or [LENYA_SRC]/build/lenya/webapp under [JETTY_HOME]/webapps 
(rename webapp to lenya).
 1. Copy or link 
[LENYA_SRC]/externals/cocoon_2_1_x/lib/endorsed/jakarta-regexp-1.5.jar under 
[JETTY_HOME]/lib/ext (or put it elsewhere on your classpath).

Start Jetty and surf to http://locahost:8080/lenya/. You should see the Lenya 
homepage.

== 3. Set up the proxy directives: ==
 1. Enable mod_proxy and mod_proxy_http in Apache. For example, go to 
/etc/apache2/mods-enabled, and symlink to ../mods-available/proxy.load, 
../mods-available proxy.conf, and ../mods-available/proxy_http.load.
 1. Add your proxy confs to /etc/apache2/mods-available/proxy.conf.

'''Note: '''There are lots and lots of ways to set up apache2; this is sort of 
the simplest case. Check the httpd documentation for more.

Mine looks something like this (replace YOURPUB with your publication, 
naturally):

{{{
<IfModule mod_proxy.c>

# Turn off support for true Proxy behaviour as we are acting as
# a transparent proxy

ProxyRequests Off

# Turn off VIA header as we know where the requests are proxied

ProxyVia Off

# Turn on Host header preservation so that the servlet container
# can write links with the correct host and rewriting can be avoided.

ProxyPreserveHost On

# Set the permissions for the proxy

<Proxy *>
  AddDefaultCharset off
  Order deny,allow
  Allow from all
</Proxy>

# Turn on Proxy status reporting at /status
# This should be better protected than: Allow from all

ProxyStatus On

<Location /status>
  SetHandler server-status
  Order Deny,Allow
  Allow from all
</Location>

# Make the domain root go to the 'live' area of the YOURPUB publication
ProxyPass '' http://localhost:8080/lenya/YOURPUB/live

# Find the base resources used for authoring
ProxyPass /lenya http://localhost:8080/lenya

# Shorten the URL for authoring
ProxyPass /authoring http://localhost:8080/lenya/YOURPUB/authoring

# Lenya sets a session cookie for /lenya, but we need it at /
ProxyPassReverseCookiePath /lenya /

</IfModule>
}}}
Note the !ProxyPassReverseCookiePath directive -- you need one if you mess with 
the URI paths as above.

== 3. Configure your publication for these proxies ==
Edit [YOURPUB_HOME]/config/publication.xml and add the following to the 
<proxies> node:

{{{
<proxy area="live" ssl="false" url=""/>
<proxy area="authoring" ssl="false" url="/authoring"/>
}}}
You can also use full URL's, including the scheme and the domain, for the url 
attributes.

And that's about it.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to