These are the steps that worked for me installing XWiki on Ubuntu Server 16.04.01 LTS with
Jetty and Postgres. I have double checked most of these steps, but not all of them so your
mileage may vary.
This is my first time installing the WAR version of XWiki and I've had quite a bit of
help getting this far. I'd appreciate any feedback from more experienced installers if
they see issues with my process.
- Jared
Please note that Postgres Installed with the initial Ubuntu installation
Install Java
-----------
sudo apt-get update
sudo apt-get install default-jdk
Edit /etc/environment
Add JAVA_HOME=/usr/bin/java
Install Jetty
-----------
sudo apt-get install jetty9
Edit /etc/default/jetty9 to set the JVM parameters
JAVA_OPTIONS="-server -Xms800m -Xmx1048m -Dfile.encoding=utf-8
-Djava.awt.headless=true -XX:+UseParallelGC -XX:MaxGCPauseMillis=100"
Install & Configure XWiki
------------------------
Download the current WAR
wget
http://download.forge.ow2.org/xwiki/xwiki-enterprise-web-8.1.war
Expand the WAR to the XWiki root
cd /usr/share/jetty9/webapps/root
sudo rm *
sudo jar -xvf <path to war>/xwiki-enterprise-web-8.1.war
Configure the Permanent Directory
----------------------------------
sudo mkdir /var/local/xwiki
sudo chown jetty:adm /var/local/xwiki
Edit /usr/share/jetty9/webapps/root/WEB-INF/xwiki.properties
Uncomment # environment.permanentDirectory=/var/local/xwiki/
Configure xwiki as the the JVM root
-----------------------------------
Edit /usr/share/jetty9/webapps/root/WEB-INF/xwiki.cfg (Note that this is a different
config file than xwiki.properties)
Uncomment # xwiki.webapppath=
Configure xwiki to use the filesystem for attachments
----------------------------------------------------
Edit /usr/share/jetty9/webapps/root/WEB-INF/xwiki.cfg
Uncomment the following lines and change hibernate to file
# xwiki.store.attachment.hint=hibernate
# xwiki.store.attachment.versioning.hint=hibernate
# xwiki.store.attachment.recyclebin.hint=hibernate
New Values:
xwiki.store.attachment.hint=file
xwiki.store.attachment.versioning.hint=file
xwiki.store.attachment.recyclebin.hint=file
Edit /usr/share/jetty9/webapps/root/WEB-INF/hibernate.cfg.xml to use Postgres
------------------------------------------------------------------------------
Comment out default database
Uncomment Postgres section (don't forget to remove the closing comment line from the
Postgres section)
Install the Postgres JDBC Driver
-------------------------------
cd /usr/share/jetty9/webapps/root/WEB-INF/lib
sudo wget
https://jdbc.postgresql.org/download/postgresql-9.4.1208.jar
Set the ownership on the xwiki directory
---------------------------------------
cd /usr/share/jetty9/webapps/
sudo chown -R jetty:adm root
Configure Postgres
-------------------
sudo -u postgres psql
psql (9.5.3)
Type "help" for help.
postgres=# CREATE DATABASE xwiki
postgres-# WITH OWNER = postgres
postgres-# ENCODING = 'UNICODE'
postgres-# TABLESPACE = pg_default;
CREATE DATABASE
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
xwiki | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
(4 rows)
postgres=# \connect xwiki
You are now connected to database "xwiki" as user "postgres".
xwiki=# CREATE USER xwiki PASSWORD 'xwiki' VALID UNTIL 'infinity';
CREATE ROLE
xwiki=# \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------------------+-----------
postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
xwiki | Password valid until infinity | {}
xwiki=# GRANT ALL ON SCHEMA public TO xwiki;
GRANT
xwiki=# \q
Optional - Configure redirection from 80 to 8080
------------------------------------------------
sudo iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-port 8080
sudo apt-get install iptables-persistent
sudo bash -c "iptables-save > /etc/iptables/rules.v4" to save future changes
Restart Jetty to apply changes since the initial installation
--------------------------------------------------------
sudo systemctl restart jetty9
I apologize for the vague topic description. I have
been trying to install
XWiki on a freshly installed Ubuntu server running 14.04 for a few days and
am just getting pulled in all sorts of directions when it comes to
installation and am just getting a little agitated.
I am relatively new to Ubuntu in general. I am just looking for a guide to
install the newest version of XWiki Enterprise on Ubuntu Server 14.04 using
what I believe would be a .WAR install. (I want to avoid the stand-alone
installer since it is not recommended on production.)
All guides that I have found seem to breeze thru the installation process
and jump right into "Getting Started using the software". I am still stuck
on the actual installation and cannot seem to follow the guide without
getting thrown off by a step that makes absolutely no sense.
If someone could please point me in the right direction, it would be greatly
appreciated.