Show last authors
1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
4
5 This distribution allows installing XWiki and every component needed for a production instance automatically.
6
7 This method works for all Debian-based linux distribution. Feel free to use [[the User Forum>>dev:Community.Discuss]] to report issues, or discuss about it.
8
9 = APT Configuration =
10
11 First, you have to configure your package manager in order to use xwiki's repository. This can be done simply, using this command:
12
13 {{code language="bash"}}
14 wget -q "https://maven.xwiki.org/public.gpg" -O- | sudo apt-key add -
15 sudo wget "https://maven.xwiki.org/stable/xwiki-stable.list" -P /etc/apt/sources.list.d/
16 {{/code}}
17
18 {{info}}
19 Note that there is several repositories you can choose (as alternatives to the stable one you have in the previous example):
20
21 * [[https://maven.xwiki.org/releases/xwiki-releases.list]]: all released versions including milestones and release candidates (beta)
22 * [[https://maven.xwiki.org/stable/xwiki-stable.list]]: all released versions excluding milestones and release candidates (stable)
23 * [[https://maven.xwiki.org/lts/xwiki-lts.list]]: the current "long term support" branch versions as defined in [[Support page>>xwiki:Main.Support]]
24 {{/info}}
25
26 Now you can update the packages database to read the data from this repository.
27
28 {{code language="bash"}}
29 sudo apt-get update
30 {{/code}}
31
32 {{info}}
33 I'll assume you're using APT tools. You can use Aptitude as well.
34 {{/info}}
35
36 Now you can make a little search to see what this repo offers.
37
38 {{code language="bash"}}
39 apt-cache search xwiki
40 {{/code}}
41
42 It shows the following packages (the exact list depends on the version the repository contains):
43
44 * xwiki-common - XWiki, you can install this if you want to take care yourself of the database and application server
45 * xwiki-mysql-common - XWiki MySQL common package, you can install this if you want to take care yourself of the application server
46 * xwiki-pgsql-common - XWiki PostgreSQL common package, you can install this if you want to take care yourself of the application server
47 * xwiki-tomcat8-common - XWiki Tomcat 8 common package, you can install this if you want to take care yourself of the database link
48 * xwiki-tomcat9-common - XWiki Tomcat 9 common package, you can install this if you want to take care yourself of the database link
49 * xwiki-tomcat8-mysql - XWiki Tomcat 8/MySQL based package
50 * xwiki-tomcat9-mysql - XWiki Tomcat 9/MySQL based package
51 * xwiki-tomcat8-pgsql - XWiki Tomcat 8/PostgreSQL
52 * xwiki-tomcat9-pgsql - XWiki Tomcat 9/PostgreSQL
53 * xwiki-solr-data - A pre configured Solr core to be used to setup a standalone instance of Solr for XWiki
54
55 Plus legacy packages from older versions of XWiki like xwiki-enterprise-* packages or for unsupported versions of Tomcat.
56
57 {{error}}
58 xwiki-enterprise-* packages were deprecated as of 9.4. Installations requiring those packages will appear to have stopped updating at version 9.4. Install the corresponding xwiki-* package to update to the latest version. (For example, if you were relying on the xwiki-enterprise-tomcat8-mysql package, you will now need to install the xwiki-tomcat8-mysql package.)
59 {{/error}}
60
61 {{info}}
62 According to selection, package manager will install all necessary dependencies (application server, database, Java runtime). If you haven't installed these packages before, package manager can ask additional info from you.
63 {{/info}}
64
65 {{warning}}
66 On Ubuntu you will need [[##universe## repository>>https://help.ubuntu.com/community/Repositories/CommandLine]] to install Tomcat packages. It's generally enabled by default.
67 {{/warning}}
68
69 = Java 8 =
70
71 XWiki require Java 8 since XWiki 8.1, **OpenJDK 8** will be automatically installed as dependency on recent distributions.
72
73 {{warning}}
74 In some cases Java 11 might be installed and activated by default. If you have both Java version (8 and 11) in your distribution, you can modify ##/etc/default/tomcat8## to point to a java8 JAVA_HOME
75 {{/warning}}
76
77 For some older distributions the problem is that Ubuntu and Debian did not bothered put OpenJDK 8 on older but still supported distributions default repositories (for example Ubuntu 14.04 or Debian Wheezy/Jessie). For those you will have to make sure there is some repository with it so that Java 8 is installed as a package so that XWiki find it as dependency.
78
79 Also if you have several versions of Java installed you might need to explicitly tell Tomcat which one to use after the install. See [[Tomcat Usability section>>||anchor="HJavaVersion"]].
80
81 Here is a few helpers for specific distributions:
82
83 == Ubuntu 14.04 (Trusty Tahr), Debian < 9 ==
84
85 * AdoptOpenJDK provide a Debian repository to install OpenJDK, see https://adoptopenjdk.net/installation.html#linux-pkg
86
87 = Complete Installation =
88
89 {{warning}}
90 Most Debian distributions provide a Tomcat package with a pretty low Memory setting by default (128MB) and this need to be increased for XWiki to fully work. See [[Tomcat Usability section>>||anchor="HTomcatUsability"]] for more details.
91 {{/warning}}
92
93 == Using MySQL ==
94
95 You only have to run this command to install all the interesting components.
96
97 {{code language="bash"}}
98 sudo apt-get install xwiki-tomcat9-mysql
99 {{/code}}
100
101 This package depends on xwiki-common, xwiki-tomcat9-common, xwiki-mysql-common, mysql-server, tomcat9 and libmysql-java. You might have to select a different version of Tomcat depending on what's available in your system repository.
102
103 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.
104 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.
105
106 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 it 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.
107
108 The installation now ends, with the automatic start of tomcat daemon ("Starting Tomcat servlet engine tomcat9 [OK]").
109
110 {{warning}}
111 Note that your wiki is absolutely empty, like a WAR installation. Distribution Wizard will take care of the rest.
112 {{/warning}}
113
114 == Using PostgreSQL ==
115
116 It's as simple as the MySQL installation, you only need to choose the right virtual package.
117
118 {{code language="bash"}}
119 sudo apt-get install xwiki-tomcat9-pgsql
120 {{/code}}
121
122 After you've made sure to update the memory settings (see below), you can now point your favorite browser to the following URL to use your wiki: ##http:~/~/localhost:8080/xwiki##
123
124 PostgreSQL is slightly different than MySQL in the handling of databases and in the manual configuration, but everything should work on the first try.
125
126 == Security settings ==
127
128 1. (((
129 Open ##/etc/xwiki/xwiki.cfg## file and change lines:
130
131 {{code language="none"}}
132 ...
133 #-# Cookie encryption keys. You SHOULD replace these values with any random string,
134 #-# as long as the length is the same.
135 xwiki.authentication.validationKey=your1stkeyhere
136 xwiki.authentication.encryptionKey=your2ndkeyhere
137 ...
138 {{/code}}
139 )))
140 1. (((
141 If you need, add password to the built-in superadmin account, by changing line:
142
143 {{code language="none"}}
144 ...
145 #-# Enable to allow superadmin. It is disabled by default as this could be a
146 #-# security breach if it were set and you forgot about it. Should only be enabled
147 #-# for recovering the Wiki when the rights are completely messed.
148 xwiki.superadminpassword=yourpassword
149 ...
150 {{/code}}
151 )))
152
153 == Tomcat Usability ==
154
155 You can find various generic advices and troubleshooting related to Tomcat on https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Installation/InstallationWAR/InstallationTomcat/.
156
157 === Java Version ===
158
159 Make sure Tomcat is executed with the right [[Java version>>platform:AdminGuide.Installation||anchor="HHardwareandSoftwarerequirements"]].
160
161 This is usually indicated in the file ##/etc/default/tomcat8## (or ##/etc/default/tomcat7## for Tomcat 7, etc).
162
163 === Memory ===
164
165 The default Tomcat memory setup is too low for XWiki's needs.
166
167 You can change it in the file ##/etc/default/tomcat8## (or ##/etc/default/tomcat7## for Tomcat 7, etc).
168
169 Modify the property ##JAVA_OPTS##. For example:
170
171 {{code language="none"}}
172 JAVA_OPTS="-Djava.awt.headless=true -Xmx1024m"
173 {{/code}}
174
175 You should [[check the Memory settings we recommend>>platform:AdminGuide.Performances||anchor="HMemory"]].
176
177 === /dev/urandom ===
178
179 In most Debian-based systems the default random implementation is ##/dev/random## which can be very slow. ##/dev/urandom## is much faster and it's fine for XWiki's needs so you should use it when possible:
180
181 * edit ##/etc/default/tomcat8## file and add
182
183 {{code language="bash"}}
184 JAVA_OPTS="${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom"
185 {{/code}}
186
187 = Concluding Step =
188
189 {{include reference="Documentation.AdminGuide.Installation.InstallationConcludingSteps.WebHome"/}}
190
191 = Uninstallation =
192
193 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:
194
195 {{code language="bash"}}
196 sudo apt-get --purge remove xwiki-common
197 {{/code}}
198
199 Attention, these commands do not remove MySQL/PostgreSQL nor Tomcat from your system. To do so, if you don't use these applications for another purpose, you can make some cleaning with
200
201 {{code language="bash"}}
202 sudo apt-get --purge autoremove
203 {{/code}}
204
205 = Troubleshooting =
206
207 You can find a generic Troubleshooting section on [[https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Installation/#HTroubleshooting]].
208
209 == My wiki is empty after upgrading a Tomcat9 based package ==
210
211 === Upgrading from another Tomcat 9 based package ===
212
213 This generally means that you installed a Tomcat 9 based package before one of 10.11.11, 11.3.7, 12.0-rc-1 or 11.10.3 and the data were store in a temporary location (generally /var/cache/tomcat9/Catalina/localhost/xwiki).
214
215 You will need to find where was the data stored and move it to ##/var/lib/xwiki/data##.
216
217 If you don't find the previous data take a look at a previous logs (in /var/log/tomcat9/) and search for "Falling back on".
218
219 === Previous from a package based on a version of Tomcat lower than 9 ===
220
221 This is caused by the bug https://jira.xwiki.org/browse/XWIKI-16943 which is fixed in 10.11.11, 11.3.7, 12.0-rc-1 an 11.10.3.
222
223 The workaround is to execute the following commands:
224
225 * {{code language="sh"}}mkdir /etc/systemd/system/tomcat9.service.d/{{/code}}
226 * {{code language="sh"}}echo -e "[Service]\nReadWritePaths=/var/lib/xwiki/data" > /etc/systemd/system/tomcat9.service.d/override.conf{{/code}}
227 * {{code language="sh"}}systemctl daemon-reload{{/code}}
228 * {{code language="sh"}}systemctl restart tomcat9.service{{/code}}
229
230 == Java ==
231
232 The chart macro doesn't appear to be working with a clean install. It gives an error:
233
234 > Failed to execute the [chart] macro. Cause: [Could not initialize class org.jfree.chart.JFreeChart].
235
236 In some Debian/Ubuntu version a broken accessibility option is enabled by default on Java 8 and it's what is causing this error. See https://jira.xwiki.org/browse/XWIKI-16993 and https://bugs.launchpad.net/ubuntu/+source/openjdk-6/+bug/935296 for more details.
237
238 To disable it go to ##/etc/java-8-openjdk/accessibility.properties## (or another path depending on your version of Java) and comment the line:
239
240 {{code language="properties"}}
241 # assistive_technologies=org.GNOME.Accessibility.AtkWrapper
242 {{/code}}
243
244 == Tomcat ==
245
246 See [[Tomcat Installation>>platform:AdminGuide.InstallationTomcat||anchor="HTroubleshooting"]] for generic Tomcat related issues.
247
248 == MySQL ==
249
250 See [[MySQL Installation>>platform:AdminGuide.InstallationMySQL||anchor="HTroubleshooting"]] for generic MySQL related issues.
251
252 == PostgreSQL ==
253
254 See [[PostgreSQL Installation>>platform:AdminGuide.InstallationPostgreSQL||anchor="HTroubleshooting"]] for generic PostgreSQL related issues.
255
256 = Other useful info =
257
258 == XWiki as root webapp (short URLs) ==
259
260 {{warning}}
261 When doing it make sure to check after upgrade if all is OK in /etc/tomcat8/Catalina/localhost folder (xwiki.xml might be restored).
262 {{/warning}}
263
264 * Rename file ##/etc/tomcat7/Catalina/localhost/xwiki.xml## into ##/etc/tomcat8/Catalina/localhost/ROOT.xml##
265 * Edit file ##/etc/xwiki/xwiki-tomcat8.xml## (or ##/etc/xwiki/xwiki-tomcat7.xml## depending on your tomcat version) and modify ##Context## XML element path from ##/xwiki## to ##/## as in moving from(((
266 {{code language="xml"}}
267 <Context path="/xwiki" docBase="/usr/lib/xwiki" privileged="true" allowLinking="true" crossContext="true">
268 <!-- make symlinks work in Tomcat -->
269 <Resources className="org.apache.naming.resources.FileDirContext" allowLinking="true" />
270 </Context>
271 {{/code}}
272
273 to
274
275 {{code language="xml"}}
276 <Context path="/" docBase="/usr/lib/xwiki" privileged="true" allowLinking="true" crossContext="true">
277 <!-- make symlinks work in Tomcat -->
278 <Resources className="org.apache.naming.resources.FileDirContext" allowLinking="true" />
279 </Context>
280 {{/code}}
281 )))
282 * Edit file ##/etc/xwiki/xwiki.cfg## and uncomment {{code language="properties"}}xwiki.webapppath={{/code}}
283
284 Note that this is only the part of Short URL which is specific to the Debian setup, for the rest you will have to look at [[the generic documentation>>doc:Documentation.AdminGuide.ShortURLs.WebHome]].
285
286 == Integrate with LibreOffice ==
287
288 Install libreoffice with {{code language="none"}}sudo apt-get install libreoffice{{/code}}.
289
290 And setup XWiki to automatically start and access libreoffice in ##/etc/xwiki/xwiki.properties##:
291
292 {{code language="properties"}}
293 openoffice.autoStart=true
294 openoffice.homePath=/usr/lib/libreoffice/
295 {{/code}}
296
297 See [[Office Importer Application>>extensions:Extension.Office Importer Application]] for more details.
298
299 == Standalone Solr setup ==
300
301 Take a look at [[Solr documentation>>https://lucene.apache.org/solr/guide/8_1/taking-solr-to-production.html#taking-solr-to-production]] to install it.
302
303 Then you will need to add the XWiki schema configuration. Since 12.0 the package ##xwiki-solr-core## will automatically register the XWiki core in the Solr instance (provided the default configuration was used). Before 12.0 you can use the xwiki-solr-data Debian package and add some links to register it in your Solr instance.
304
305 = Overview of the important files =
306
307 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.
308
309 == XWiki ==
310
311 The configuration: **/etc/xwiki/**
312
313 * hibernate.cfg.xml //Hibernate configuration, helping to configure the database resources//
314 * xwiki.cfg
315 * xwiki.properties
316 * xwiki-tomcat9-systemd.conf //Injected trough ##/etc/systemd/system/tomcat9.service.d/xwiki-tomcat-systemd.conf##// in the tomcat9 service configuration
317
318 The permanent directory: **/var/lib/xwiki/data**
319
320 The home directory: **/usr/lib/xwiki/**
321
322 * META-INF
323 * resources
324 * skins
325 * templates
326 * WEB-INF
327 ** hibernate.cfg.xml -> /etc/xwiki/hibernate.cfg.xml
328 ** xwiki.cfg -> /etc/xwiki/xwiki.cfg
329 ** xwiki.properties -> /etc/xwiki/xwiki.properties
330
331 == Tomcat ==
332
333 **/etc/tomcat##<version>##/**
334
335 * context.xml
336 * logging.properties
337 * server.xml
338 * tomcat-users.xml
339 * web.xml
340
341 **/etc/default/**
342
343 * tomcat##<version>## //This file helps configuring the Tomcat daemon. Every change needs a restart to be effective//
344
345 **/etc/init.d/**
346
347 * tomcat##<version>## //Daemon start/stop script//
348
349 **/var/lib/tomcat##<version>##/**
350
351 * common
352 * conf -> /etc/tomcat##<version>##
353 * logs -> ../../log/tomcat##<version>##
354 * server
355 * shared
356 * webapps
357
358 **/var/log/tomcat##<version>##/**
359
360 * catalina.out //First logging file. Check this one if you're experiencing troubles with Tomcat/XWiki.//
361 * localhost.<date>.log // "Container Log file": Start of each filter and failures thereof are listed.//
362
363 == MySQL ==
364
365 **/etc/mysql/**
366
367 * debian.cnf
368 * my.cnf //Database configuration. Max_allowed_packet is the parameter you need to change to improve upload data size.// permitted.
369
370 **/var/lib/mysql/**
371
372 * mysql
373 * xwiki //This is the xwiki database. You may want to backup this directory from time to time.//
374
375 **/var/log/**
376
377 * syslog
378 * mysql
379 ** error.log
380
381 == PostgreSQL ==
382
383 **/etc/postgresql/**
384
385 * ##<version>##
386 ** main
387 *** postgresql.conf
388 *** pg_hba.conf
389
390 **/var/lib/postgresql/##<version>##/main/**
391
392 * base

Get Connected