本教程适用于以下操作系统版本

  • Ubuntu 22.04(Jammy Jellyfish)
  • Ubuntu 16.04(Xenial Xerus)

本页内容

  • 先决条件
  • 开始之前
  • 安装 Java JDK
  • 添加 XWiki 仓库
  • 在 Ubuntu 22.04 上安装 XWiki
  • 配置 Nginx 作为反向代理
  • 执行 XWiki Web 安装
  • 结语

XWiki 是一款用 Java 编写并在 Tomcat 上运行的免费开源维基软件。它能帮助用户更高效地协作,提供了许多实用功能,例如所见即所得(WYSIWYG)编辑、基于 OpenOffice 的文档导入/导出、语义标注与标签,以及高级权限管理。它使用 MySQL 或 PostgreSQL 等数据库来存储信息。

本教程将向您展示如何在 Ubuntu 22.04 服务器上安装 XWiki 软件。

先决条件

  • 一台运行 Ubuntu 22.04 的服务器。
  • 一个已解析到服务器 IP 的有效域名。
  • 服务器上已配置 root 密码。

开始之前

在开始之前,请使用以下命令将所有系统软件包更新并升级到最新版本:

apt update -y
apt upgrade -y

所有软件包更新完成后,您可以使用以下命令安装其他所需的依赖项:

apt-get install wget curl unzip git name gnupg2 -y

完成后,您可以继续下一步。

安装 Java JDK

XWiki 是一款基于 Java 的应用程序,因此您需要在服务器上安装 Java。您可以使用以下命令进行安装:

apt-get install default-jdk -y

Java 安装完成后,您可以使用以下命令验证 Java 版本:

java --version

您将看到以下输出:

openjdk 11.0.17 2022-10-18
OpenJDK Runtime Environment (build 11.0.17+8-post-Ubuntu-1ubuntu222.04)
OpenJDK 64-Bit Server VM (build 11.0.17+8-post-Ubuntu-1ubuntu222.04, mixed mode, sharing)

添加 XWiki 仓库

默认情况下,Ubuntu 默认仓库中不包含 XWiki 软件包。因此,您需要将 XWiki 官方仓库添加到服务器中。

首先,使用以下命令下载并添加 GPG 密钥:

wget https://maven.xwiki.org/xwiki-keyring.gpg -O /usr/share/keyrings/xwiki-keyring.gpg

接下来,使用以下命令将 XWiki 仓库添加到 APT:

wget "https://maven.xwiki.org/stable/xwiki-stable.list" -O /etc/apt/sources.list.d/xwiki-stable.list

仓库添加到 APT 后,您可以使用以下命令更新仓库缓存:

apt-get update -y

接下来,使用以下命令搜索 XWiki 软件包:

apt-cache search xwiki

您将在以下输出中看到所有 XWiki 软件包:

xwiki-solr-all - XWiki is a free wiki software platform written in Java with a design emphasis
xwiki-solr-core - XWiki is a free wiki software platform written in Java with a design emphasis
xwiki-solr-data - XWiki is a free wiki software platform written in Java with a design emphasis
xwiki-solr-events - XWiki is a free wiki software platform written in Java with a design emphasis
xwiki-solr-extension_index - XWiki is a free wiki software platform written in Java with a design emphasis
xwiki-solr-like - XWiki is a free wiki software platform written in Java with a design emphasis
xwiki-solr-ratings - XWiki is a free wiki software platform written in Java with a design emphasis
xwiki-tomcat7-common - XWiki is a free wiki software platform written in Java with a design emphasis
xwiki-tomcat7-mysql - XWiki is a free wiki software platform written in Java with a design emphasis
xwiki-tomcat7-pgsql - XWiki is a free wiki software platform written in Java with a design emphasis
xwiki-tomcat8-common - XWiki is a free wiki software platform written in Java with a design emphasis
xwiki-tomcat8-mariadb - XWiki is a free wiki software platform written in Java with a design emphasis
xwiki-tomcat8-mysql - XWiki is a free wiki software platform written in Java with a design emphasis
xwiki-tomcat8-pgsql - XWiki is a free wiki software platform written in Java with a design emphasis
xwiki-tomcat9-common - XWiki is a free wiki software platform written in Java with a design emphasis
xwiki-tomcat9-mariadb - XWiki is a free wiki software platform written in Java with a design emphasis
xwiki-tomcat9-mysql - XWiki is a free wiki software platform written in Java with a design emphasis
xwiki-tomcat9-pgsql - XWiki is a free wiki software platform written in Java with a design emphasis

在 Ubuntu 22.04 上安装 XWiki

现在,选择最新版本的 XWiki 并使用以下命令进行安装:

apt-get install xwiki-tomcat9-common xwiki-tomcat9-mariadb -y

在安装过程中,系统会要求您配置数据库,如下所示:

在 Ubuntu 22.04 上安装与配置 XWiki 维基知识库平台

选择「是」并按 Enter 键。系统会要求您为 XWiki 设置 MySQL 密码:

在 Ubuntu 22.04 上安装与配置 XWiki 维基知识库平台

设置您的密码,然后点击「确定」以完成安装。

XWiki 安装完成后,您可以使用以下命令验证 Tomcat 服务:

systemctl status tomcat9.service

您将看到以下输出:

? tomcat9.service - Apache Tomcat 9 Web Application Server
     Loaded: loaded (/lib/systemd/system/tomcat9.service; enabled; vendor preset: enabled)
    Drop-In: /etc/systemd/system/tomcat9.service.d
             ??xwiki-tomcat9-systemd.conf
     Active: active (running) since Mon 2022-11-28 16:49:48 UTC; 6s ago
       Docs: https://tomcat.apache.org/tomcat-9.0-doc/index.html
    Process: 27582 ExecStartPre=/usr/libexec/tomcat9/tomcat-update-policy.sh (code=exited, status=0/SUCCESS)
   Main PID: 27586 (java)
      Tasks: 20 (limit: 464122)
     Memory: 272.6M
     CGroup: /system.slice/tomcat9.service
             ??27586 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/var/lib/tomcat9/conf/logging.properties -Djava.util.>

Nov 28 16:49:49 ubuntu22041 tomcat9[27586]: Loaded Apache Tomcat Native library [1.2.31] using APR version [1.7.0].
Nov 28 16:49:49 ubuntu22041 tomcat9[27586]: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true], UDS [true].
Nov 28 16:49:49 ubuntu22041 tomcat9[27586]: APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]
Nov 28 16:49:49 ubuntu22041 tomcat9[27586]: OpenSSL successfully initialized [OpenSSL 3.0.2 15 Mar 2022]
Nov 28 16:49:50 ubuntu22041 tomcat9[27586]: Initializing ProtocolHandler ["http-nio-8080"]
Nov 28 16:49:50 ubuntu22041 tomcat9[27586]: Server initialization in [1204] milliseconds
Nov 28 16:49:50 ubuntu22041 tomcat9[27586]: Starting service [Catalina]
Nov 28 16:49:50 ubuntu22041 tomcat9[27586]: Starting Servlet engine: [Apache Tomcat/9.0.58 (Ubuntu)]
Nov 28 16:49:50 ubuntu22041 tomcat9[27586]: Deploying deployment descriptor [/etc/tomcat9/Catalina/localhost/xwiki.xml]

Tomcat 未运行,并监听 8080 端口。您可以使用以下命令进行验证:

ss -antpl | grep 8080

您应该会看到以下输出:

LISTEN 1      100                *:8080            *:*    users:(("java",pid=27586,fd=39)) 

配置 Nginx 作为反向代理

接下来,您需要将 Nginx 配置为反向代理,以便通过 80 端口访问 XWiki。首先,使用以下命令安装 Nginx 软件包:

apt-get install nginx -y

安装 Nginx 后,创建一个 Nginx 配置文件:

nano /etc/nginx/conf.d/xwiki.conf

添加以下配置:

server {
listen 80;

server_name xwiki.example.com;

access_log /var/log/nginx/xwiki-access.log;
error_log /var/log/nginx/xwiki-error.log;

location / {
proxy_set_header   X-Real-IP $remote_addr;
proxy_set_header   Host      $host;
proxy_http_version 1.1;
proxy_set_header   Upgrade $http_upgrade;
proxy_set_header   Connection 'upgrade';
proxy_cache_bypass $http_upgrade;
proxy_pass         http://127.0.0.1:8080;
}

}

保存并关闭文件,然后重启 Nginx 服务以使更改生效:

systemctl restart nginx

您也可以使用以下命令验证 Nginx 状态:

systemctl status nginx

您将看到以下输出:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2022-11-28 16:51:25 UTC; 5s ago
       Docs: man:nginx(8)
    Process: 27892 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 27894 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 27895 (nginx)
      Tasks: 3 (limit: 464122)
     Memory: 3.4M
     CGroup: /system.slice/nginx.service
             ??27895 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
             ??27896 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
             ??27897 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""

Nov 28 16:51:25 ubuntu22041 systemd[1]: Starting A high performance web server and a reverse proxy server...
Nov 28 16:51:25 ubuntu22041 systemd[1]: Started A high performance web server and a reverse proxy server.

至此,XWiki 已配合 Nginx 作为反向代理安装完成。您现在可以继续下一步。

执行 XWiki Web 安装

现在,打开您的 Web 浏览器,使用 URL http://xwiki.example.com/xwiki/bin/view/Main/ 访问 XWiki Web 安装向导。您应该会看到以下界面:

在 Ubuntu 22.04 上安装与配置 XWiki 维基知识库平台

点击「继续」按钮。您应该会看到注册界面:

在 Ubuntu 22.04 上安装与配置 XWiki 维基知识库平台

填写您的姓名、管理员用户名、密码、电子邮件,然后点击「注册并登录」按钮。您应该会看到以下界面:

在 Ubuntu 22.04 上安装与配置 XWiki 维基知识库平台

点击「继续」按钮。您应该会看到 Flavor 选择界面:

在 Ubuntu 22.04 上安装与配置 XWiki 维基知识库平台

选择您的 XWiki flavor,然后点击「安装此 flavor」按钮。您应该会看到以下界面:

在 Ubuntu 22.04 上安装与配置 XWiki 维基知识库平台

点击「安装」按钮。您应该会看到以下界面:

在 Ubuntu 22.04 上安装与配置 XWiki 维基知识库平台

点击「继续」按钮。您应该会看到以下界面:

在 Ubuntu 22.04 上安装与配置 XWiki 维基知识库平台

点击「继续」按钮。您应该会在以下界面中看到 XWiki 仪表板:

在 Ubuntu 22.04 上安装与配置 XWiki 维基知识库平台

结语

恭喜!您已成功在 Ubuntu 22.04 服务器上配合 Nginx 安装了 XWiki。您现在可以使用 XWiki 部署自己的维基应用了。如果您有任何疑问,欢迎随时向我提问。