XWiki is a nicely designed, open-source Java-based wiki.
To run your own XWiki server, you’ll need:
- Java 8 – I recommend the AdoptOpenJDK JRE (Java Runtime Environment)
- A supported database – see XWiki’s Database Support Strategy page – I recommend PostgreSQL due to its SSPI support
- A JDBC driver for your database – e.g., for PostgreSQL, you will need the PostgreSQL JDBC driver
- A web server supporting Java servlets, such as Tomcat (see XWiki’s Servlet Container Support Strategy page); you can use my Apache Tomcat Setup for a superior installation experience on Windows
- If you use Active Directory, XWiki also has an LDAP Authenticator extension that allows users to authenticate and log onto XWiki using domain credentials
If you want to host XWiki on Windows, I’ve created some video tutorials on YouTube that may be of assistance:
- Installing PostgreSQL on Windows – This video demos how to install PostgreSQL 10 on Windows and implement SSPI. Implementing SSPI is a great solution on Windows because it lets you authenticate to the PostgreSQL database using the credentials of a domain service account. (This should make the security folks happy because it means that database credentials are covered by the domain’s security policy.)
- Installing XWiki on Windows – This video demos how to install XWiki from start to finish. The XWiki install presumes PostgreSQL and SSPI (as demonstrated in the PostgreSQL video), so it also shows how to download and install the Java Waffle libraries. (Waffle is a Windows-specific set of Java libraries that enable Windows authentication for Java applications.)
- Requesting a web server certificate for Tomcat on Windows from a domain CA – Since you should be using HTTPS for web applications, this video shows how to configure Tomcat to use HTTPS and how to request a certificate from an Active Directory CA (certificate authority) server using KeyStore Explorer.
- xwiki-waffle-tomcat9-lib.zip – Copy the .jar files from this download into the Tomcat lib directory to enable PostgreSQL SSPI and waffle SSO (single sign-on) for Windows authentication
- Notepad2_4.2.25_Setup.exe – Windows installation package for Notepad2 (freeware Windows Notepad editor replacement that supports unix-style line terminators); installs the 32-bit version on 32-bit Windows versions or the x64 version on x64 Windows versions; supports per-user or per-machine installation