Starting with XWiki 3.3, it's possible to download and install automatically XWiki and every component needed for a production instance in a one shot, with the help of our new .deb packages, into our repository.
This method should work on every Debian-based linux distribution. Feel free to use the user Mailing List to report an issue, or discuss about it.
Before you start make sure you've checked the System Requirements.
First Step : APT Configuration
First, you have to configure your package manager in order to use xwiki's repository. This can be done simply, using this command:
sudo wget "http://maven.xwiki.org/stable/xwiki-stable.list" -P /etc/apt/sources.list.d/
Now you can update the packages database to read the data from this repository.
Now you can make a little search to see what this repo offers.
It shows the following packages (the exact list depends on the version the repository contains):
- xwiki-enterprise-common - XWiki enterprise, you can install this if you want to take care yourself of the database and application server
- xwiki-enterprise-mysql-common - XWiki enterprise MySQL common package, you can install this if you want to take care yourself of the application server
- xwiki-enterprise-pgsql-common - XWiki enterprise PostgreSQL common package, you can install this if you want to take care yourself of the application server
- xwiki-enterprise-tomcat-common - XWiki enterprise Tomcat common package, you can install this if you want to take care yourself of the version of tomcat to install and the database
- xwiki-enterprise-tomcat5-mysql - XWiki enterprise Tomcat5/MySQL based package
- xwiki-enterprise-tomcat6-mysql - XWiki enterprise Tomcat6/MySQL based package
- xwiki-enterprise-tomcat7-mysql - XWiki enterprise Tomcat7/MySQL based package
- xwiki-enterprise-tomcat8-mysql - XWiki enterprise Tomcat8/MySQL based package
- xwiki-enterprise-tomcat5-pgsql - XWiki enterprise Tomcat5/PostgreSQL
- xwiki-enterprise-tomcat6-pgsql - XWiki enterprise Tomcat6/PostgreSQL
- xwiki-enterprise-tomcat7-pgsql - XWiki enterprise Tomcat7/PostgreSQL
- xwiki-enterprise-tomcat8-pgsql - XWiki enterprise Tomcat8/PostgreSQL
- xwiki-solr-data - A pre configured Solr core to be used to setup a standalone instance of Solr for XWiki
Second Step : Complete Installation
Using MySQL
As you may now, you only have to run this command to install all the interesting components.
This virtual package depends on xwiki-enterprise-common, xwiki-enterprise-tomcat-common, xwiki-enterprise-mysql-common, mysql-server, tomcat7 and libmysql-java.
During the installation, you may have some questions from dbconfig, in charge of the configuration of the database. Don't confuse it with the MySQL root password prompt, which beg you to put a password for the superuser.
DBconfig prompt is about the configuration of xwiki and mysql. If you haven't any mysql already installed and you aren't familiar with it, you should let dbconfig handle this.
DBconfig is then asking you for the mysql root password (you may have entered before). Then, you can choose the password for the "xwiki" mysql user. This user will be used to connect from XWiki application, choose is wisely, but you don't have to pay a lot of attention to it, because after that, dbconfig is configuring XWiki automatically with these credentials.
The installation now ends, with the automatic start of tomcat daemon ("Starting Tomcat servlet engine tomcat7 [OK]").
You can now point your favorite browser to the following URL to use your wiki: http://localhost:8080/xwiki
Using PostgreSQL
It's as simple as the MySQL installation, you only need to choose the right virtual package.
You can now point your favorite browser to the following URL to use your wiki: http://localhost:8080/xwiki
PostgreSQL is slightly different than MySQL in the handling of databases and in the manual configuration, but everything should work on the first try.
Security settings
Open /etc/xwiki/xwiki.cfg file and change lines:
...
#-# Cookie encryption keys. You SHOULD replace these values with any random string,
#-# as long as the length is the same.
xwiki.authentication.validationKey=your1stkeyhere
xwiki.authentication.encryptionKey=your2ndkeyhere
...If you need, add password to the built-in superadmin account, by changing line:
...
#-# Enable to allow superadmin. It is disabled by default as this could be a
#-# security breach if it were set and you forgot about it. Should only be enabled
#-# for recovering the Wiki when the rights are completely messed.
xwiki.superadminpassword=yourpassword
...
Tomcat Usability
The script to command tomcat daemon is /etc/init.d/tomcat7.
/etc/init.d/tomcat7 stop
/etc/init.d/tomcat7 restart
To customize your Tomcat instance (and thus, XWiki) you have to modify the /etc/default/tomcat7 file. The most important thing to do is to modify the memory value allocated to Tomcat. Indeed, Tomcat is by default configured to use 128Mb of RAM, which is clearly a low value likely to create a memory leak and crash. We advise to uncomment and modify the CATALINA_OPTS line in the tomcat7 file, replacing it by:
You should check the Memory settings we recommend.
XWiki 6+ requires Java 7. If you have multiple versions of Java installed on your server you can force Tomcat to use Java 7 by uncommenting the JAVA_HOME variable and setting it to the correct path. For example:
Concluding Step
Uninstallation
If you want to remove XWiki from your system, you only have to uninstall the package you've installed at the beginning of this documentation. For example:
Attention, these commands do not remove mysql nor tomcat from your system. To do so, if you don't use these applications for another purpose, you can make some cleaning with
Overview of the important files
Here is a list of a different tree. The point is to help you find useful files easily. This list is showing a few files and directories, to keep it simple and clear. The '->' is used to show a link to another file/directory.
XWiki
/etc/xwiki/
_ hibernate.cfg.xml Hibernate configuration, helping to configure the database resources
_ xwiki.cfg
_ xwiki.properties
/usr/lib/xwiki/
_ META-INF
_ resources
_ skins
_ templates
_ WEB-INF
_ hibernate.cfg.xml -> /etc/xwiki/hibernate.cfg.xml
_ xwiki.cfg -> /etc/xwiki/xwiki.cfg
_ xwiki.properties -> /etc/xwiki/xwiki.properties
Tomcat
/etc/tomcat7/
_ context.xml
_ logging.properties
_ server.xml
_ tomcat-users.xml
_ web.xml
/etc/default/
_ tomcat7 This file helps configuring the Tomcat daemon. Every change needs a restart to be effective
/etc/init.d/
_ tomcat7 Daemon start/stop script
/var/lib/tomcat7/
_ common
_ conf -> /etc/tomcat7
_ logs -> ../../log/tomcat7
_ server
_ shared
_ webapps
/var/log/tomcat7/
_ catalina.out First logging file. Check this one if you're experiencing troubles with Tomcat/XWiki.
MySQL
/etc/mysql/
_ debian.cnf
_ my.cnf Database configuration. Max_allowed_packet is the parameter you need to change to improve upload data size. permitted.
/var/lib/mysql/
_ mysql
_ xwiki This is the xwiki database. You may want to backup this directory from time to time.
/var/log/
_ syslog
_ mysql
_ error.log
PostgreSQL
/etc/postgresql/
_ <version>
_ main
_ postgresql.conf
_ pg_hba.conf
/var/lib/postgresql/8.4/main/
_ base
Troobeshooting
Bad version of PotgreSQL driver on Debian Wheezy
The version of the PotgreSQL driver on Debian Wheezy is the 9.1 (at least when writing those lines) which seems to not work well with XWiki. You will have to upgrade it.
Other useful info
XWiki as root webapp
- Open folder /etc/tomcat7/Catalina/localhost.
- Delete ROOT.xml (if it exists)
- Rename xwiki.xml to ROOT.xml (after this operation you shouldn't have any xwiki.xml link)
- Edit ROOT.xml after renaming, change ..path="/xwiki".. to ..path="/"..
- Save ROOT.xml
- Restart Tomcat