This commit is contained in:
gferg 2005-01-25 21:32:35 +00:00
parent 3140bc484c
commit 5840331ea3
3 changed files with 715 additions and 29 deletions

View File

@ -497,7 +497,7 @@ Describes how to set up MMBase on a Debian GNU/Linux (Woody) system. </Para>
MMBase-Inst-HOWTO</ULink>,
<CiteTitle>MMBase Installation HOWTO</CiteTitle>
</Para><Para>
<CiteTitle>Updated: Feb 2004</CiteTitle>.
<CiteTitle>Updated: Jan 2005</CiteTitle>.
Describes the installation of the MMBase content management
system on a Red Hat Linux distribution, using the Tomcat application
server, and integrating it with MySQL and Apache. </Para>

View File

@ -2898,7 +2898,7 @@ Describes how to set up MMBase on a Debian GNU/Linux (Woody) system. </Para>
MMBase-Inst-HOWTO</ULink>,
<CiteTitle>MMBase Installation HOWTO</CiteTitle>
</Para><Para>
<CiteTitle>Updated: Feb 2004</CiteTitle>.
<CiteTitle>Updated: Jan 2005</CiteTitle>.
Describes the installation of the MMBase content management
system on a Red Hat Linux distribution, using the Tomcat application
server, and integrating it with MySQL and Apache. </Para>

View File

@ -38,12 +38,18 @@
</affiliation>
</author>
<copyright>
<year>2003, 2004</year>
<year>2003 - 2005</year>
<holder role="http://www.offerman.net/">Adrian Offerman</holder>
</copyright>
<pubdate>December 20, 2003</pubdate>
<releaseinfo></releaseinfo>
<revhistory>
<revision>
<revnumber>0.3.2</revnumber>
<date>2005-01-25</date>
<authorinitials>AO</authorinitials>
<revremark>Updated.</revremark>
</revision>
<revision>
<revnumber>1.0</revnumber>
<date>2004-02-02</date>
@ -76,7 +82,7 @@ and <application class="software">Apache</application>.
</para>
<para>
Version: 0.2.5, February 28, 2004.
Version: 0.3.2, January 25, 2005.
</para>
<para>
@ -193,6 +199,52 @@ extensions.
<para>
<application class="software">Java 2 Software Developers Kit (<acronym>SDK</acronym>)</application>
and <application class="software">Java 2 Run-time Engine (<acronym>J2RE</acronym>)</application>
from <application class="software">Sun's Java 2 Platform Standard Edition 5.0 (<acronym>J2SE</acronym>) (version 1.5.0-01)</application>,
</para>
</listitem>
<listitem>
<para>
<application class="software">Apache Jakarta Tomcat 5.5.4</application>,
</para>
</listitem>
<listitem>
<para>
<application class="software">ImageMagick 6.1.3-7</application>,
</para>
</listitem>
<listitem>
<para>
<application class="software">MMBase 1.7.3 with various modules</application>,
</para>
</listitem>
<listitem>
<para>
<application class="software">MySQL Connector/J 3.0.16-ga</application>,
</para>
</listitem>
<listitem>
<para>
<application class="software">Jikes 1.22</application>.
</para>
</listitem>
</itemizedlist>
And before:
<itemizedlist spacing="compact">
<listitem>
<para>
<systemitem class="osname">Red Hat 8.0</systemitem> distribution
running a <systemitem class="library">2.4.20 kernel</systemitem>,
with <systemitem class="library">Alan Cox 2</systemitem>
and
<systemitem class="library"><acronym>EA</acronym>/<acronym>ACL</acronym></systemitem>
extensions.
</para>
</listitem>
<listitem>
<para>
<application class="software">Java 2 Software Developers Kit (<acronym>SDK</acronym>)</application>
and <application class="software">Java 2 Run-time Engine (<acronym>J2RE</acronym>)</application>
from the <application class="software">Blackdown Java 2 <acronym>JDK</acronym> version v1.4.1-01</application>,
</para>
</listitem>
@ -213,7 +265,12 @@ from the <application class="software">Blackdown Java 2 <acronym>JDK</acronym> v
</listitem>
<listitem>
<para>
<application class="software">MySQL Connector/J 3.0.8</application>.
<application class="software">MySQL Connector/J 3.0.8</application>,
</para>
</listitem>
<listitem>
<para>
<application class="software">Jikes 1.18</application>.
</para>
</listitem>
</itemizedlist>
@ -245,6 +302,112 @@ on your server.
<sect1>
<title>Installing <application class="software">Java</application></title>
<para>
Download the latest versions of the
<application class="software">Java 2 Development Kit
(<acronym>JDK</acronym>)</application> or
<application class="software">Run-time Engine
(<acronym>JRE</acronym>)</application>,
and the accompanying documentation from:
<screen>
<ulink url="http://java.sun.com/">http://java.sun.com</ulink>
</screen>
</para>
<para>
Installation instructions and release notes for the
<application class="software"><acronym>JDK</acronym></application> and
<application class="software"><acronym>JRE</acronym></application>
are available at the download page.
</para>
<para>
Make the binary distribution of the
<application class="software"><acronym>JDK</acronym></application>
executable
and extract in a new directory:
<programlisting>
<![CDATA[
chmod +x jdk-xxx.bin
cd /usr/local/
.../jdk-xxx.bin
]]>
</programlisting>
</para>
<para>
Install the <application class="software"><acronym>JDK</acronym></application>
documentation
by unzipping it in the
<application class="software"><acronym>JDK</acronym></application> directory:
<programlisting>
<![CDATA[
cd /usr/local/jdk-xxx/
unzip .../jdk-xxx-doc.zip
]]>
</programlisting>
</para>
<para>
Change the ownership of the
<application class="software"><acronym>JDK</acronym></application> directory
and make it available as
<filename class="symlink">/usr/local/j2sdk/</filename>:
<programlisting>
<![CDATA[
chown -R root:root /usr/local/jdk-xxx/
ln -s /usr/local/jdk-xxx /usr/local/j2sdk
]]>
</programlisting>
</para>
<para>
If you need only the
<application class="software"><acronym>JRE</acronym></application>,
the installation would be like this:
<programlisting>
<![CDATA[
chmod +x jre-xxx.bin
cd /usr/local/
.../jre-xxx.bin
chown -R root:root /usr/local/jre-xxx/
ln -s /usr/local/jre-xxx /usr/local/j2re
]]>
</programlisting>
</para>
<para>
<warning>
<para>
Using <application class="software"><acronym>JDK</acronym></application>
version 1.5.0 caused
our <application class="software">Tomcat</application> server
to crash every now and then:
<programlisting>
<![CDATA[
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# SIGSEGV (0xb) at pc=0x4042db3f, pid=11991, tid=16386
#
# Java VM: Java HotSpot(TM) Server VM (1.5.0-b64 mixed mode)
# Problematic frame:
# V [libjvm.so+0x3abb3f]
#
]]>
</programlisting>
Upgrading to version 1.5.0-01 seemed to solve these problems.
</para>
</warning>
</para>
<para>
<note>
<para>
For the (previously used)
<application>BlackDown Java for Linux distribution</application>:
</para>
<para>
Find yourself a mirror for the
<application class="software">BlackDown Java Development Kit</application>
@ -321,11 +484,13 @@ Do the same for the
]]>
</programlisting>
</para>
</note>
</para>
<para>
Since we didn&apos;t install the
<application class="software"><acronym>JDK</acronym></application>
and <application class="software"><acronym>RE</acronym></application>
and <application class="software"><acronym>JRE</acronym></application>
in our path,
we have to add the <filename class="directory">bin/</filename> directories
to our <envar>$PATH</envar> environment variable.
@ -375,7 +540,7 @@ by creating the file
set path = ( /usr/local/j2re/bin $path )
endif
setenv JAVA_HOME /usr/local/j2sdk
setenv CLASSPATH :/usr/local/j2sdk/lib/tools.jar:/usr/local/j2re/lib/rt.jar
setenv CLASSPATH .:/usr/local/j2sdk/lib/tools.jar:/usr/local/j2re/lib/rt.jar
]]>
</programlisting>
</para>
@ -472,7 +637,7 @@ and <filename>/etc/group</filename>):
You really should not use the
<systemitem class="username">root</systemitem> account
to run the <application class="software">Tomcat</application> daemon;
we found out that this allows the
(using Tomcat version 4.1.27) we found out that this allows the
<application class="software">MMBase</application>
<systemitem class="username">admin</systemitem> user
to write backup dumps of his sites anywhere on the system.
@ -495,6 +660,8 @@ in a new directory:
</programlisting>
</para>
<para>
<note>
<para>
Version 4.1.27 came with a hot-fix:
<programlisting>
@ -504,6 +671,8 @@ Version 4.1.27 came with a hot-fix:
]]>
</programlisting>
</para>
</note>
</para>
<para>
Change the ownership of the
@ -662,7 +831,7 @@ to do this for us:
export JAVA_HOME=/usr/local/j2sdk
export CLASSPATH=.:/usr/local/j2sdk/lib/tools.jar:/usr/local/j2re/lib/rt.jar
export CATALINA_HOME=/usr/local/tomcat
export CATALINA_OPTS="-Dbuild.compiler.emacs=true"
export CATALINA_OPTS="-server -Xms64m -Xmx512m -Dbuild.compiler.emacs=true"
export PATH=/usr/local/j2sdk/bin:/usr/local/j2re/bin:$PATH
[ -f /usr/local/tomcat/bin/startup.sh ] || exit 0
@ -729,6 +898,60 @@ And add this init script to
</programlisting>
</para>
<para>
<tip>
<para>
To install two (or even more) versions of
<application class="software">Tomcat</application> server
on the same system,
increase the <systemitem class="resource">port</systemitem> numbers
of the second server (e.g. by 10),
by editing the configuration file
<filename>/usr/local/tomcat55/conf/server.xml</filename>:
<programlisting>
<![CDATA[
<Server port="8015" shutdown="SHUTDOWN">
...
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="8090"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8453" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
...
<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
<!--
<Connector port="8453"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
...
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8019"
enableLookups="false" redirectPort="8453" protocol="AJP/1.3" />
...
<!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
<!-- See proxy documentation for more information about using this. -->
<!--
<Connector port="8082"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" acceptCount="100" connectionTimeout="20000"
proxyPort="80" disableUploadTimeout="true" />
-->
]]>
</programlisting>
</para>
<para>
Complete this second
<application class="software">Tomcat</application> server installation
as above for the first server,
using adjusted directory and file names.
</para>
</tip>
</para>
</sect1>
@ -831,7 +1054,7 @@ by adding to
Since entering the full path to
<application class="software">Jikes</application>
in <filename>/usr/local/tomcat/conf/web.xml</filename>
doesn&apos;t seem to work,
doesn&apos;t seem to work (version 4.1.27),
make the <command>jikes</command> program available in your path:
<programlisting>
<![CDATA[
@ -906,13 +1129,29 @@ and install it by hand:
<para>
Download the binary distribution of
<application class="software">MMBase</application>
<application class="software">MMBase</application>,
and the additional applications you need
(i.e. <application class="software">CloudContext Security</application>,
<application class="software">Media</application>,
<application class="software">Email</application>)
(see the next section),
from:
<screen>
<ulink url="http://www.mmbase.org">http://www.mmbase.org/</ulink> --> download
<ulink url="http://www.mmbase.org">http://www.mmbase.org/</ulink> --> Download --> Releases
</screen>
</para>
<para>
<warning>
<para>
<application class="software">MMBase</application> version 1.7.2
contained a nasty bug,
resulting in problems with the editwizards.
The 1.7.3 release includes a bugfix for this problem.
</para>
</warning>
</para>
<para>
Make sure you pick out the right version for the
<application class="software">Java 2 <acronym>JDK</acronym></application>
@ -944,7 +1183,61 @@ and change the ownership of the
</para>
<para>
Replace the <application class="software">Tomcat</application>
<warning>
<para>
Installing <application class="software">MMBase</application> version 1.7
on <application class="software">Tomcat</application> version 5
resulted in version incompatibilities:
<programlisting>
<![CDATA[
FATAL org.mmbase.servlet.MMBaseStartThread -
Could not find the MMBase module!Class
javax/servlet/http/HttpServletResponse violates loader constraints
]]>
</programlisting>
</para>
<para>
We had to disable
the <systemitem class="library">RMMCI</systemitem> library
to get this installation up and running:
<programlisting>
<![CDATA[
mv /usr/local/tomcat/webapps/web-app/WEB-INF/lib/mmbase-rmmci.jar \
/usr/local/tomcat/webapps/web-app/WEB-INF/lib/mmbase-rmmci.jar.org
]]>
</programlisting>
</para>
</warning>
</para>
<para>
For <application class="software">MMBase</application> version 1.7
running on <application class="software">Tomcat</application> version 5,
enable the <systemitem class="library">Xerces</systemitem> libraries:
<programlisting>
<![CDATA[
mv /usr/local/tomcat/webapps/mmbase-webapp/WEB-INF/lib/xalan.renametojar \
/usr/local/tomcat/webapps/mmbase-webapp/WEB-INF/lib/xalan.jar
mv /usr/local/tomcat/webapps/mmbase-webapp/WEB-INF/lib/xerces.renametojar \
/usr/local/tomcat/webapps/mmbase-webapp/WEB-INF/lib/xerces.jar
mv /usr/local/tomcat/webapps/mmbase-webapp/WEB-INF/lib/xml-apis.renametojar \
/usr/local/tomcat/webapps/mmbase-webapp/WEB-INF/lib/xml-apis.jar
]]>
</programlisting>
Or you will have fatal errors like:
<programlisting>
<![CDATA[
FATAL org.mmbase.servlet.MMBaseStartThread -
Could not find the MMBase module!org/apache/xpath/XPathAPI
]]>
</programlisting>
</para>
<para>
For <application class="software">MMBase</application> version 1.6
running on <application class="software">Tomcat</application> version 4,
replace the <application class="software">Tomcat</application>
<systemitem class="library">Xerces</systemitem> libraries
by those coming with <application class="software">MMBase</application>:
<programlisting>
@ -1077,6 +1370,7 @@ to the <application class="software">MMBase</application>
<![CDATA[
cp mysql-connector-java-xxx-bin.jar /usr/local/tomcat/webapps/mmbase-webapp/WEB-INF/lib/
chown tomcat:tomcat /usr/local/tomcat/webapps/mmbase-webapp/WEB-INF/lib/mysql-connector-java-xxx-bin.jar
chmod 664 /usr/local/tomcat/webapps/mmbase-webapp/WEB-INF/lib/mysql-connector-java-xxx-bin.jar
]]>
</programlisting>
</para>
@ -1162,6 +1456,26 @@ and password (<replaceable>&lt;password&gt;</replaceable>)
with the values you just entered in the JBDC driver configuration file.
</para>
<para>
<tip>
<para>
To quickly empty
your <application class="software">MySQL</application> database,
i.e. after you&apos;ve updated
your <application class="software">MMBase</application> configuration or
application
(replace the database name <replaceable>&lt;mmbase&gt;</replaceable> with your
own):
<programlisting>
<![CDATA[
mysqladmin -u root -p drop <mmbase>
mysqladmin -u root -p create <mmbase>
]]>
</programlisting>
</para>
</tip>
</para>
<para>
<tip>
<para>
@ -1198,6 +1512,290 @@ by adding to the configuration file
</sect1>
<sect1>
<title>
Installing <application class="software">MMBase</application>
additional applications
</title>
<para>
With the release of version 1.7
<application class="software">MMBase</application>
was reworked into a more modular structure.
The developers decided to take several modules
(i.e. <application class="software">CloudContext Security</application>,
<application class="software">Media</application>,
<application class="software">Email</application>)
from the <application class="software">MMBase</application> tree,
and make these available as separate entities.
However, at this moment
<application class="software">MMBase</application>
doesn&apos;t have a module interface at all.
So, to use these additional applications,
the library and other files need to be placed into the installation tree
and the configuration needs to be added into the existing configuration files
by hand.
</para>
<sect2>
<title>
Installing
the <application class="software">CloudContext Security</application> module
</title>
<para>
>From the <application class="software">MMBase</application> website
(<ulink url="http://www.mmbase.org">www.mmbase.org</ulink>):
<blockquote>
<para>
<quote><application class="software">Cloud security</application>
uses the object <systemitem class="library">mmbaseuser</systemitem>
to store information used for authorisation and authentication of users.
The two main advantages of this security implementation are
that the user administration can be carried out by using a webbrowser
(instead of editing a file on the filesystem) and
that the users of your
<application class="software">MMBase</application> installation
are available as objects in the cloud.
For instance, it is possible to create groups of users,
which are allowed to carry out certain tasks.</quote>
</para>
<para>
<quote>A context exists of a set of rights
which describe what you can do within this context
with an object of
<application class="software">MMBase</application>.
For example you define read access to a the context
which is used by anonymous visitors of your site and
you can define a context with edit rights for registered users of your site.
</quote>
</para>
</blockquote>
</para>
<para>
Move the library and other files of
the <application class="software">CloudContext Security</application> module
into the <application class="software">MMBase</application> installation tree:
<programlisting>
<![CDATA[
mv -i web-app/WEB-INF/lib/* \
/usr/local/tomcat/webapps/mmbase-webapp/WEB-INF/lib/
mv -i web-app/WEB-INF/config/applications/* \
/usr/local/tomcat/webapps/mmbase-webapp/WEB-INF/config/applications/
mv -i web-app/WEB-INF/config/builders/* \
/usr/local/tomcat/webapps/mmbase-webapp/WEB-INF/config/builders/
]]>
</programlisting>
</para>
<para>
Save the documentation files for later reference:
<programlisting>
<![CDATA[
mv -i web-app/README.txt web-app/README-PACKAGE.txt web-app/documentation web-app/src \
/usr/local/tomcat/webapps/mmbase-webapp/mmdocs/security/
]]>
</programlisting>
</para>
<para>
Make sure all these new files are owned by
your <systemitem class="username">tomcat</systemitem> user as well:
<programlisting>
<![CDATA[
chown -R tomcat:tomcat /usr/local/tomcat/webapps/mmbase-webapp
]]>
</programlisting>
</para>
<para>
Disable the existing configuration
in the security configuration file
<filename>/usr/local/tomcat/webapps/mmbase-webapp/WEB-INF/config/security/security.xml</filename>:
<programlisting>
<![CDATA[
<!--
<authentication class="org.mmbase.security.implementation.context.ContextAuthentication" url="context/config.xml" />
-->
...
<!--
<authorization class="org.mmbase.security.implementation.context.ContextAuthorization" url="context/config.xml" />
-->
]]>
</programlisting>
</para>
<para>
And add
(from <filename>web-app/WEB-INF/config/security/security.xml</filename>):
<programlisting>
<![CDATA[
<!--
Example security.xml to switch on Cloud Context Security.
No other configuration needed
(Cloud Context Security is configured in the cloud)
@version $Id$
-->
<authentication class="org.mmbase.security.implementation.cloudcontext.Authenticate" url="" />
<authorization class="org.mmbase.security.implementation.cloudcontext.Verify" url="" />
]]>
</programlisting>
</para>
<para>
<note>
<para>
Make sure to include the configuration above before
the <classname>&lt;sharedsecret&gt;</classname> statement,
or you will get an error like this:
<programlisting>
<![CDATA[
ERROR org.mmbase.util.XMLErrorHandler - security.xml line:71 column:12:
The content of element type "security" must match "(authentication,authorization,sharedsecret)".
]]>
</programlisting>
</para>
</note>
</para>
</sect2>
<sect2>
<title>
Installing
the <application class="software">Media</application> module
</title>
<para>
&lt;TODO&gt;
</para>
</sect2>
<sect2>
<title>
Installing
the <application class="software">Email</application> module
</title>
<para>
The <application class="software">Email</application> module
makes it possible to send email
with <application class="software">MMBase</application>,
using either <systemitem class="library">SendMail</systemitem>
or <systemitem class="library">JMSendMail</systemitem>.
</para>
<para>
Move the library and other files of
the <application class="software">Email</application> module
into the <application class="software">MMBase</application> installation tree:
<programlisting>
<![CDATA[
mv -i web-app/WEB-INF/lib/* \
/usr/local/tomcat/webapps/mmbase-webapp/WEB-INF/lib/
mv -i web-app/WEB-INF/config/builders/* \
/usr/local/tomcat/webapps/mmbase-webapp/WEB-INF/config/builders/
mkdir /usr/local/tomcat/webapps/mmbase-webapp/email-examples/
cp -iR web-app/examples/* \
/usr/local/tomcat/webapps/mmbase-webapp/email-examples/
]]>
</programlisting>
</para>
<para>
Save the documentation files for later reference:
<programlisting>
<![CDATA[
mkdir /usr/local/tomcat/webapps/mmbase-webapp/mmdocs/email/
mv -i web-app/README.txt web-app/README-PACKAGE.txt web-app/documentation web-app/src \
/usr/local/tomcat/webapps/mmbase-webapp/mmdocs/email/
]]>
</programlisting>
</para>
<para>
Make sure all these new files are owned by
your <systemitem class="username">tomcat</systemitem> user as well:
<programlisting>
<![CDATA[
chown -R tomcat:tomcat /usr/local/tomcat/webapps/mmbase-webapp
]]>
</programlisting>
</para>
<para>
Edit the email configuration file
<filename>/usr/local/tomcat/webapps/mmbase-webapp/WEB-INF/config/modules/sendmail.xml</filename>
(from <filename>web-app/WEB-INF/config/modules/sendmail.xml</filename>):
<programlisting>
<![CDATA[
...
<status>active</status>
...
<classfile>org.mmbase.applications.email.SendMail</classfile>
...
]]>
</programlisting>
</para>
<para>
Add to <application class="software">Tomcat</application>'s
root <classname>Context</classname>
(in /usr/local/tomcat/conf/context.xml for Tomcat version 5,
in /usr/local/tomcat/conf/server.xml for Tomcat version 4)
(replace &lt;smtp.domain.tld&gt; with the adres of your
<systemitem class="resource"><acronym>SMTP</acronym> server</systemitem>):
<programlisting>
<![CDATA[
Resource name="mail/Session" auth="Container"
type="javax.mail.Session"/>
<ResourceParams name="mail/Session">
<parameter>
<name>mail.smtp.host</name>
<value>smtp.domain.tld</value>
</parameter>
</ResourceParams>
<ResourceLink name="linkToGlobalResource"
global="simpleValue"
type="java.lang.Integer"/>
]]>
</programlisting>
</para>
<para>
Failing to do this, results in a fatal error:
<programlisting>
<![CDATA[
FATAL org.mmbase.module.JMSendMail -
JMSendMail failure: Name mail is not bound in this Context
]]>
</programlisting>
</para>
<para>
<warning>
<para>
Installing the <application class="software">Email</application> module
in <application class="software">MMBase</application> version 1.7
running on <application class="software">Tomcat</application> version 5
resulted in a fatal error:
<programlisting>
<![CDATA[
FATAL org.mmbase.servlet.MMBaseStartThread -
Could not find the MMBase module!javax/mail/Session
]]>
</programlisting>
</para>
</warning>
</para>
</sect2>
</sect1>
<sect1>
<title>
Configuring initial
@ -1292,6 +1890,20 @@ by editing
</tip>
</para>
<para>
<tip>
<para>
You can set the <acronym>SMTP</acronym> gateway by editing
<filename>/usr/local/tomcat/webapps/mmbase-webapp/WEB-INF/config/modules/sendmail.xml</filename>:
<programlisting>
<![CDATA[
<property name="mailhost">localhost</property>
]]>
</programlisting>
</para>
</tip>
</para>
</sect1>
@ -1338,6 +1950,16 @@ you just set in the security configuration file
<filename>/usr/local/tomcat/webapps/mmbase-webapp/WEB-INF/config/security/context/config.xml</filename>.
</para>
<para>
<application class="software">MMBase</application> users
(i.e. front-end developers) will typically add their web files to
the <filename>/usr/local/tomcat/webapps/mmbase-webapp/</filename> directory.
Applications (defining the content) will be placed in
the
<filename>/usr/local/tomcat/webapps/mmbase-webapp/WEB-INF/config/applications/</filename>
directory.
</para>
<para>
<caution>
<para>
@ -1354,7 +1976,7 @@ Make sure the dimensions of your
<tip>
<para>
Shutting down (or restarting) the
<application class="software">Tomcat</application> server
<application class="software">Tomcat</application> server (version 1.6)
in our case always left a last process running.
If you experience this same problem,
kill the process by hand before starting it up again:
@ -1362,7 +1984,7 @@ kill the process by hand before starting it up again:
<![CDATA[
[root@hostname root]# /etc/rc.d/init.d/tomcat stop
[root@hostname root]# ps -ax |grep j2
24535 ? S 4:12 /usr/local/j2sdk/bin/java -Dbuild.compiler.emacs=true ...
24535 ? S 4:12 /usr/local/j2sdk/bin/java -server -Xms64m -Xmx512m-Dbuild.compiler.emacs=true ...
[root@hostname root]# kill 24535
[root@hostname root]# /etc/rc.d/init.d/tomcat start
[root@hostname root]#
@ -1516,7 +2138,7 @@ described in the next section.
However, if you plan to build or grow to
a farm of several <application class="software">Tomcat</application> servers
behind an <application class="software">Apache</application> front-end
or build a high-performance system
or build a high-performance system,
deploying
the <systemitem class="library"><acronym>JK 2</acronym> Connector</systemitem>
is the way to go.
@ -1643,7 +2265,7 @@ Here is a simple configuration that should get you up and running:
<para>
Most of this configuration is pretty standard.
The last <classname>uri</classname> declaration
(replace &lt;hostname&gt; with your hostname)
(replace <replaceable>&lt;hostname&gt;</replaceable> with your hostname)
is what this is all about;
it maps all client requests starting with
<filename class="directory">/mmbase-webapp/</filename>
@ -1671,7 +2293,7 @@ implements name based virtual hosts?
<para>
So now, the same application you accessed
through <application class="software">Tomcat</application> as
(replace &lt;hostname&gt; with your hostname):
(replace <replaceable>&lt;hostname&gt;</replaceable> with your hostname):
<programlisting>
<![CDATA[
http://<hostname>:8080/mmbase-webapp/
@ -1696,7 +2318,7 @@ Only name based virtual hosts are supported this way.
Make sure you add the virtual host name
(pointing to this very same (web) server)
to the <filename>/etc/hosts</filename> file
(replace &lt;hostname&gt; with your hostname):
(replace <replaceable>&lt;hostname&gt;</replaceable> with your hostname):
<programlisting>
<![CDATA[
192.168.3.17 <hostname>
@ -1788,7 +2410,7 @@ configuration directory
<para>
you can now restart <application class="software">Apache</application>
and give your new entrance a try:
(replace &lt;hostname&gt; with your hostname):
(replace <replaceable>&lt;hostname&gt;</replaceable> with your hostname):
<programlisting>
<![CDATA[
http://<hostname>/mmbase-webapp/
@ -1799,7 +2421,7 @@ and give your new entrance a try:
<para>
To check the status of
the <systemitem class="library"><acronym>JK 2</acronym> Connector</systemitem>
(replace &lt;hostname&gt; with your hostname):
(replace <replaceable>&lt;hostname&gt;</replaceable> with your hostname):
<programlisting>
<![CDATA[
http://<hostname>/jkstatus/
@ -1817,7 +2439,7 @@ This allows you to add new mappings
without restarting <application class="software">Apache</application>
or having it reload its configuration.
However, existing mappings can not be removed this way
and require <application class="software">Apache</application> te reconfigure.
and require <application class="software">Apache</application> to reconfigure.
</para>
<para>
@ -2030,13 +2652,31 @@ and your <application class="software">MMBase</application> server as
</programlisting>
</para>
<para>
<caution>
<para>
Our MMBase version 1.7 installation used
absolute directory paths in the web pages it generated.
In order to get the reverse proxies to work properly,
the Apache proxy paths had to be the same
(replace <replaceable>&lt;hostname&gt;</replaceable> with your hostname):
<programlisting>
<![CDATA[
ProxyPass /mmbase-webapp/ http://<hostname>:8080/mmbase-webapp/
ProxyPassReverse /mmbase-webapp/ http://<hostname>:8080/mmbase-webapp/
]]>
</programlisting>
</para>
</caution>
</para>
</sect1>
<sect1>
<title>
Installing more <application class="software">MMBase</application> servers
under the same <application class="software">Tomcat</application> server
on a single <application class="software">Tomcat</application> server
</title>
<para>
@ -2047,7 +2687,7 @@ to make <application class="software">MMBase</application>
available to more or all of your users,
you can create several
<application class="software">MMBase</application> installations
and have these all run under the same
and have these all run on the same
<application class="software">Tomcat</application> server.
</para>
@ -2078,6 +2718,15 @@ in the very same way we did before,
</listitem>
<listitem>
<para>
for <application class="software">MMBase</application> version 1.7
running on <application class="software">Tomcat</application> version 5,
enable the <systemitem class="library">Xerces</systemitem> libraries,
</para>
</listitem>
<listitem>
<para>
for <application class="software">MMBase</application> version 1.6
running on <application class="software">Tomcat</application> version 4,
remove the <systemitem class="library">Xerces</systemitem> libraries
in <application class="software">MMBase</application>
(after you have copied these
@ -2186,6 +2835,24 @@ in <application class="software">Apache</application>
like we did before.
</para>
<para>
<important>
<para>
In order to run
several instances of <application class="software">MMBase</application>
on a single <application class="software">Tomcat</application> server,
make sure you increase the available memory resources, i.e.
by adding to the <envar>$CATALINA_OPTS</envar> environment variable
in <filename>/etc/rc.d/init.d/tomcat</filename>:
<programlisting>
<![CDATA[
-Xms64m -Xmx512m
]]>
</programlisting>
</para>
</important>
</para>
</sect1>
@ -2229,7 +2896,27 @@ The Netherlands.
<itemizedlist spacing="compact">
<listitem>
<para>
<ulink url="http://www.offerman.net/MMBase-Installation-HOWTO/MMBase-Installation-HOWTO-0.2.5.DocBook.html">Version 0.2.5</ulink>, February 28, 2004: Creative Commons copyright license adjusted,
<ulink url="http://www.offerman.net/MMBase-Installation-HOWTO/MMBase-Installation-HOWTO-0.3.2.DocBook.html">Version 0.3.2</ulink>, January 25, 2005: MMBase 1.7.3, Java 1.5.0-01,
</para>
</listitem>
<listitem>
<para>
<ulink url="http://www.offerman.net/MMBase-Installation-HOWTO/MMBase-Installation-HOWTO-0.3.1.DocBook.html">version 0.3.1</ulink>, December 26, 2004: Email module,
</para>
</listitem>
<listitem>
<para>
<ulink url="http://www.offerman.net/MMBase-Installation-HOWTO/MMBase-Installation-HOWTO-0.3.0.DocBook.html">version 0.3.0</ulink>, December 25, 2004: MMBase 1.7.2, Tomcat 5.5.4, Java 1.5.0, MySQL Connector/J 3.0.16-ga, Jikes 1.22,
</para>
</listitem>
<listitem>
<para>
<ulink url="http://www.offerman.net/MMBase-Installation-HOWTO/MMBase-Installation-HOWTO-0.2.6.DocBook.html">version 0.2.6</ulink>, July 27, 2004: minor additions,
</para>
</listitem>
<listitem>
<para>
<ulink url="http://www.offerman.net/MMBase-Installation-HOWTO/MMBase-Installation-HOWTO-0.2.5.DocBook.html">version 0.2.5</ulink>, February 28, 2004: Creative Commons copyright license adjusted,
</para>
</listitem>
<listitem>
@ -2290,16 +2977,16 @@ as endorsements of, nor commercials for, the manufacturer.
<title>Copyright</title>
<para>
Compiled, Copyright 2003, 2004, by
Compiled, Copyright &copy; 2003 - 2005, by
<ulink url="http://www.offerman.net/">Adrian Offerman</ulink>.
</para>
<para>
<ulink url="http://creativecommons.org/licenses/by-sa/1.0/"><inlinegraphic
<ulink url="http://www.creativecommons.org/licenses/by-sa/1.0/"><inlinegraphic
fileref="./CreativeCommons-SomeRightsReserved.gif"
width="88" depth="31" format="GIF89a"/></ulink>
This document is licensed under the
<ulink url="http://creativecommons.org/licenses/by-sa/1.0/">Creative Commons Attribution-ShareAlike copyright license</ulink>.
<ulink url="http://www.creativecommons.org/licenses/by-sa/1.0/">Creative Commons Attribution-ShareAlike copyright license</ulink>.
</para>
<para>
@ -2320,4 +3007,3 @@ Your fair use and other rights are in no way affected by the above.
</article>