XWiki On Debian 4 (Etch) - Tomcat - PostgreSQL (or MySQL)

XWiki is a professional wiki with enterprise features such as blog, strong rights management, LDAP authentication, PDF export, full skining and more. It also includes an advanced form and scripting engine making it a development environment for data-based applications. It has powerful extensibility features such as scripting in pages, plugins and a highly modular architecture. See the full feature list for more.

 

Installation

Prerequisites

  • Debian 4 (etch), non-free repository (see comment from phornung at the bottom, thanks!)
  • PostgreSQL 8.2.7 (or higher) OR MySQL 5
  • Root-Access (sudo/su)
  • After every code line you press the "Enter-Button"

 

Here we go

1. First we install JAVA JDK 5

apt-get install sun-java5-jdk
JAVA_OPTS="-Xmx512M"
export JAVA_HOME
export JAVA_OPTS

The "-Xmx512M" setting means the maximum amount of RAM for JAVA and depends on your server.

 

2. We install Tomcat 5.5

apt-get install tomcat5.5 tomcat5.5-admin tomcat5.5-webapps
/etc/init.d/tomcat5.5 stop

 

3. Disable Tomcat security

vi /etc/init.d/tomcat5.5

TOMCAT5_SECURITY=no

 

4. Create the xwiki database

PostgreSQL

CREATE DATABASE xwiki
WITH OWNER = mit_dem_admin-user_ersetzen_bspw_pgsql
ENCODING = ‘UNICODE’
TABLESPACE = pg_default;

CREATE USER xwiki PASSWORD ‘xwiki’ VALID UNTIL ‘infinity’;

CREATE GROUP xwiki;
ALTER GROUP xwiki ADD USER xwiki;
GRANT ALL ON SCHEMA public TO xwiki;

MySQL

mysql -u root -p -e "create database xwiki"
mysql -u root -p -e "grant all privileges on xwiki.* to [email protected] identified by 'xwiki'"

 

5. Now we get the WAR file into our new Tomcat webapps folder and download the WAR file

cd /var/lib/tomcat5.5/webapps/
wget http://download.forge.objectweb.org/xwiki/xwiki-enterprise-web-1.3.war

You have to copy the current direct link after "wget".

 

6. Then rename the WAR file and restart Tomcat

mv /var/lib/tomcat5.5/webapps/* /var/lib/tomcat5.5/webapps/xwiki.war
/etc/init.d/tomcat5.5 restart

After "webapps" replace the "star" with the filename from the link you just copied.



7. We have to copy the PostgreSQL OR MySQL JDBC Driver JAR

PostgreSQL Procedure

cd /var/lib/tomcat5.5/webapps/xwiki/WEB-INF/lib/
wget http://jdbc.postgresql.org/download/postgresql-8.3-603.jdbc4.jar

chown tomcat55:nogroup /var/lib/tomcat5.5/webapps/xwiki/WEB-INF/lib/postgresql-8.3-603.jdbc4.jar
/etc/init.d/tomcat5.5 restart

MySQL Procedure
Go to: http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.5.tar.gz/from/pick#mirrors.
Download it to your client, extract it and upload the "mysql-connector-java-5.1.5-bin.jar" file (661KB) into your "/home/user" directory (I hope you've disabled root-logins to your server).

mv /home/user/mysql-connector-java-5.1.5-bin.jar /var/lib/tomcat5.5/webapps/xwiki/WEB-INF/lib/mysql-connector-java-5.1.5-bin.jar
chown tomcat55:nogroup /var/lib/tomcat5.5/webapps/xwiki/WEB-INF/lib/mysql-connector-java-5.1.5-bin.jar
/etc/init.d/tomcat5.5 restart

 

8. Change hibernate.cfg.xml

vi /var/lib/tomcat5.5/webapps/xwiki/WEB-INF/hibernate.cfg.xml

<!-- PostgreSQL configuration.
Uncomment if you want to use PostgreSQL and comment out other database configurations.
Note that the database will be created automatically if it doesn't already exist.-->
<property name="connection.url">jdbc:postgresql://localhost:5432/xwiki</property>
<property name=”connection.username”>xwiki</property>
<property name=”connection.password”>xwiki</property>
<property name=”connection.driver_class”>org.postgresql.Driver</property>
<property name=”dialect”>org.hibernate.dialect.PostgreSQLDialect</property>
<property name=”connection.provider_class”>com.xpn.xwiki.store.DBCPConnectionProvider</property>
<property name=”connection.pool_size”>2</property>
<property name=”statement_cache.size”>2</property>
<mapping resource=”xwiki.hbm.xml”/>
<mapping resource=”feeds.hbm.xml”/> 

 

<!-- MySQL configuration.
Uncomment if you want to use MySQL and comment out other database configurations.
Note that the database will be created automatically if it doesn't already exist.-->
<property name="connection.url">jdbc:mysql://localhost/xwiki</property>
<property name="connection.username">xwiki</property>
<property name="connection.password">xwiki</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="connection.provider_class">com.xpn.xwiki.store.DBCPConnectionProvider</property>
<property name="connection.pool_size">2</property>
<property name="statement_cache.size">2</property>
<mapping resource="xwiki.hbm.xml"/>
<mapping resource="feeds.hbm.xml"/>

Attention! Be sure you uncommented ("<!--" starts a comment "-->" ends a comment) the right section (PostgreSQL OR MySQL). Further please check the username and the password (!) given in step 4.

 

9. Apache & Domain (optional)

If you want to access your XWiki only with an IP-address, you can skip this step as you should already be able to see your XWiki with http://MyIP:8180/xwiki

Otherwise we have to initiate some settings in our Apache configuration. If you already have a setting for your domain, change it accordingly. Otherwise just copy the highlighted part into the new file, which you create as following:

vi /etc/apache2/sites-enabled/domain.conf

NameVirtualHost MyIP:80

<VirtualHost MyIP:80>

DocumentRoot /var/www/
<Directory "/var/www/">
 Options -Indexes Includes FollowSymLinks
 AllowOverride All
 Allow from all
</Directory>

RedirectMatch permanent ^/$ http://domain/xwiki/

ProxyPass /xwiki http://domain:8082/xwiki/
ProxyPassReverse /xwiki  http://domain:8082/xwiki/

</VirtualHost> 

Replace "domain" with your actual domain-name.

Apache changes to the domain configuration file will require that the mod_alias and mod_proxy modules of Apache be enabled (Thanks to Aurora who pointed that out!). 'mod_alias' is required to use the RedirectMatch directive, and 'mod_proxy' is required to use the ProxyPass and ProxyPassReverse directives.

If alias.conf and proxy.conf do not appear in the /etc/apache2/mods-enabled directory they need to be enabled as follows:

a2enmod alias
a2enmod proxy 

/etc/init.d/apache2 restart

Restarts Apache. Now you should be able to see your XWiki with http://domain/

 

10. Change /var/lib/tomcat5.5/conf/tomcat-users.xml

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="admin"/>
<role rolename="manager"/>
<role rolename="tomcat"/>
<user username="tomcat"
password=”tomcatpassword”
roles="tomcat,admin,manager"/>
</tomcat-users>

Attention! This is may a security risk. I decided to combine every role to one user as I'm the only one who maintains the server. Change the "username" and the "password" accordingly.

 

11. Import initial content & settings

Go to: http://platform.xwiki.org/xwiki/bin/view/AdminGuide/Installation#HInstallingtheDefaultWikiXAR and follow the instructions there.

That's it!

 Last minute update => I had to change a part in my proxy.conf in '/etc/apache2/mods-enabled/

        <Proxy *>
                AddDefaultCharset off
                Order deny,allow
                Allow from all
                #Allow from .example.com

                # Define the character set for proxied FTP directory listings
                ProxyFtpDirCharset UTF-8
        </Proxy>
 

Share this page:

7 Comment(s)

Add comment

Comments

From:

I'm not sure if it was the contrib or non-free repository (most likely non-free), but I wasn't able to

apt-get install sun-java5-jdk

until after adding the additional repository.  Make sure you modify your /etc/apt/sources.list before step 1.  Something like:

deb http://mirrors.kernel.org/debian/ etch main contrib non-free

deb-src http://mirrors.kernel.org/debian/ etch main contrib non-free

works just fine.

From: Anonymous

ap-get update is required before install java

From:

Step 9 - Apache changes to the domain configuration file will require that the mod_alias and mod_proxy modules of Apache be enabled.

mod_alias is required to use the RedirectMatch directive, and

mod_proxy is required to use the ProxyPass and ProxyPassReverse directives.

If alias.conf and proxy.conf do not appear in the /etc/apache2/mods-enabled directory they need to be enabled as follows:

a2enmod alias

a2enmod proxy

From:

You had:

mysql -u root -e "create database xwiki"


that wouldn't work for me.

 

$ mysql -u root -p -e "create database xwiki"

worked, without the -p  MYSQL responded "access denied. with it, mysql responded with a password challenge and accepted it.

From:

Thanks, I've changed it.

From: AronP

 The line stating

> mv /var/lib/tomcat5.5/webapps/* /var/lib/tomcat5.5/webapps/xwiki.war

 seems a little dangerous to me, particularly as the bit about changing star comes after this.  Wouldn't it be safer to change to xwiki-enterprise-web-xxx.war or something.

From: abu sayeed

 Hi, I have just tried to install Xwiki Enterprise. I submit all details here. My OS-vertion Ubuntu 15.04.1 javac -version: javac 1.8.0_60 java -version: java version "1.8.0_60" Java(TM) SE Runtime Environment (build 1.8.0_60-b27) Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode) apache-tomcat-8.0.26.tar.gz mysql --version: mysql Ver 14.14 Distrib 5.6.25, for debian-linux-gnu (x86_64) using EditLine wrapper xwiki-enterprise-web-7.2-milestone-2.war mysql-connector-java-5.1.36.bin.jar JRE_HOME=/home/local/group/nazdaq/app/java/jdk/8.0.26 PATH=$PATH:$JRE_HOME/bin export JRE_HOME export PATH #/home/local/group/nazdaq/app/tomcat/8.0.26/conf/server.xml #/home/local/group/nazdaq/app/tomcat/8.0.26/bin/catalina.sh JAVA_OPTS=" -XX:MaxPermSize=256m -XX:NewSize=256m -Xmx800m " JAVA_OPTS="$JAVA_OPTS -Xmx2048m -Xss512K" #sudo apt-get mysql-server create a mysql user nazdaq mysql -uroot -pMySQL1234 CREATE USER 'nazdaq'@'localhost' IDENTIFIED BY 'MySQL1234'; GRANT ALL PRIVILEGES ON *.* TO 'nazdaq'@'localhost' WITH GRANT OPTION; CREATE USER 'nazdaq'@'%' IDENTIFIED BY 'MySQL1234'; GRANT ALL PRIVILEGES ON *.* TO 'nazdaq'@'%' WITH GRANT OPTION; creating a database CREATE DATABASE IF NOT EXISTS xwiki DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `xwiki`.* TO 'nazdaq'@'localhost'; #/home/local/group/nazdaq/app/tomcat/8.0.26/webapps/xwiki/WEB-INF/hibernate.cfg.xml jdbc:mysql://ip address/xwiki nazdaq MySQL1234 com.mysql.jdbc.Driver org.hibernate.dialect.MySQL5InnoDBDialect true 20 #chmod -R 755 /home/local/group/nazdaq/app/tomcat/8.0.26/webapps/xwiki/WEB-INF/lib #chown -R nazdaq:nazdaq /home/local/group/nazdaq/app/tomcat/8.0.26/webapps/xwiki/WEB-INF/lib #apache-tomcat restart. when I browse http://ip-address:8080 Tomcat-server installation successful. But when I type http://ip-address:8080/xwiki HTTP Status 500 - com.xpn.xwiki.XWikiException: Error number 11007 in 0: Failed to extract Entity Resource Reference from URL [http://10.33.255.193:8080/xwiki/bin/view/Main/] type Exception report message com.xpn.xwiki.XWikiException: Error number 11007 in 0: Failed to extract Entity Resource Reference from URL [http://10.33.255.193:8080/xwiki/bin/view/Main/] description The server encountered an internal error that prevented it from fulfilling this request. exception javax.servlet.ServletException: com.xpn.xwiki.XWikiException: Error number 11007 in 0: Failed to extract Entity Resource Reference from URL [http://10.33.255.193:8080/xwiki/bin/view/Main/] org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:520) org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:427) org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) javax.servlet.http.HttpServlet.service(HttpServlet.java:622) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:115) org.xwiki.wysiwyg.server.filter.ConversionFilter.doFilter(ConversionFilter.java:127) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63) com.xpn.xwiki.plugin.webdav.XWikiDavFilter.doFilter(XWikiDavFilter.java:66) org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208) org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111) org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:137) root cause com.xpn.xwiki.XWikiException: Error number 11007 in 0: Failed to extract Entity Resource Reference from URL [http://10.33.255.193:8080/xwiki/bin/view/Main/] com.xpn.xwiki.XWiki.initializeResourceFromURL(XWiki.java:746) com.xpn.xwiki.XWiki.getXWiki(XWiki.java:688) com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:229) com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:184) org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425) org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) javax.servlet.http.HttpServlet.service(HttpServlet.java:622) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:115) org.xwiki.wysiwyg.server.filter.ConversionFilter.doFilter(ConversionFilter.java:127) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63) com.xpn.xwiki.plugin.webdav.XWikiDavFilter.doFilter(XWikiDavFilter.java:66) org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208) org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111) org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:137) root cause java.lang.RuntimeException: Failed to located wiki descriptor for alias [10.33.255.193] org.xwiki.url.internal.standard.AbstractWikiReferenceExtractor.getWikiDescriptorByAlias(AbstractWikiReferenceExtractor.java:69) org.xwiki.url.internal.standard.DomainWikiReferenceExtractor.resolveDomainBasedWikiReference(DomainWikiReferenceExtractor.java:61) org.xwiki.url.internal.standard.DomainWikiReferenceExtractor.extract(DomainWikiReferenceExtractor.java:47) org.xwiki.url.internal.standard.entity.BinEntityResourceReferenceResolver.extractWikiReference(BinEntityResourceReferenceResolver.java:51) org.xwiki.url.internal.standard.entity.AbstractEntityResourceReferenceResolver.resolve(AbstractEntityResourceReferenceResolver.java:87) org.xwiki.url.internal.standard.entity.AbstractEntityResourceReferenceResolver.resolve(AbstractEntityResourceReferenceResolver.java:51) org.xwiki.url.internal.GenericResourceReferenceResolver.resolve(GenericResourceReferenceResolver.java:61) org.xwiki.url.internal.GenericResourceReferenceResolver.resolve(GenericResourceReferenceResolver.java:47) org.xwiki.url.internal.standard.StandardExtendedURLResourceReferenceResolver.resolve(StandardExtendedURLResourceReferenceResolver.java:64) org.xwiki.url.internal.standard.StandardExtendedURLResourceReferenceResolver.resolve(StandardExtendedURLResourceReferenceResolver.java:43) org.xwiki.url.internal.DefaultResourceReferenceResolver.resolve(DefaultResourceReferenceResolver.java:93) org.xwiki.url.internal.DefaultResourceReferenceResolver.resolve(DefaultResourceReferenceResolver.java:48) com.xpn.xwiki.XWiki.initializeResourceFromURL(XWiki.java:742) com.xpn.xwiki.XWiki.getXWiki(XWiki.java:688) com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:229) com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:184) org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425) org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) javax.servlet.http.HttpServlet.service(HttpServlet.java:622) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:115) org.xwiki.wysiwyg.server.filter.ConversionFilter.doFilter(ConversionFilter.java:127) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63) com.xpn.xwiki.plugin.webdav.XWikiDavFilter.doFilter(XWikiDavFilter.java:66) org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208) org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111) org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:137) root cause org.xwiki.wiki.manager.WikiManagerException: Failed to locate XWiki.XWikiServerClass document for wiki alias [10.33.255.193] org.xwiki.wiki.internal.descriptor.document.DefaultWikiDescriptorDocumentHelper.findXWikiServerClassDocumentReference(DefaultWikiDescriptorDocumentHelper.java:128) org.xwiki.wiki.internal.descriptor.document.DefaultWikiDescriptorDocumentHelper.findXWikiServerClassDocument(DefaultWikiDescriptorDocumentHelper.java:140) org.xwiki.wiki.internal.descriptor.DefaultWikiDescriptorManager.getByAlias(DefaultWikiDescriptorManager.java:146) org.xwiki.url.internal.standard.AbstractWikiReferenceExtractor.getWikiDescriptorByAlias(AbstractWikiReferenceExtractor.java:67) org.xwiki.url.internal.standard.DomainWikiReferenceExtractor.resolveDomainBasedWikiReference(DomainWikiReferenceExtractor.java:61) org.xwiki.url.internal.standard.DomainWikiReferenceExtractor.extract(DomainWikiReferenceExtractor.java:47) org.xwiki.url.internal.standard.entity.BinEntityResourceReferenceResolver.extractWikiReference(BinEntityResourceReferenceResolver.java:51) org.xwiki.url.internal.standard.entity.AbstractEntityResourceReferenceResolver.resolve(AbstractEntityResourceReferenceResolver.java:87) org.xwiki.url.internal.standard.entity.AbstractEntityResourceReferenceResolver.resolve(AbstractEntityResourceReferenceResolver.java:51) org.xwiki.url.internal.GenericResourceReferenceResolver.resolve(GenericResourceReferenceResolver.java:61) org.xwiki.url.internal.GenericResourceReferenceResolver.resolve(GenericResourceReferenceResolver.java:47) org.xwiki.url.internal.standard.StandardExtendedURLResourceReferenceResolver.resolve(StandardExtendedURLResourceReferenceResolver.java:64) org.xwiki.url.internal.standard.StandardExtendedURLResourceReferenceResolver.resolve(StandardExtendedURLResourceReferenceResolver.java:43) org.xwiki.url.internal.DefaultResourceReferenceResolver.resolve(DefaultResourceReferenceResolver.java:93) org.xwiki.url.internal.DefaultResourceReferenceResolver.resolve(DefaultResourceReferenceResolver.java:48) com.xpn.xwiki.XWiki.initializeResourceFromURL(XWiki.java:742) com.xpn.xwiki.XWiki.getXWiki(XWiki.java:688) com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:229) com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:184) org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425) org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) javax.servlet.http.HttpServlet.service(HttpServlet.java:622) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:115) org.xwiki.wysiwyg.server.filter.ConversionFilter.doFilter(ConversionFilter.java:127) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63) com.xpn.xwiki.plugin.webdav.XWikiDavFilter.doFilter(XWikiDavFilter.java:66) org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208) org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111) org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:137) root cause org.xwiki.query.QueryException: Exception while translating [where doc.object(XWiki.XWikiServerClass).server = :wikiAlias and doc.name like 'XWikiServer%'] XWQL query to the [hql] language. Query statement = [where doc.object(XWiki.XWikiServerClass).server = :wikiAlias and doc.name like 'XWikiServer%'] org.xwiki.query.xwql.internal.XWQLQueryExecutor.execute(XWQLQueryExecutor.java:123) org.xwiki.query.internal.DefaultQueryExecutorManager.execute(DefaultQueryExecutorManager.java:71) org.xwiki.query.internal.DefaultQuery.execute(DefaultQuery.java:287) org.xwiki.wiki.internal.descriptor.document.DefaultWikiDescriptorDocumentHelper.findXWikiServerClassDocumentReference(DefaultWikiDescriptorDocumentHelper.java:121) org.xwiki.wiki.internal.descriptor.document.DefaultWikiDescriptorDocumentHelper.findXWikiServerClassDocument(DefaultWikiDescriptorDocumentHelper.java:140) org.xwiki.wiki.internal.descriptor.DefaultWikiDescriptorManager.getByAlias(DefaultWikiDescriptorManager.java:146) org.xwiki.url.internal.standard.AbstractWikiReferenceExtractor.getWikiDescriptorByAlias(AbstractWikiReferenceExtractor.java:67) org.xwiki.url.internal.standard.DomainWikiReferenceExtractor.resolveDomainBasedWikiReference(DomainWikiReferenceExtractor.java:61) org.xwiki.url.internal.standard.DomainWikiReferenceExtractor.extract(DomainWikiReferenceExtractor.java:47) org.xwiki.url.internal.standard.entity.BinEntityResourceReferenceResolver.extractWikiReference(BinEntityResourceReferenceResolver.java:51) org.xwiki.url.internal.standard.entity.AbstractEntityResourceReferenceResolver.resolve(AbstractEntityResourceReferenceResolver.java:87) org.xwiki.url.internal.standard.entity.AbstractEntityResourceReferenceResolver.resolve(AbstractEntityResourceReferenceResolver.java:51) org.xwiki.url.internal.GenericResourceReferenceResolver.resolve(GenericResourceReferenceResolver.java:61) org.xwiki.url.internal.GenericResourceReferenceResolver.resolve(GenericResourceReferenceResolver.java:47) org.xwiki.url.internal.standard.StandardExtendedURLResourceReferenceResolver.resolve(StandardExtendedURLResourceReferenceResolver.java:64) org.xwiki.url.internal.standard.StandardExtendedURLResourceReferenceResolver.resolve(StandardExtendedURLResourceReferenceResolver.java:43) org.xwiki.url.internal.DefaultResourceReferenceResolver.resolve(DefaultResourceReferenceResolver.java:93) org.xwiki.url.internal.DefaultResourceReferenceResolver.resolve(DefaultResourceReferenceResolver.java:48) com.xpn.xwiki.XWiki.initializeResourceFromURL(XWiki.java:742) com.xpn.xwiki.XWiki.getXWiki(XWiki.java:688) com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:229) com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:184) org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425) org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) javax.servlet.http.HttpServlet.service(HttpServlet.java:622) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:115) org.xwiki.wysiwyg.server.filter.ConversionFilter.doFilter(ConversionFilter.java:127) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63) com.xpn.xwiki.plugin.webdav.XWikiDavFilter.doFilter(XWikiDavFilter.java:66) org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208) org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111) org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:137) root cause com.xpn.xwiki.XWikiException: Error number 3202 in 3: Exception while reading document [xwiki:XWiki.XWikiServerClass] com.xpn.xwiki.store.XWikiHibernateStore.loadXWikiDoc(XWikiHibernateStore.java:978) com.xpn.xwiki.store.XWikiCacheStore.loadXWikiDoc(XWikiCacheStore.java:299) com.xpn.xwiki.XWiki.getDocument(XWiki.java:1562) com.xpn.xwiki.XWiki.getDocument(XWiki.java:1609) com.xpn.xwiki.XWiki.getXClass(XWiki.java:5731) com.xpn.xwiki.XWiki.getClass(XWiki.java:5744) com.xpn.xwiki.doc.DefaultDocumentAccessBridge.isPropertyCustomMapped(DefaultDocumentAccessBridge.java:487) org.xwiki.query.xwql.internal.QueryContext$PropertyInfo.isCustomMapped(QueryContext.java:153) org.xwiki.query.xwql.internal.QueryContext$ObjectInfo.isCustomMapped(QueryContext.java:122) org.xwiki.query.xwql.internal.hql.ObjectPrinter.print(ObjectPrinter.java:37) org.xwiki.query.xwql.internal.hql.Printer.print(Printer.java:70) org.xwiki.query.xwql.internal.hql.XWQLtoHQLTranslator.translate(XWQLtoHQLTranslator.java:61) org.xwiki.query.xwql.internal.XWQLQueryExecutor.execute(XWQLQueryExecutor.java:90) org.xwiki.query.internal.DefaultQueryExecutorManager.execute(DefaultQueryExecutorManager.java:71) org.xwiki.query.internal.DefaultQuery.execute(DefaultQuery.java:287) org.xwiki.wiki.internal.descriptor.document.DefaultWikiDescriptorDocumentHelper.findXWikiServerClassDocumentReference(DefaultWikiDescriptorDocumentHelper.java:121) org.xwiki.wiki.internal.descriptor.document.DefaultWikiDescriptorDocumentHelper.findXWikiServerClassDocument(DefaultWikiDescriptorDocumentHelper.java:140) org.xwiki.wiki.internal.descriptor.DefaultWikiDescriptorManager.getByAlias(DefaultWikiDescriptorManager.java:146) org.xwiki.url.internal.standard.AbstractWikiReferenceExtractor.getWikiDescriptorByAlias(AbstractWikiReferenceExtractor.java:67) org.xwiki.url.internal.standard.DomainWikiReferenceExtractor.resolveDomainBasedWikiReference(DomainWikiReferenceExtractor.java:61) org.xwiki.url.internal.standard.DomainWikiReferenceExtractor.extract(DomainWikiReferenceExtractor.java:47) org.xwiki.url.internal.standard.entity.BinEntityResourceReferenceResolver.extractWikiReference(BinEntityResourceReferenceResolver.java:51) org.xwiki.url.internal.standard.entity.AbstractEntityResourceReferenceResolver.resolve(AbstractEntityResourceReferenceResolver.java:87) org.xwiki.url.internal.standard.entity.AbstractEntityResourceReferenceResolver.resolve(AbstractEntityResourceReferenceResolver.java:51) org.xwiki.url.internal.GenericResourceReferenceResolver.resolve(GenericResourceReferenceResolver.java:61) org.xwiki.url.internal.GenericResourceReferenceResolver.resolve(GenericResourceReferenceResolver.java:47) org.xwiki.url.internal.standard.StandardExtendedURLResourceReferenceResolver.resolve(StandardExtendedURLResourceReferenceResolver.java:64) org.xwiki.url.internal.standard.StandardExtendedURLResourceReferenceResolver.resolve(StandardExtendedURLResourceReferenceResolver.java:43) org.xwiki.url.internal.DefaultResourceReferenceResolver.resolve(DefaultResourceReferenceResolver.java:93) org.xwiki.url.internal.DefaultResourceReferenceResolver.resolve(DefaultResourceReferenceResolver.java:48) com.xpn.xwiki.XWiki.initializeResourceFromURL(XWiki.java:742) com.xpn.xwiki.XWiki.getXWiki(XWiki.java:688) com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:229) com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:184) org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425) org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) javax.servlet.http.HttpServlet.service(HttpServlet.java:622) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:115) org.xwiki.wysiwyg.server.filter.ConversionFilter.doFilter(ConversionFilter.java:127) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63) com.xpn.xwiki.plugin.webdav.XWikiDavFilter.doFilter(XWikiDavFilter.java:66) org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208) org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111) org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:137) root cause org.hibernate.MappingException: invalid configuration org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2241) org.hibernate.cfg.Configuration.configure(Configuration.java:2158) com.xpn.xwiki.store.hibernate.DefaultHibernateSessionFactory$1.configure(DefaultHibernateSessionFactory.java:132) com.xpn.xwiki.store.XWikiHibernateBaseStore.initHibernate(XWikiHibernateBaseStore.java:247) com.xpn.xwiki.store.XWikiHibernateBaseStore.checkHibernate(XWikiHibernateBaseStore.java:681) com.xpn.xwiki.store.XWikiHibernateStore.loadXWikiDoc(XWikiHibernateStore.java:842) com.xpn.xwiki.store.XWikiCacheStore.loadXWikiDoc(XWikiCacheStore.java:299) com.xpn.xwiki.XWiki.getDocument(XWiki.java:1562) com.xpn.xwiki.XWiki.getDocument(XWiki.java:1609) com.xpn.xwiki.XWiki.getXClass(XWiki.java:5731) com.xpn.xwiki.XWiki.getClass(XWiki.java:5744) com.xpn.xwiki.doc.DefaultDocumentAccessBridge.isPropertyCustomMapped(DefaultDocumentAccessBridge.java:487) org.xwiki.query.xwql.internal.QueryContext$PropertyInfo.isCustomMapped(QueryContext.java:153) org.xwiki.query.xwql.internal.QueryContext$ObjectInfo.isCustomMapped(QueryContext.java:122) org.xwiki.query.xwql.internal.hql.ObjectPrinter.print(ObjectPrinter.java:37) org.xwiki.query.xwql.internal.hql.Printer.print(Printer.java:70) org.xwiki.query.xwql.internal.hql.XWQLtoHQLTranslator.translate(XWQLtoHQLTranslator.java:61) org.xwiki.query.xwql.internal.XWQLQueryExecutor.execute(XWQLQueryExecutor.java:90) org.xwiki.query.internal.DefaultQueryExecutorManager.execute(DefaultQueryExecutorManager.java:71) org.xwiki.query.internal.DefaultQuery.execute(DefaultQuery.java:287) org.xwiki.wiki.internal.descriptor.document.DefaultWikiDescriptorDocumentHelper.findXWikiServerClassDocumentReference(DefaultWikiDescriptorDocumentHelper.java:121) org.xwiki.wiki.internal.descriptor.document.DefaultWikiDescriptorDocumentHelper.findXWikiServerClassDocument(DefaultWikiDescriptorDocumentHelper.java:140) org.xwiki.wiki.internal.descriptor.DefaultWikiDescriptorManager.getByAlias(DefaultWikiDescriptorManager.java:146) org.xwiki.url.internal.standard.AbstractWikiReferenceExtractor.getWikiDescriptorByAlias(AbstractWikiReferenceExtractor.java:67) org.xwiki.url.internal.standard.DomainWikiReferenceExtractor.resolveDomainBasedWikiReference(DomainWikiReferenceExtractor.java:61) org.xwiki.url.internal.standard.DomainWikiReferenceExtractor.extract(DomainWikiReferenceExtractor.java:47) org.xwiki.url.internal.standard.entity.BinEntityResourceReferenceResolver.extractWikiReference(BinEntityResourceReferenceResolver.java:51) org.xwiki.url.internal.standard.entity.AbstractEntityResourceReferenceResolver.resolve(AbstractEntityResourceReferenceResolver.java:87) org.xwiki.url.internal.standard.entity.AbstractEntityResourceReferenceResolver.resolve(AbstractEntityResourceReferenceResolver.java:51) org.xwiki.url.internal.GenericResourceReferenceResolver.resolve(GenericResourceReferenceResolver.java:61) org.xwiki.url.internal.GenericResourceReferenceResolver.resolve(GenericResourceReferenceResolver.java:47) org.xwiki.url.internal.standard.StandardExtendedURLResourceReferenceResolver.resolve(StandardExtendedURLResourceReferenceResolver.java:64) org.xwiki.url.internal.standard.StandardExtendedURLResourceReferenceResolver.resolve(StandardExtendedURLResourceReferenceResolver.java:43) org.xwiki.url.internal.DefaultResourceReferenceResolver.resolve(DefaultResourceReferenceResolver.java:93) org.xwiki.url.internal.DefaultResourceReferenceResolver.resolve(DefaultResourceReferenceResolver.java:48) com.xpn.xwiki.XWiki.initializeResourceFromURL(XWiki.java:742) com.xpn.xwiki.XWiki.getXWiki(XWiki.java:688) com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:229) com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:184) org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425) org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) javax.servlet.http.HttpServlet.service(HttpServlet.java:622) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:115) org.xwiki.wysiwyg.server.filter.ConversionFilter.doFilter(ConversionFilter.java:127) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63) com.xpn.xwiki.plugin.webdav.XWikiDavFilter.doFilter(XWikiDavFilter.java:66) org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208) org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111) org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:137) root cause org.xml.sax.SAXParseException; lineNumber: 228; columnNumber: 21; The content of element type "session-factory" must match "(property*,mapping*,(class-cache|collection-cache)*,event*,listener*)". org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source) org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(Unknown Source) org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(Unknown Source) org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source) org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) org.apache.xerces.parsers.XMLParser.parse(Unknown Source) org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) org.dom4j.io.SAXReader.read(SAXReader.java:465) org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2238) org.hibernate.cfg.Configuration.configure(Configuration.java:2158) com.xpn.xwiki.store.hibernate.DefaultHibernateSessionFactory$1.configure(DefaultHibernateSessionFactory.java:132) com.xpn.xwiki.store.XWikiHibernateBaseStore.initHibernate(XWikiHibernateBaseStore.java:247) com.xpn.xwiki.store.XWikiHibernateBaseStore.checkHibernate(XWikiHibernateBaseStore.java:681) com.xpn.xwiki.store.XWikiHibernateStore.loadXWikiDoc(XWikiHibernateStore.java:842) com.xpn.xwiki.store.XWikiCacheStore.loadXWikiDoc(XWikiCacheStore.java:299) com.xpn.xwiki.XWiki.getDocument(XWiki.java:1562) com.xpn.xwiki.XWiki.getDocument(XWiki.java:1609) com.xpn.xwiki.XWiki.getXClass(XWiki.java:5731) com.xpn.xwiki.XWiki.getClass(XWiki.java:5744) com.xpn.xwiki.doc.DefaultDocumentAccessBridge.isPropertyCustomMapped(DefaultDocumentAccessBridge.java:487) org.xwiki.query.xwql.internal.QueryContext$PropertyInfo.isCustomMapped(QueryContext.java:153) org.xwiki.query.xwql.internal.QueryContext$ObjectInfo.isCustomMapped(QueryContext.java:122) org.xwiki.query.xwql.internal.hql.ObjectPrinter.print(ObjectPrinter.java:37) org.xwiki.query.xwql.internal.hql.Printer.print(Printer.java:70) org.xwiki.query.xwql.internal.hql.XWQLtoHQLTranslator.translate(XWQLtoHQLTranslator.java:61) org.xwiki.query.xwql.internal.XWQLQueryExecutor.execute(XWQLQueryExecutor.java:90) org.xwiki.query.internal.DefaultQueryExecutorManager.execute(DefaultQueryExecutorManager.java:71) org.xwiki.query.internal.DefaultQuery.execute(DefaultQuery.java:287) org.xwiki.wiki.internal.descriptor.document.DefaultWikiDescriptorDocumentHelper.findXWikiServerClassDocumentReference(DefaultWikiDescriptorDocumentHelper.java:121) org.xwiki.wiki.internal.descriptor.document.DefaultWikiDescriptorDocumentHelper.findXWikiServerClassDocument(DefaultWikiDescriptorDocumentHelper.java:140) org.xwiki.wiki.internal.descriptor.DefaultWikiDescriptorManager.getByAlias(DefaultWikiDescriptorManager.java:146) org.xwiki.url.internal.standard.AbstractWikiReferenceExtractor.getWikiDescriptorByAlias(AbstractWikiReferenceExtractor.java:67) org.xwiki.url.internal.standard.DomainWikiReferenceExtractor.resolveDomainBasedWikiReference(DomainWikiReferenceExtractor.java:61) org.xwiki.url.internal.standard.DomainWikiReferenceExtractor.extract(DomainWikiReferenceExtractor.java:47) org.xwiki.url.internal.standard.entity.BinEntityResourceReferenceResolver.extractWikiReference(BinEntityResourceReferenceResolver.java:51) org.xwiki.url.internal.standard.entity.AbstractEntityResourceReferenceResolver.resolve(AbstractEntityResourceReferenceResolver.java:87) org.xwiki.url.internal.standard.entity.AbstractEntityResourceReferenceResolver.resolve(AbstractEntityResourceReferenceResolver.java:51) org.xwiki.url.internal.GenericResourceReferenceResolver.resolve(GenericResourceReferenceResolver.java:61) org.xwiki.url.internal.GenericResourceReferenceResolver.resolve(GenericResourceReferenceResolver.java:47) org.xwiki.url.internal.standard.StandardExtendedURLResourceReferenceResolver.resolve(StandardExtendedURLResourceReferenceResolver.java:64) org.xwiki.url.internal.standard.StandardExtendedURLResourceReferenceResolver.resolve(StandardExtendedURLResourceReferenceResolver.java:43) org.xwiki.url.internal.DefaultResourceReferenceResolver.resolve(DefaultResourceReferenceResolver.java:93) org.xwiki.url.internal.DefaultResourceReferenceResolver.resolve(DefaultResourceReferenceResolver.java:48) com.xpn.xwiki.XWiki.initializeResourceFromURL(XWiki.java:742) com.xpn.xwiki.XWiki.getXWiki(XWiki.java:688) com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:229) com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:184) org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425) org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) javax.servlet.http.HttpServlet.service(HttpServlet.java:622) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:115) org.xwiki.wysiwyg.server.filter.ConversionFilter.doFilter(ConversionFilter.java:127) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63) com.xpn.xwiki.plugin.webdav.XWikiDavFilter.doFilter(XWikiDavFilter.java:66) org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208) org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111) org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:137) note The full stack trace of the root cause is available in the Apache Tomcat/8.0.26 logs. Apache Tomcat/8.0.26