我正在尝试奔跑咕噜,一个使用 git 的 wiki,在 Debian 服务器上供个人使用。在没有任何命令行选项的情况下启动它会使其监听http://localhost:4567
,我可以很好地访问它,即使是从同一 LAN 上的 PC(具有正确的 IP)也是如此。
但是,我想通过 访问它http://x.x.x.x/gollum
,所以我将这些行添加到apache2.conf
:
ProxyPass /gollum/ http://localhost:4567/
ProxyPassReverse http://localhost:4567 /gollum/
访问http://x.x.x.x/gollum/home
(/home 是应用程序的主页)可以正常工作,但它只会显示页面的 html,而没有 css、javascript、图像,甚至链接也无法正常工作。该error.log
文件充满了这样的错误,仅举一个例子:
File does not exist: /usr/share/javascript/editor, referer: http://192.168.1.68/gollum/home
File does not exist: /usr/share/javascript/gollum.js, referer: http://192.168.1.68/gollum/home
在页面的 html 中,如果我用 Firefox 检查它,上面的项目的链接都是写的,例如,像这样:src="/javascript/gollum.js"
。
如果我直接写入文件的 url,http://localhost/javascript/gollum/gollum.js
则会加载正确的文件。
那么,我怎样才能使该网站正常工作呢http://localhost/gollum/
?我是否做错了重定向,或者这可能是因为 gollum 不支持以这种方式部署?
答案1
我今天刚尝试这个。
我发现,要在 www.mydom.com/wiki 上托管咕噜,需要做两件事。
首先,为 wiki 配置一个 apache 虚拟主机。
<VirtualHost *:80>
ServerName www.mydom.com
ProxyPass /wiki http://localhost:4567/wiki
ProxyPassReverse /wiki http://localhost:4567/wiki
</VirtualHost>
我知道 ProxyPass 中的 .../wiki 看起来很奇怪,但请耐心听我说几行!
接下来,按以下方式运行 gollum:
~$ gollum --host 127.0.0.1 --port 4567 --base-path wiki
如果您使用默认值,则无需设置主机/端口(在此阶段我正在混合和匹配!)。
该--base-path
语句将告诉 Gollum 从 /wiki 而不是 / 运行。
这似乎为了工作,我只坚持了五分钟左右。创建、查看、删除等全部工作。我遇到的唯一问题是图标在“全部”列表中没有正确显示。
编辑:代码块格式不正确(降价)。