XWiki
XWiki 是一個用 Java 編寫的開源企業級維基,重點在於可擴展性。
安裝[編輯 | 編輯原始碼]
請隨時查看 XWiki 安裝指南[失效連結 2024-01-13 ⓘ] 。 這些說明假定你將使用 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/
。