XWiki is a Java-based wiki and runs on a Servlet Container such as Tomcat, Jetty, JBoss, WebLogic, WebSphere, etc. It also uses a relational database to store its content. It can run on almost any database (HSQL, MySQL, etc) but XWiki and the database need to be setup correctly.
There are several ways of installing XWiki:
- Use the which already packages a Servlet Container (Jetty) and a database (HSQL), filled with default wiki pages. This is the recommended option for first time XWiki users and for users who wish to quickly try out XWiki.
- Use the and configure both your container and your database to work with it.
- Use the to install the last version of XWiki and the dependencies.
If you're upgrading an existing XWiki install check the.
Pick one of the trails in the outline on the right to get started.
Once you've finished the installation check the other topics in thefor configuring and your wiki.
Hardware and Software requirements
- Java 1.8.0_101 or greater installed for XWiki >= 8.1 (Java 7 or greater for XWiki < 8.1, Java 6 or greater for XWiki versions < 6.0)
- A Servlet Container supporting Servlet 3.0.1 (Servlet 2.4 for XWiki versions < 7.0)
- A JDBC 4 Driver for your database (JDBC 3 was required for XWiki versions < 7.0)
- Enough memory, check the of the .
- Check the for the version you're installing to see what browsers and databases are supported for it. You can also check our .
- : Provides a built-in XWiki, with a portable database and a lightweight Java container. This standalone distribution is not recommended in a production environment. If you need to use it in a production basis, you may look at the other options.
- : Provides a Java application package that has to be installed in a Java container (such as Tomcat). This can be used on almost any operating system.
- dpkg or apt; installation is thus automated. : Provides a .deb package that can be used on a Debian-based operating system. It can be installed with
- : Provides an easy solution to test XWiki, with a configuration very close to a production setup.
Other Installation Methods
This section is about other, non-official ways of installing XWiki that have been contributed by the community.
You can verify some basic settings of your XWiki installation (on Tomcat, MySQL) using the. Keep in mind that some of these tools only work in a Linux environment.
Running multiple instances of XWiki in the same container
If you get this error:
Wrapped Exception: Failed to get cache factory component
org.infinispan.jmx.JmxDomainConflictException: Domain already registered org.xwiki.infinispan
You need to edit WEB-INF/cache/infinispan/config.xml for each instance of XWiki, and change the jmxDomain value (found under the globalJmxStatistics tag) to have a unique name.
Running XWiki behind proxy-server
Extension manager relies on remote repositories for searching and fetching available extensions, so if your XWiki is installed in a network accessing the internet through proxy-server, most likely extensions search will return you nothing and log files will contain connection refused exceptions.
In such cases you should configure XWiki to know your proxy-server.
XWiki uses default Java proxy configuration through Apache httpclient. See the
The main idea is to add a set of proxy-related properties to system scope.
E.g. for Tomcat 6 it could be done in the following way: modify /<tomcat-home>/bin/catalina.sh and added proxies to the JAVA_OPTS variable definition:
JAVA_OPTS="$JAVA_OPTS -Dappserver.home=$CATALINA_HOME -Dappserver.base=$CATALINA_HOME -Dhttp.proxyHost=proxy.mycompany.com -Dhttp.proxyPort=7777 -Dhttps.proxyHost=proxy.mycompany.com -Dhttps.proxyPort=7777 -Xmx512m -XX:MaxPermSize=196m $XWIKI_OPTS"
Unsupported major.minor version 51.0
This is because starting with version 6.0, XWiki requires Java 7 and you're using Java 6. You need to upgrade your Java version.
Installing without internet connection
- Set up a local Extension Repository, either as a Maven Repository or using the . Of course you'll need to , which isn't something easy to do.
- which contains a default set of wiki pages.
- Do not use the Distribution Wizard and .
Getting an error about SSL certificate
If you get an error in the log telling you that it fail to access some some https website it usually means you have a too old version of Java 8 (older that update 101) and you should upgrade it (does not need to be upgraded to next major version of Java, just make sure you have at least Java 8 update 101).
org.xwiki.extension.repository.search.SearchException: Failed to search extensions based on pattern 
Caused by: java.io.IOException: Failed to request [https://store.xwiki.com/xwiki/rest/repository/search?start=0&number=20&q=]
Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target