XWiki - Arch Linux 中文维基

跳转到内容

# XWiki

来自 Arch Linux 中文维基
翻译状态：

- 本文（或部分内容）译自 XWiki，最近一次同步于 2024-7-30，若英文版本有所更改，则您可以帮助同步与翻译更改的内容。
- 您可以在 ArchWiki 的对应页面找到本文翻译的原始修订历史。
- 本文可能与英文原文存在出入。

XWiki 是一个用 Java 编写的开源企业级维基，重点在于可扩展性。

## 安装

请随时查看 XWiki 安装指南。 这些说明假定你将使用 Tomcat 和 PostgreSQL。将这些指南应用于其他组合应该不难。

- 安装 PostgreSQL。
- 为方便管理 PostgreSQL，请安装 phpPgAdmin。
- 安装tomcat（不要忘记 tomcat-native包）。
- 下载 XWiki WAR 文件
- 将 WAR 文件重命名为 `xwiki` 。
- 将 WAR 文件移至 `/var/lib/tomcatn/webapps` 目录。
- Tomcat 应该会自动解压缩 WAR 文件。如果没有，请重启 Tomcat。
- 此时，您可能会发现 `data` 目录出现在 `/var/lib/tomcatn/webapps` 中。删除它。
- 作为 root:

    # cd /var/lib/tomcatn
    # mkdir data
    # chown tomcatn:tomcatn data

- 在 `/var/lib/tomcatn/webapps/xwiki/WEB-INF` 目录内：
  - 打开 `xwiki.properties` 文件，修改 `environment.permanentDirectory` 字段为 `/var/lib/tomcatn/data/xwiki`。
  - 打开 `hibernate.cfg.xml` 文件：
    - 注释掉题为 "Configuration for the default database" 的部分。
    - 取消注释题为 "PostgreSQL Configuration" 的部分。
    - 根据需要修改数据库名称（在`connection.url`）、用户名和密码。
- 在 PostgreSQL 中创建 role 和数据库，以匹配 hibernate 配置。
- 从 Arch 用户仓库安装 postgresql-jdbcAUR。
- 作为 root:

    # cd /usr/share/java/tomcatn
    # ln -s /usr/share/java/postgresql-jdbc/postgresql-jdbc41.jar

- 重启 `tomcatn.service`。
- 在 Tomcat Manager 中点击 `/xwiki` 启动 XWiki 应用程序。
- 通过 XWiki Wizard Guide 启动 XWiki，完成配置。

## Nginx 代理配置 - 解决方案 1

用于 XWiki 的 Nginx 官方指南并不正确。有一个适用于 XWiki 的替代解决方案。

- 配置 nginx 网站 `xwiki` 配置文件。

    /etc/nginx/sites-available/xwiki

    server {
      listen 80 default_server;
      server_name xwiki.<domain-name>;
      return 301 https://$host$request_uri;
    }

    server {
      listen [::]:443 ssl;
      listen 443 ssl;

      server_name xwiki.<domain-name>;

      # SSL Certificate section
      ssl_certificate ...
      ssl_certificate_key ...

      location = / {
        return 301 https://$host/xwiki;
      }

      location /xwiki {
        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_set_header   X-Forwarded-Host $host;
        proxy_set_header   X-Forwarded-Server $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
        proxy_pass         http://127.0.0.1:8080/xwiki;
      }
    }

- 激活 `sites-enabled` 目录 （`ln -s /etc/nginx/sites-available/xwiki /etc/nginx/sites-enabled/xwiki`） 中的服务器块。
- 重启 Nginx。

## Nginx 代理配置 - 解决方案 2

我发现指示nginx代理到`http://localhost:8080/xwiki/`不起作用：生成的URL不正确。与XWiki 文档[失效链接 2024-01-13 ⓘ] 中的说明相反，我无法通过使用 HTTP 标头使 URL 正确。

目前我所知道的唯一解决方案是在 Tomcat 的 server.xml 文件中创建一个新的 Host 元素：

- 复制现有的 `Host` 元素，并将 `name` 属性改为 `xwiki`。
- 修改 `appBase` 属性为 `/var/lib/tomcat7/webapps-xwiki`。
- 将 `xwiki` 应用程序从 `/var/lib/tomcat7/webapps/xwiki` 移至 `/var/lib/tomcat7/webapps-xwiki/ROOT` 。
- 重启 Tomcat。
- 在 `/etc/hosts` 中添加 `xwiki` 作为 localhost 的别名。(添加到 127.0.0.1 行的末尾）。
- 指示 Nginx 代理至 `http://xwiki:8080/`。

分类：​

- 维基软件
- 网络应用
- 包含失效链接的页面

XWiki
添加话题