[Lenya Wiki] Update of "HowToJettyInstall" by PetteriSu lonen

Apache Wiki <[email protected]>
Newsgroups gmane.comp.cms.lenya.devel
Message-ID <[email protected]>
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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.