| How to use Jetty 6.x with Lenya |
| =============================== |
| |
| If you want to play with Lenya in Jetty 6.1.6, please take a look at jetty6.xml |
| and follow the instructions in the comment header. In a nutshell: |
| |
| $LENYA_HOME:> wget http://dist.codehaus.org/jetty/jetty-6.1.6/jetty-6.1.6rc0.zip |
| $LENYA_HOME:> cd tools/ |
| $LENYA_HOME/tools:> unzip ../jetty-6.1.6rc0.zip |
| $LENYA_HOME/tools:> cd jetty-6.1.6 |
| $LENYA_HOME/tools/jetty-6.1.6:> java \ |
| -Xms32M -Xmx512M -Djava.awt.headless=true |
| -Djava.endorsed.dirs="../../build/lenya/webapp/WEB_INF/lib/endorsed/" \ |
| -jar start.jar ../proxytest/jetty6.xml |
| |
| It would be nice to upgrade our included Jetty to 6.x real soon now, since |
| the current version has a broken AJP connector that makes effective proxy |
| testing impossible (it basically means you have to install Tomcat). |
| |
| Note that test-driving Jetty 6.1.6 is orthogonal to proxy testing; the server |
| configuration includes both ajp://localhost:8009 and http://localhost:8888, |
| so you can just drop it in, replacing the old version, without bothering about the |
| proxy stuff. |
| |
| Please follow up on bug |
| http://issues.apache.org/bugzilla/show_bug.cgi?id=43729 |
| with success and problem reports. |
| |
| |
| |
| How to build a proxy test scaffold |
| ================================== |
| |
| The proxy example setting simulates the following situation: |
| |
| * A customer wants a company hostname and URLs without Lenya-specific |
| path components for the live site. |
| |
| * The server uses name-based virtual hosting with just one IP, i.e. |
| there can only be one SSL vhost, which is shared among several |
| customers. This implies the need for sub-directories in the proxy |
| URL. |
| |
| * "authoring" should be ssl-protected. There is no need for a |
| customer hostname here, since it's not publicly visible. |
| |
| * Any SSL-protected documents in "live" can be handled by the SSL |
| vhost (not using the company hostname is ok in this case). |
| |
| The desired customer hostname is customer.example.com, the live site will be |
| available as http://customer.example.com. |
| |
| The SSL vhost is called www.example.com. |
| |
| The Lenya CMS for our customer is reachable as |
| http[s]://www.example.com/lenya/customer/authoring/. |
| |
| The global proxy for non-publication-specific resources shall be |
| http://www.example.com/lenya/. |
| |
| |
| |
| FIXME: The instructions below are currently Linux-specific. |
| Please contribute Windows and MacOS instructions! |
| |
| |
| |
| First of all, start Jetty6 as described above. |
| Next get an Apache httpd server 2.2.x or later installed (your distro's |
| packages should be fine). Then apply the following tweaks: |
| |
| 1. Install the bogus SSL keys: |
| |
| $LENYA_HOME/tools/proxytest:> cp *.pem /tmp |
| |
| (yes, /tmp. it's just for testing, no need to clutter up your apache ssl |
| directory) |
| |
| 2. Configure some virtual hosts in your Apache HTTPD server: |
| Locate an active configuration file (distribution-dependent), and add the line |
| |
| "Include $LENYA_HOME/tools/proxytest/apache_vhosts.conf" |
| |
| to it. |
| |
| 3. Append some fake host entries to your local resolver: |
| |
| $LENYA_HOME/tools/proxytest:> cat hosts_fake >> /etc/hosts |
| |
| 4. Make sure apache2 is configured to run SSL by passing it the -DSSL flag. |
| The best way to do it depends on your distribution. If in doubt, omit SSL |
| for now and try to add it later. |
| |
| 5. Restart apache2: |
| |
| $LENYA_HOME:> /etc/init.d/apache2 restart |
| |
| 6. Uncomment the proxy settings in the default publication config |
| (src/pubs/default/config/publication.xml) and the global proxy settings |
| (src/modules-core/linking/config/cocoon-xconf/global-proxies.xconf). |
| You can use the patch provided in this directory: |
| |
| $LENYA_HOME:> patch -p0 < tools/proxytest/activate_proxy.diff |
| |
| 7. Build Lenya: |
| |
| $LENYA_HOME:> ./build.sh clean && ./build.sh |
| |
| 8. Surf to http://localhost:8888/webapp to check what the proxy does (look |
| at the page source frequently). Then try |
| http://www.example.com/lenya/default/authoring/ (authoring) and |
| http://customer.example.com (live). |
| |
| 9. Watch the logs in /tmp/LenyaTest_*. |
| |
| This should give you a working proxy setup. |
| |