7. Installing MMBase

Download the binary distribution of MMBase, and the additional applications you need (i.e. CloudContext Security, Media, Email) (see the next section), from:

  http://www.mmbase.org/ --> Download --> Releases

Warning

MMBase 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.

Make sure you pick out the right version for the Java 2 JDK installed on your system. You can find out the version currently installed by typing:

  
  java -version
  
  

Extract the binary distribution of MMBase, copy it into the Tomcat directory, and change the ownership of the MMBase directory:

  
  unzip mmbase-xxx.zip
  cd /usr/local/tomcat/webapps/
  mkdir mmbase-webapp/
  cp -R .../mmbase-x.x.x/mmbase-webapp/* ./mmbase-webapp/
  chown -R tomcat:tomcat ./mmbase-webapp/
  
  

Warning

Installing MMBase version 1.7 on Tomcat version 5 resulted in version incompatibilities:

  
  FATAL org.mmbase.servlet.MMBaseStartThread -
      Could not find the MMBase module!Class
      javax/servlet/http/HttpServletResponse violates loader constraints
  
  

We had to disable the RMMCI library to get this installation up and running:

  
  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
  
  

For MMBase version 1.7 running on Tomcat version 5, enable the Xerces libraries:

  
  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
  
  
Or you will have fatal errors like:

  
  FATAL org.mmbase.servlet.MMBaseStartThread -
      Could not find the MMBase module!org/apache/xpath/XPathAPI
  
  

For MMBase version 1.6 running on Tomcat version 4, replace the Tomcat Xerces libraries by those coming with MMBase:

  
  mv -i /usr/local/tomcat/common/endorsed/xercesImpl.jar ~/
  mv -i /usr/local/tomcat/common/endorsed/xmlParserAPIs.jar ~/
  cp /usr/local/tomcat/webapps/mmbase-webapp/WEB-INF/lib/xalan.jar \
      /usr/local/tomcat/common/endorsed/
  chown tomcat:tomcat /usr/local/tomcat/common/endorsed/xalan.jar
  chmod 644 /usr/local/tomcat/common/endorsed/xalan.jar
  cp /usr/local/tomcat/webapps/mmbase-webapp/WEB-INF/lib/xerces.jar \
      /usr/local/tomcat/common/endorsed/
  chown tomcat:tomcat /usr/local/tomcat/common/endorsed/xerces.jar
  chmod 644 /usr/local/tomcat/common/endorsed/xerces.jar
  cp /usr/local/tomcat/webapps/mmbase-webapp/WEB-INF/lib/xml-apis.jar \
      /usr/local/tomcat/common/endorsed/
  chown tomcat:tomcat /usr/local/tomcat/common/endorsed/xml-apis.jar
  chmod 644 /usr/local/tomcat/common/endorsed/xml-apis.jar
  
  

Tip

If you will not be using an Apache JK 2 mapping or reverse proxy (see further below) as a front-end to your MMBase server, you can add to the file /usr/local/tomcat/conf/server.xml:

  
  <Context path="/mmbase" docBase="/usr/local/tomcat/webapps/mmbase-webapp" debug="0">
  <!-- if you want symlinks to work: -->
  <Resources className="org.apache.naming.resources.FileDirContext" allowLinking="true" />
  </Context>
  
  

This will allow you to access your MMBase server using (replace <hostname> with your hostname):

  
  http://<hostname>:8080/mmbase
  
  

instead of:

  
  http://<hostname>:8080/mmbase-webapp
  
  

Check if the ImageMagick convert tool is in your path:

  
  which convert
  
  

If not, add it to /usr/local/tomcat/webapps/mmbase-webapp/WEB-INF/config/applications/Resources/builders/images.xml. For example:

  
  <property name="ImageConvert.ConverterCommand">/usr/bin/X11/convert</property>
  
  

Make sure that the directory /usr/local/tomcat/webapps/mmbase-webapp/WEB-INF/config/builders/applications is writable by the servlet engine user (for auto-installing builders):

  
  chown tomcat:tomcat /usr/local/tomcat/webapps/mmbase-webapp/WEB-INF/config/builders/applications
  chmod 775 /usr/local/tomcat/webapps/mmbase-webapp/WEB-INF/config/builders/applications