Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:cms_magnolia

CMS Magnolia

Magnolia ist einfach zu bedienendes Open Source - Content Management System (CMS). Seit dem Erscheinen im Jahre 2003, ist Magnolia schnell zum beliebten Werkzeug für auf Java basierende neue Content Management-Lösungen geworden.

Voraussetzungen

Als Voraussetzung für die Installation von Magnolia sind folgende Komponenten erforderlich:

Herunterladen

Zur Installation von Magnolia kann unter folgender Adresse die Magnolia Community Edition heruntergeladen werden:

Die hier besprochene Version ist die WebArchive (WAR-Datei) - ein für z.B. Apache Tomcat als Application zu installierende Version, welche einen lauffähigen Apache Tomcat voraussetzt.

  • magnolia-empty-webapp-3.6.3.war

Zusätzlich wird noch die Xalan JavaArchiv (JAR-Datei) benötigt. :!: WICHTIG ist hier unbedingt die Version 2.4.0 zu verwenden !!!

Der Name der zu herunterladenden Datei lautet:

  • xalan-2.4.0.jar

Grundlagen

Das CMS Magnolia teilt sich in zwei eigenständige Web-Anwendungen.

  1. Authoren Web-Anwendung
  2. Öffentliche Web-Anwendung

Die Authoren Web-Anwendung dient zur Erstellung der Web-Seiten und zur Verwaltung der Seiten. Die öffentliche Web-Anwendung, ist die Web-Anwendung, die auch tatsächlich von der Öffentlichkeit erreicht wird.

Dies hat Nachteile, jedoch ein wesentlicher Vorteil besteht darin, dass die Authoren Web-Anwendung hinter z.B. einer Firewall sein kann und sich nicht unbedingt auf dem produktiven Web-Server befinden muss, wie die öffentliche Web-Anwendung.

:!: Es müssen also zwei Web-Anwendungen installiert werden.

Einer der einfachsten Wege dies zu ereichen, ist das heruntergeladene WAR-Archiv wie folgt zu kopieren und entsprechend umzubenennen. Mit folgendem Befehl, kann das heruntergeladene WAR-Archiv magnolia-empty-webapp-3.6.3.war kopiert und umbenannt werden:

# cp /tmp/magnolia-empty-webapp-3.6.3.war /tmp/magnoliaAuthor.war
Mit diesem Befehl, kann das noch bestendene WAR-Archiv abschließend umbenannt werden:
# mv /tmp/magnolia-empty-webapp-3.6.3.war # cp /tmp/magnoliaPublic

Es soltlen nun zwei WAR-Archive mit folgenden Namen im Ordner /tmp vorhanden sein:

  1. magnoliaAuthor.war
  2. magnoliaPublic.war

Installation

Ab hier werden root-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um root zu werden geben Sie bitte folgenden Befehl ein:

$ su -
Password: 

Zur Installation können zwei Wege gegangen werden.

Der erste Weg ist, den Apache Tomcat mit folgendem Befehl zu beenden:

# service tomcat5 stop

Anschließend können die heruntergeladenen und umbenannten WAR-Archive magnoliaAuthor.war und magnoliaPublic in den Web-Application-Ordner /usr/share/tomcat5/webapps mit folgenden Befehlen kopieren werden:

# cp /tmp/magnoliaAuthor.war /usr/share/tomcat5/webapps/
# cp /tmp/magnoliaPublic.war /usr/share/tomcat5/webapps/

Abschließend wird der Apache Tomcat mit folgendem Befehl wieder gestartet:

# service tomcat5 start

Der zweite Weg wäre eine Installation über den standardmäßig nach der Installation des Apache Tomcat mitgelieferten Tomcat Manager bzw. Tomcat Web Application Manager durchzuführen. Dies kann dann ganz bequem über die Web-Oberfläche geschehen.

Fehlermeldungen

org.apache.xalan.processor.TransformerFactoryImpl not found

Falls folgende Fehlermeldung im Apache Tomcat-Log (/var/log/tomcat5/catalina.out) auftauchen sollte:

Using CATALINA_BASE:   /usr/share/tomcat5
Using CATALINA_HOME:   /usr/share/tomcat5
Using CATALINA_TMPDIR: /usr/share/tomcat5/temp
Using JRE_HOME:       
Nov 17, 2008 3:27:22 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib
Nov 17, 2008 3:27:23 PM org.apache.coyote.http11.Http11BaseProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
Nov 17, 2008 3:27:23 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1803 ms
Nov 17, 2008 3:27:23 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Nov 17, 2008 3:27:23 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.5.20
Nov 17, 2008 3:27:23 PM org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
Nov 17, 2008 3:27:25 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive magnoliaPublic.war
DEBUG  info.magnolia.cms.servlets.MgnlServletContextListener MgnlServletContextListener.java(contextInitialized:164) 17.11.2008 15:27:27  rootPath is /usr/share/tomcat5/webapps/magnoliaPublic, webapp is magnoliaPublic
DEBUG  info.magnolia.cms.servlets.MgnlServletContextListener MgnlServletContextListener.java(getPropertiesFilesString:186) 17.11.2008 15:27:27  magnolia.initialization.file value in web.xml is undefined, falling back to default: WEB-INF/config/${servername}/${webapp}/magnolia.properties,WEB-INF/config/${servername}/magnolia.properties,WEB-INF/config/${webapp}/magnolia.properties,WEB-INF/config/default/magnolia.properties,WEB-INF/config/magnolia.properties
INFO   info.magnolia.cms.beans.config.PropertiesInitializer PropertiesInitializer.java(loadPropertiesFile:224) 17.11.2008 15:27:30  Loading configuration at /usr/share/tomcat5/webapps/magnoliaPublic/WEB-INF/config/default/magnolia.properties
INFO   info.magnolia.cms.beans.config.PropertiesInitializer PropertiesInitializer.java(loadPropertiesFile:224) 17.11.2008 15:27:30  Loading configuration at /usr/share/tomcat5/webapps/magnoliaPublic/WEB-INF/config/magnoliaPublic/magnolia.properties
Initializing Log4J
Initializing Log4J from [WEB-INF/config/default/log4j.xml]
---------------------------------------------
MAGNOLIA LICENSE
---------------------------------------------
Version number : 3.6.3
Build          : 2. October 2008
Edition        : Community Edition
Provider       : Magnolia International (info@magnolia.info)
INFO   info.magnolia.cms.beans.config.ConfigLoader ConfigLoader.java(load:121) 17.11.2008 15:27:30  Initializing content repositories
INFO   info.magnolia.cms.beans.config.ContentRepository ContentRepository.java(init:196) 17.11.2008 15:27:30  System : loading JCR
INFO   info.magnolia.cms.beans.config.ContentRepository ContentRepository.java(loadRepositories:303) 17.11.2008 15:27:30  Loading workspace:website
INFO   info.magnolia.cms.beans.config.ContentRepository ContentRepository.java(loadRepositories:303) 17.11.2008 15:27:30  Loading workspace:config
INFO   info.magnolia.cms.beans.config.ContentRepository ContentRepository.java(loadRepositories:303) 17.11.2008 15:27:30  Loading workspace:users
INFO   info.magnolia.cms.beans.config.ContentRepository ContentRepository.java(loadRepositories:303) 17.11.2008 15:27:30  Loading workspace:userroles
INFO   info.magnolia.cms.beans.config.ContentRepository ContentRepository.java(loadRepositories:303) 17.11.2008 15:27:30  Loading workspace:usergroups
INFO   info.magnolia.cms.beans.config.ContentRepository ContentRepository.java(loadRepositories:303) 17.11.2008 15:27:30  Loading workspace:mgnlSystem
INFO   info.magnolia.cms.beans.config.ContentRepository ContentRepository.java(loadRepositories:303) 17.11.2008 15:27:30  Loading workspace:mgnlVersion
INFO   info.magnolia.cms.beans.config.ContentRepository ContentRepository.java(loadRepository:346) 17.11.2008 15:27:30  System : loading JCR magnolia
INFO   info.magnolia.jackrabbit.ProviderImpl ProviderImpl.java(init:176) 17.11.2008 15:27:30  Loading repository at /var/lib/tomcat5/webapps/magnoliaPublic/r
epositories/magnolia (config file: /usr/share/tomcat5/webapps/magnoliaPublic/WEB-INF/config/repo-conf/jackrabbit-bundle-derby-search.xml)
ERROR  info.magnolia.jackrabbit.ProviderImpl ProviderImpl.java(init:213) 17.11.2008 15:27:30  Unable to initialize repository: Provider org.apache.xalan.processor.TransformerFactoryImpl not found
javax.xml.transform.TransformerFactoryConfigurationError: Provider org.apache.xalan.processor.TransformerFactoryImpl not found
...
muss der Apache Tomcat mit folgendem Befehl beendet werden:
# service tomcat5 stop

Die Lösung dieses Problems ist, das JAR-Archiv xalan-2.4.0.jar in das Verzeichnis /usr/share/tomcat5/webapps/magnoliaAuthor/WEB-INF/lib und das Verzeichnis /usr/share/tomcat5/webapps/magnoliaPublic/WEB-INF/lib mit folgenden Befehlen zu kopieren:

# cp /tmp/xalan-2.4.0.jar /usr/share/tomcat5/magnoliaAuthor/WEB-INF/lib
# cp /tmp/xalan-2.4.0.jar /usr/share/tomcat5/magnoliaPublic/WEB-INF/lib

Als nächstes müssen noch die Zugriffsrechte mit folgenden Befehlen richtig gesetzte werden:

# chown tomcat.tomcat /usr/share/tomcat5/magnoliaAuthor/WEB-INF/lib/xalan-2.4.0.jar
# chown tomcat.tomcat /usr/share/tomcat5/magnoliaPublic/WEB-INF/lib/xalan-2.4.0.jar

Abschließend wird der Apache Tomcat mit folgendem Befehl wieder gestartet:

# service tomcat5 start

Error on line -1: Premature end of file.

Falls folgende Fehlermeldung im Apache Tomcat-Log (/var/log/tomcat5/catalina.out) auftauchen sollte:

Using CATALINA_BASE:   /usr/share/tomcat5
Using CATALINA_HOME:   /usr/share/tomcat5
Using CATALINA_TMPDIR: /usr/share/tomcat5/temp
Using JRE_HOME:       
Nov 17, 2008 3:45:21 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib
Nov 17, 2008 3:45:21 PM org.apache.coyote.http11.Http11BaseProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
Nov 17, 2008 3:45:21 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1462 ms
Nov 17, 2008 3:45:21 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Nov 17, 2008 3:45:21 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.5.20
Nov 17, 2008 3:45:21 PM org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
Nov 17, 2008 3:45:23 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive magnoliaAuthor.war
DEBUG  info.magnolia.cms.servlets.MgnlServletContextListener MgnlServletContextListener.java(contextInitialized:164) 17.11.2008 15:45:23  rootPath is /usr/share/tomcat5/webapps/magnoliaAuthor, webapp is magnoliaAuthor
DEBUG  info.magnolia.cms.servlets.MgnlServletContextListener MgnlServletContextListener.java(getPropertiesFilesString:186) 17.11.2008 15:45:23  magnolia.initialization.file value in web.xml is undefined, falling back to default: WEB-INF/config/${servername}/${webapp}/magnolia.properties,WEB-INF/config/${servername}/magnolia.properties,WEB-INF/config/${webapp}/magnolia.properties,WEB-INF/config/default/magnolia.properties,WEB-INF/config/magnolia.properties
INFO   info.magnolia.cms.beans.config.PropertiesInitializer PropertiesInitializer.java(loadPropertiesFile:224) 17.11.2008 15:45:25  Loading configuration at /usr/share/tomcat5/webapps/magnoliaAuthor/WEB-INF/config/default/magnolia.properties
INFO   info.magnolia.cms.beans.config.PropertiesInitializer PropertiesInitializer.java(loadPropertiesFile:224) 17.11.2008 15:45:25  Loading configuration at /usr/share/tomcat5/webapps/magnoliaAuthor/WEB-INF/config/magnoliaAuthor/magnolia.properties
Initializing Log4J
Initializing Log4J from [WEB-INF/config/default/log4j.xml]
---------------------------------------------
MAGNOLIA LICENSE
---------------------------------------------
Version number : 3.6.3
Build          : 2. October 2008
Edition        : Community Edition
Provider       : Magnolia International (info@magnolia.info)
INFO   info.magnolia.cms.beans.config.ConfigLoader ConfigLoader.java(load:121) 17.11.2008 15:45:25  Initializing content repositories
ERROR  org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/magnoliaAuthor] StandardContext.java(listenerStart:3768) 17.11.2008 15:45:25  Exception sending context initialized event to listener instance of class info.magnolia.cms.servlets.MgnlServletContextListener
java.lang.RuntimeException: org.jdom.input.JDOMParseException: Error on line -1: Premature end of file.
muss der Apache Tomcat mit folgendem Befehl beendet werden:
# service tomcat5 stop

Die Lösung dieses Problems ist, die bereits falsch/unvollständig angelegten repositories mit folgenden Befehlen wieder zu löschen:

# rm /usr/share/tomcat5/webapps/magnoliaAuthor/repositories/ -rf
# rm /usr/share/tomcat5/webapps/magnoliaPublic/repositories/ -rf

Abschließend wird der Apache Tomcat mit folgendem Befehl wieder gestartet:

# service tomcat5 start

Abschließend sollte der Start ohne Probleme erfolgen!

Besonderheit: magnoliaPublic

:!: WICHTIG ist, dass die Änderungen an der Konfigurationsdatei /usr/share/tomcat5/webapps/magnoliaAuthor/WEB-INF/config/default/magnolia.properties VOR der Konfiguration durch die Web-Oberfläche und dem ersten Start der Web-Anwendung magnoliaPublic erfolgen !

Die Original-Konfigurationsdatei muss wie folgt angepasst werden:

#--------------------------------------------
# Here we define some properties not
# configured in the config repository.
# They are used in common before the initialization
# of the repositories.
#
# WARNING: on Windows systems, either use the /
# to separate path elements, or escape the \ with
# another \, i.e C:\\magnolia\\data\\repositories
# or c:/magnolia/data/repositories
#--------------------------------------------
magnolia.cache.startdir=cache
magnolia.upload.tmpdir=tmp
magnolia.exchange.history=history
magnolia.repositories.config=WEB-INF/config/default/repositories.xml
magnolia.repositories.home=repositories
magnolia.repositories.jackrabbit.config=WEB-INF/config/repo-conf/jackrabbit-bundle-derby-search.xml
 
log4j.config=WEB-INF/config/default/log4j.xml
 
# The directories in which the bootstrap files are searched
# Tachtler
# default: magnolia.bootstrap.dir=WEB-INF/bootstrap/author WEB-INF/bootstrap/common
magnolia.bootstrap.dir=WEB-INF/bootstrap/public WEB-INF/bootstrap/common
 
# This is only used for the initial installation afterward the configuration in the config repository is used
# The value is saved in /server/admin
# Tachtler
# default: magnolia.bootstrap.authorInstance=true
magnolia.bootstrap.authorInstance=false
 
# Some modules contain optional sample content. They will check this property to decide if they should install
# the sample data
magnolia.bootstrap.samples=true
 
# Switch to false to enhance the performance of the javascript generation and similar
magnolia.develop=false
 
#--------------------------------------------
# Repository connection
#--------------------------------------------
magnolia.connection.jcr.userId = admin
magnolia.connection.jcr.password = admin
 
# Set it to true if bootstrapping/update should be performed automatically
magnolia.update.auto=false

Änderungen an /usr/share/tomcat5/webapps/magnoliaAuthor/WEB-INF/config/default/magnolia.properties

Die relevanten Änderungen diesbezüglich sind mit einem Kommentar

# Tachtler
versehen.

bootstrap-Dateien der jeweiligen Instanz, hier public

  • magnolia.bootstrap.dir=WEB-INF/bootstrap/public WEB-INF/bootstrap/common

Keine Freischaltung als Author-Instanz

  • magnolia.bootstrap.authorInstance=false

CMS Magnolia starten

Bevor die abschließende Konfiguration der Authoren- und der öffentlichen Seite über die Web-Anwendung erfolgen kann, sollten noch die ursprünglichen WAR-Archive aus dem Verzeichnis /usr/share/tomcat5/webapps gelöscht werden.

:!: Dazu ist es sehr wichtig, den Apache Tomcat zu stoppen! Mit folgendem Befehl kann der Apache Tomcat beendet werden:

# service tomcat5 stop

Die Befehle zum löschen der WAR-Archive lauten:

# rm /usr/share/tomcat5/webapps/magnoliaAuthor.war -f
# rm /usr/share/tomcat5/webapps/magnoliaPublic.war -f

Abschließend wird der Apache Tomcat mit folgendem Befehl wieder gestartet:

# service tomcat5 start

Die Endkonfiguration kann dann über die entsprechenden Web-Anwendungen erfolgen, welche z.B. unter folgenden Adressen (lokal) erreichbar sind:

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
tachtler/cms_magnolia.txt · Zuletzt geändert: 2012/06/11 13:35 von klaus