Similar content

Loading

Powered by Canoo FindIT.

Community Edition on Mac OS X

Before you begin

Magnolia CMS Community Edition and STK are GPL v3 licensed. By downloading and installing either package, you agree to the conditions of the license.

Check the prerequisites

Java Runtime Environment (JRE)

Magnolia CMS needs a Java Runtime Environment (JRE). Apple supplies their own version of Java. Most likely you already have it on your Mac. Use the Java Tester to check.

Use the Software Update feature available in the Apple menu to check that you have the most up-to-date version of Java for your Mac.

If you want to switch to a different version of Java, use the Java Preferences application in Applications > Utilities.

Download, install and run Magnolia CMS

Download

Download the Magnolia CMS Tomcat bundle zip file from http://sourceforge.net/projects/magnolia/files/.
The file name depends on the release, for example magnolia-tomcat-bundle-4.2.3-bundle-jdk15.zip. Get the latest.

Install

Extract the zip to /Applications or another directory on your computer.

The extracted folder structure looks like this:

magnolia-4.2.3
   add-ons
   apache-tomcat
      bin
      conf
      logs
      webapps
         MagnoliaAuthor
         MagnoliaPublic
         ROOT

Run

  1. Open a terminal window in Applications > Utilities > Terminal.
  2. Go to the Magnolia CMS installation directory.
    cd /Applications/magnolia-4.2.3/apache-tomcat/bin
    Your path may be different.
  3. Start Magnolia CMS
    ./magnolia_control.sh start && tail -f ../logs/catalina.out
The first part of the startup command ./magnolia_control.sh start launches Magnolia CMS. The second part && tail -f ../logs/catalina.out displays startup messages written to /apache-tomcat/logs/catalina.out log file. This makes it easier to troubleshoot startup errors.

Magnolia CMS reports startup information. If startup fails, look for the reason in the report. See Troubleshooting to resolve the issues. In a successful startup the last line reads:
INFO: Server startup in 12345 ms

Tip

To stop Magnolia CMS, type ./magnolia_control.sh stop and press RETURN.

Run the Web update

  1. Open a browser and go to http://localhost:8080.
  2. Click the Run the Web update on the author instance link.
    A list of modules that need updating is displayed.
  3. Click Start install.
    The modules are updated.
  4. Click Start up Magnolia.
Repeat the update on the public instance.
  1. Open a browser and go to http://localhost:8080.
  2. Click the Run the Web update on the public instance link.
    A list of modules that need updating is displayed.
  3. Click Start install.
    The modules are updated.
  4. Click Start up Magnolia.

Log in to author instance

  1. Open a browser and go to http://localhost:8080/magnoliaAuthor/.magnolia.
  2. At the login page, sign in with:
    • Username: superuser
    • Password: superuser
The AdminCentral is displayed.

Info

Superuser is a system administration account that has permission to every function. End users should not use this account. See Users for instructions how to create new user accounts and Default users for accounts that you can use for testing right away.

Troubleshooting

Port 8080 is already in use

Port 8080 is the default port for Tomcat. You can see it at the end of the default address http://localhost:8080. If another application on the computer is already using the same port you may need to change it.

  1. Open /apache-tomcat/conf/server.xml in a text editor. This file is under your Magnolia CMS installation directory.
  2. Find the following section and set the value of port to something other than 8080, for example 8090:
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="8090" maxHttpHeaderSize="8192"
           maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
           enableLookups="false" redirectPort="8443" acceptCount="100"
           connectionTimeout="20000" disableUploadTimeout="true" />

Change the defaultBaseUrl property which is used to generate links in emails or other external systems. To do this, you need to now access Magnolia at the new port 8090.

  1. Log into the author instance at http://localhost:8090/magnoliaAuthor/.magnolia.
  2. Go to Configuration.
  3. Set the value of /server/defaultBaseUrl property to http://localhost:8090/magnolia/.
  4. Log into the public instance at http://localhost:8090/magnoliaPublic/.magnolia.
  5. Go to Configuration.
  6. Set the value of /server/defaultBaseUrl property to http://localhost:8090/magnolia/.
Now the Welcome page at http://localhost:8090 has the correct URLs too.

The port also needs to be changed in publishing configuration, otherwise activating changes from the author to public instance fails.

  1. On the author instance, go to Configuration > Subscribers.
  2. Edit the magnoliaPublic8080 subscriber. Set the URL property to http://localhost:8090/magnoliaPublic.
  3. Rename the subscriber to magnoliaPublic8090.
  4. Activate the modified subscriber including its subnodes.

Java out of memory

If the Java Virtual Machine (JVM) does not have enough memory you may see a java.lang.OutOfMemoryError in the startup log and Magnolia CMS fails to start.

Exception in thread "Timer-1" java.lang.OutOfMemoryError: Java heap space
	at org.apache.jackrabbit.core.query.lucene.IndexingQueue.getFinishedDocuments

Increase Java heap size to allocate more memory to JVM:
  1. Stop the server.
    ./magnolia_control.sh stop
  2. Open file /apache-tomcat/bin/setenv.sh in a text editor.
  3. Edit the Xmx parameter to set a new maximum heap size. Default size for Magnolia CMS is 512M, try a higher amount such as 1024M.
  4. Save the file and start the server.
    ./magnolia_control.sh start && tail -f ../logs/catalina.out