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/
。