Installation
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 3 ways of installing XWiki:
- Use the Standalone distribution 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 WAR distribution and configure both your container and your database to work with it.
- Use the .deb package to install the last version of XWiki and the dependencies.
If you're upgrading an existing XWiki install check the Upgrade instructions page.
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 the Admin Guide for configuring and securing your wiki.
Prerequisites
- Java 7 or greater installed (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)
- Enough memory, check the Memory section of the Performance Guide.
- Check the release notes for the version you're installing to see what browsers and databases are supported for it. You can also check our general support strategy.
Tutorials
Tutorials are step by step procedures to install XWiki for a specific configuration. You can choose to follow one of them or follow the instructions in the sections below.
- XWiki On OpenShift (Platform-as-a-Service)
- XWiki On Windows (French)
- XWiki On Debian 4 (Etch) - Tomcat - PostgreSQL (or MySQL) (English)
- XWiki On Debian 4 (Etch) - Tomcat - PostgreSQL (or MySQL) (German)
- XWiki On Windows - GlassFish - Oracle (Russian)
- XWiki on OpenSUSE - Tomcat - MySQL (English)
- XWiki On Archlinux - Tomcat - hsql or MySQL (English)
Installation Methods
Using a standalone distribution
It 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 two other options.
Using .war package (usable for production)
It 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.
Using .deb package (usable for production)
It provides a .deb package that can be used on a Debian-based operating system. It can be installed with dpkg or apt; installation is thus automated.
Using yaourt on Arch Linux
To install or upgrade on Arch Linux: yaourt -S xwiki-enterprise.
Troubleshooting
You can verify some basic settings of your XWiki installation (on Tomcat, MySQL) using the Admin Tools application. 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
...
Caused by:
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 Java Networking and Proxies documentation for more details.
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
Three solutions:
- Set up a local Extension Repository, either as a Maven Repository or using the Extension Repository Application. Of course you'll need to prefill it with all the extensions you'll wish to install when offline, which isn't something easy to do.
- Install the Standalone Distribution which contains a default set of wiki pages.
- Do not use the Distribution Wizard and import default wiki pages using the XAR Import feature.