mirror of https://github.com/tLDP/LDP
263 lines
11 KiB
Plaintext
263 lines
11 KiB
Plaintext
<!doctype linuxdoc system>
|
|
|
|
<article>
|
|
<title>MMBase Mini-HOWTO: Installation on Debian Woody
|
|
|
|
<author>Casper Joost Eyckelhof <tt/<joost@dnd.utwente.nl>/ <newline>University of Twente
|
|
<date>v0.2, 28 May 2002
|
|
|
|
<abstract>
|
|
This document briefly describes how to set up MMBase on a Debian Gnu/Linux (Woody) system
|
|
while using as much default packages as possible.
|
|
</abstract>
|
|
|
|
<toc>
|
|
|
|
<sect>Introduction<p>
|
|
|
|
<sect1>Homepage<p>
|
|
|
|
If you got this document from a Linux HOWTO mirror site or a CD-ROM,
|
|
you might want to check back to the <url name="MMBase Mini-HOWTO home
|
|
page" url="http://www.dnd.utwente.nl/~joost/mmbase-mini/MMBase-Mini-HOWTO.html"> to see if there's a
|
|
newer version around.<p>
|
|
|
|
This document only covers a very small portion of MMBase installation, for
|
|
the official documentation visit <url name="MMBase home page"
|
|
url="http://www.mmbase.org">.<p>
|
|
|
|
<sect1>Disclaimer<p>
|
|
No liability for the contents of this documents can be accepted.
|
|
Use the concepts, examples and other content at your own risk.<p>
|
|
|
|
All copyrights are held by their respective owners, unless specifically noted otherwise.
|
|
Use of a term in this document should not be regarded as affecting the validity of any trademark or service mark.<p>
|
|
|
|
Finally, this is my first HOWTO, my first experience with linuxdoc and I am no expert on
|
|
MMBase either. I am just trying to share my solutions to some problems I encountered while installing
|
|
MMBase on a Debian system.<p>
|
|
|
|
<sect1>History<p>
|
|
|
|
0.2 Updated for MMbase 1.5; lost support for apache frontend<p>
|
|
|
|
0.1 Initial version - Installing MMBase 1.4 on Woody<p>
|
|
|
|
<sect1>Copyright<p>
|
|
|
|
Copyright (c) 2001-2002 Casper Joost Eyckelhof, All rights reserved. This is free
|
|
documentware; you can redistribute it and/or modify it under the terms of
|
|
version 2 or later of the <url name="GNU General Public License"
|
|
url="http://www.gnu.org/copyleft/gpl.html">.<p>
|
|
|
|
<sect1>Acknowledgements<p>
|
|
I would like to thank a number of people for helping me during my quest for a clean installation.
|
|
Although I do not know their names, their nicknames on irc are: <em>keesj, jdg, flax, scb2</em>.
|
|
I hope they forgive me for not trying to find out their real names.<p>
|
|
I would also like to thank my employer, the <em>University of Twente</em> for allowing me to write this
|
|
document during working hours.
|
|
|
|
<sect>What is MMBase?<p>
|
|
On their website, the authors say the following about it:<p>
|
|
<itemize>
|
|
<item>MMBase is an opensource publishing system. MMBase can be used to create big websites that can be maintained easily.
|
|
<item>MMBase separates content from layout, in this way information can be reused easily.
|
|
<item>MMBase is very unique in the way it maintains its information. MMBase creates an object cloud that is a digital representation of the 'real' world objects that are of interest for you.<p>
|
|
</itemize><p>
|
|
|
|
In this document I will describe how to get MMBase running on a Debian Woody System, using
|
|
as many standard packages as possible. Though it is very easy to run MMBase using their
|
|
automatic installation tools, you will end up with their version of a webserver, servlet engine
|
|
and database.<p>
|
|
After a few days of playing with my own install, I think I can help others by describing
|
|
which choices I made to get things running. I do not claim this is the only way, or the best way!
|
|
But it worked for me :)<p>
|
|
|
|
The version of MMBase used is 1.5. Ofcourse everything might be different with another version.<p>
|
|
|
|
MMbase can run together with various webservers, databases, servlet engines and JRE's.
|
|
The programs/packages/versions I chose are:<p>
|
|
<itemize>
|
|
<item>MySQL-Server (3.23.49-8)
|
|
<item>Tomcat4 (4.0.3-3)
|
|
<item>j2sdk1.3 (1.3.1-1) (Java)
|
|
<item>imagemagick (4:5.4.4.5-1)
|
|
</itemize><p>
|
|
|
|
Attention: The version numbers are those that were available in
|
|
the Woody distribution at the time of writing. Except for Java, which
|
|
came from a different location. See <ref id="java" name="Non standard package(s)">.
|
|
<p>
|
|
|
|
Some other options for databases and webservers are described in the
|
|
installation notes for MMBase 1.5
|
|
<p>
|
|
|
|
<sect>Prerequisites<p>
|
|
|
|
You will need a working Debian Woody installation, including apt, and make sure
|
|
the following packages are installed and working correctly.
|
|
|
|
<sect1>Standard packages<p>
|
|
<itemize>
|
|
<item>tomcat4
|
|
<item>mysql-server
|
|
<item>imagemagick
|
|
</itemize><p>
|
|
|
|
If these packages are not installed, you can do so by typing
|
|
<tscreen><verb>
|
|
apt-get install packagename
|
|
</verb></tscreen>
|
|
where packagename is one of the above.<p>
|
|
|
|
Note: naturally you will need al dependencies too, but apt will take care of that
|
|
automatically.
|
|
|
|
<sect1>Non standard package(s)<label id="java"><p>
|
|
While writing this document, Woody only contains java 1.1, but for MMBase
|
|
version 1.2 or higher is needed. I installed the packages from Blackdown.
|
|
A list of Blackdown mirrors is at <url name="http://www.blackdown.org/java-linux/mirrors.html"
|
|
url="http://www.blackdown.org/java-linux/mirrors.html">.<p>
|
|
|
|
I added the following to my /etc/apt/sources.list , but the path might be different for different mirrors:
|
|
<tscreen><verb>
|
|
deb ftp://ftp.nluug.nl/pub/os/Linux/java/jdk/debian woody non-free
|
|
</verb></tscreen><p>
|
|
|
|
After that you can just type
|
|
<tscreen><verb>
|
|
apt-get install j2sdk1.3
|
|
</verb></tscreen><p>
|
|
|
|
Note: Although it must be possible to have more JRE's installed next to eachother, I wouldn't recommend
|
|
it if it's not absolutely neccesary.
|
|
|
|
<sect>Getting MMBase and setting up some things<p>
|
|
<sect1>Getting MMBase<p>
|
|
Now that you have all supporting packages up and running (you <em>did</em>
|
|
follow the instructions in the previous section, didn't you?) get yourself a copy of MMBase.
|
|
As said before, this document describes the works for MMbase version 1.4.<p>
|
|
|
|
Download MMBase from <url name="http://www.mmbase.org/releases/mmbase-1.5.zip"
|
|
url="http://www.mmbase.org/releases/mmbase-1.5.zip"> with a browser, or even easier:
|
|
<tscreen><verb>
|
|
wget http://www.mmbase.org/releases/mmbase-1.5.zip
|
|
</verb></tscreen><p>
|
|
|
|
From version 1.5 MMBase can be used as an webapp within Tomcat. So I
|
|
recommend unpacking the distribution in a temporary directory and copying
|
|
the mmbase-webapp/ tree to /var/lib/tomcat4/webapps/.
|
|
If MMBase is your only (or main) application on Tomcat, you can also install
|
|
it as ROOT, by copying everything from mmbase-webapp/ to /var/lib/tomcat4/webapps/ROOT/.
|
|
|
|
In this document I will assume that MMBase is unpacked in
|
|
/var/lib/tomcat4/webapps/mmbase-webapp/<p>
|
|
|
|
|
|
<sect1>Getting mm.mysql<p>
|
|
|
|
You will also need mysql.jar (JDBC driver for MySQL) which can be downloaded from
|
|
<url name="http://mmmysql.sourceforge.net/" url="http://mmmysql.sourceforge.net/">. <newline>
|
|
Make sure you get the binary jar, which means you may have to unjar the
|
|
complete distribution first and locate the file mm.mysql-2.0.14-bin.jar
|
|
(2.0.14 was the latest release when writing this HOWTO)
|
|
Put the file in /var/lib/tomcat4/webapps/mmbase-webapp/WEB-INF/lib/.<p>
|
|
|
|
|
|
<sect1>Creating a database for MMBase<p>
|
|
MMbase needs a database and a user that has full rights on that database.
|
|
The user seems to needs rights via localhost and the real hostname.
|
|
This was not entirely clear to me.<p>
|
|
|
|
Issue the following commands on the MySQL prompt. I chose a database called MMBase, a user named mmbaseuser and
|
|
the password secret.<p>
|
|
<tscreen><verb>
|
|
CREATE DATABASE MMBase
|
|
USE MMBase
|
|
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON MMBase.* TO mmbaseuser@'%' IDENTIFIED BY 'secret';
|
|
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON MMBase.* TO mmbaseuser@localhost IDENTIFIED BY 'secret'
|
|
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON MMBase.* TO mmbaseuser@realhostname IDENTIFIED BY 'secret'
|
|
flush privileges;
|
|
</verb></tscreen><p>
|
|
|
|
<sect1>Tomcat security manager<p>
|
|
The Tomcat java security manager somehow interferes with MMBase. I haven't
|
|
found out what settings are needed to run MMBase with the security manager
|
|
active. Please let me know. For now I disabled the security manager, which
|
|
you should never not do. (Big Disclaimer!)
|
|
|
|
In /etc/default/tomcat4 change the security line to:<newline>
|
|
TOMCAT4_SECURITY="no"
|
|
|
|
<sect1>Copying xml-apis<p>
|
|
For some odd reason, Tomcat wants to find the file WEB-INF/lib/xml-apis.jar also in
|
|
/usr/share/tomcat/common/lib/xml-apis.jar, so you have to copy it.<p>
|
|
|
|
<sect>Configuration files<p>
|
|
There are various configuration files that need some adjustment or have to be created.
|
|
|
|
<sect1>apache<p>
|
|
In my setup, I created a virtual host to handle all MMBase request, but using a few <em>Alias</em> directors
|
|
it cannot be too hard to include MMBase somewhere in your normal web tree.<p>
|
|
|
|
That was for my last setup (HOWTO version 0.1 covering MMBase 1.4).
|
|
|
|
Using the newest version of Tomcat and Apache, I have troubles getting the
|
|
two working together. As soon as I find out how to use libapache-mod-webapp
|
|
or libapache-mod-jk with tomcat4, I will update this HOWTO.<p>
|
|
|
|
One posible solution is compiling mod-webapp yourself, because the version
|
|
that comes with Debian seems to be non-standard. This is beyond the scope and intention of this
|
|
HOWTO.<p>
|
|
|
|
This also means that by default MMBase will run on port 8180 (directly from
|
|
the stand-alone Tomcat server. You can change this port in
|
|
/etc/tomcat4/server.xml
|
|
|
|
<sect1>MMBase<p>
|
|
Although many things have to be configured on MMBase itself, I have added a few subjects to this mini-HOWTO.<p>
|
|
The database access should be set in WEB-INF/config/modules/jdbc.xml :<p>
|
|
|
|
<tscreen><verb>
|
|
<property name="url">jdbc:mysql://$HOST:$PORT/$DBM?user=mmbaseuser&password=secret&etago;/property>
|
|
<property name="user">url&etago;/property>
|
|
<property name="password">url&etago;/property>
|
|
<property name="database">MMBase&etago;/property>
|
|
<property name="driver">org.gjt.mm.mysql.Driver&etago;/property>
|
|
</verb></tscreen><p>
|
|
|
|
And one more line to change to get the mysql connection working. In WEB-INF/config/modules/mmbaseroot.xml
|
|
make sure you have this setting:
|
|
|
|
<tscreen><verb>
|
|
<property name="database">mysql&etago;/property>
|
|
</verb></tscreen><p>
|
|
|
|
|
|
The builder for images contains a path to convert that is not Debian-compliant. Change
|
|
WEB-INF/config/builders/images.xml
|
|
|
|
<tscreen><verb>
|
|
<properties>
|
|
<property name="ImageConvert.ConverterCommand">bin/convert&etago;property>
|
|
<property name="ImageConvert.ConverterRoot">/usr/&etago;property>
|
|
<property name="ImageConvertClass">org.mmbase.module.builders.ConvertImageMagick&etago;property>
|
|
&etago;properties>
|
|
</verb></tscreen><p>
|
|
|
|
|
|
<sect>Getting more help<p>
|
|
There are various sources for more help on most of the subject covered in this mini-HOWTO. All packages have
|
|
their own documentation. Some links that really helped me are:<p>
|
|
<itemize>
|
|
<item>Apache: <url name="http://httpd.apache.org/docs/" url="http://httpd.apache.org/docs/">
|
|
<item>Tomcat: <url name="http://jakarta.apache.org/tomcat/tomcat-4.0-doc/index.html" url="http://jakarta.apache.org/tomcat/tomcat-4.0-doc/index.html">
|
|
<item>MMBase: Click on Documentation on <url name="http://www.mmbase.org/" url="http://www.mmbase.org/">
|
|
<item>Java: <url name="http://java.sun.com/" url="http://java.sun.com/">
|
|
</itemize><p>
|
|
|
|
Another great source for help is channel #mmbase on ircnet, usually there are some developers there.
|
|
|
|
</article>
|