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
新增話題