MediaWiki 安装在通过 Apache ProxyPass 访问的虚拟服务器上
注意:您会看到“xttp”实际上是“http”,但 stackoverflow 规则不允许我使用超过 1 个一篇文章中的超链接,因为我没有足够的“信用”来做到这一点:)
简介
嗨,
我在 Linux 机器 (CentOS 5) 上的专用 LAN 上安装了 MediaWiki 1.15.3 软件,其中包含:Apache 2.2.3、PHP 5.1。 6、MySQL 5.0.45。我们将这个 Linux 盒子命名为“wiki box”。
公共用户无法访问此 wiki,因为它托管在专用 LAN 上。
对于外部用户(互联网用户),我们有一个 Linux 路由器(带有 Apache 2.0.52),我们在其中托管我们的网站(例如:xttp://www.cubique.ro)。我们将这个 Linux 盒子命名为“路由器”。
我想要
做的是:
- 在“路由器”上创建一个虚拟域(如 xttp://wiki.cubique.ro),
- 设置虚拟域以将所有 xttp 请求转发到我的私人“wiki 盒子”(例如:xttp://192.168.0.200/wiki_root/)
我已经做了什么
在路由器的Apache(httpd.conf)上我创建了一个VirtualHost:
<虚拟主机 0.0.0.0:80 >
服务器名称 wiki.cubique.ro
文档根目录/someinternalpath/html
ScriptAlias /cgi-bin /someinternalpath/cgi-bin
...
好吧,在 wiki.cubique.ro 导航后,我看到了一个空白网页,因为 /someinternalpath/html 有一个空的 index.htm 页面。
没问题,我知道我必须“教导”路由器将虚拟域(wiki.cubique.ro)的所有访问传递到存储真实页面的wiki框。
所以我教 Apache ProxyPass 将虚拟域根访问到 wiki 框根,如下所示:
...以下几行位于同一虚拟域定义中,请参见上文
ProxyPass / xttp://192.168.0.200/wiki/
ProxyPassReverse / xttp://192.168.0.200/wiki/
< /虚拟主机>
有什么问题
如果我使用内部地址(例如 xttp://192.168.0.200/wiki/)访问 wiki,它看起来很棒(样式表,一切)。
当我使用虚拟域名( xttp://wiki.cubique.ro )访问 wiki 时,它显示内容但不显示样式表。更糟糕的是,内部 wiki 链接根本不起作用。
最后,问题是
任何人都知道如何处理与这个?
谢谢。
Note: where you will see "xttp" actualy is "http" but stackoverflow rules do not allow me to use more than 1 hyperlink in one post because I do not have enough "credit" to do that :)
INTRODUCTION
Hi,
I have installed a MediaWiki 1.15.3 software on a private LAN on a Linux box (CentOS 5), with: Apache 2.2.3, PHP 5.1.6, MySQL 5.0.45. Let's name this Linux box "wiki box".
Public users can't access this wiki as it is hosted on a private LAN.
For external users (the Internet users) we have a Linux router (with Apache 2.0.52) where we host our website (ex: xttp://www.cubique.ro). Let's name this Linux box "router".
WHAT I WANT
What I want to do is:
- to create a virtual domain (as xttp://wiki.cubique.ro) on the "router"
- setup the virtual domain to forward all xttp requests to my private "wiki box" (ex: xttp://192.168.0.200/wiki_root/)
WHAT I'VE DONE ALREADY
On router's Apache (httpd.conf) I have created a VirtualHost as:
< VirtualHost 0.0.0.0:80 >
ServerName wiki.cubique.ro
DocumentRoot /someinternalpath/html
ScriptAlias /cgi-bin /someinternalpath/cgi-bin
...
Well, after I have navigate at wiki.cubique.ro I saw a blank web page, as /someinternalpath/html has an empty index.htm page.
No problem, I know that I have to "teach" the router to pass all the access of virtual domain (wiki.cubique.ro) to the wiki box, where the real pages are stored.
So I teach the Apache to ProxyPass the access of virtual domain root to the wiki box root like this:
...the following lines lies in the same virtual domain definition, see above
ProxyPass / xttp://192.168.0.200/wiki/
ProxyPassReverse / xttp://192.168.0.200/wiki/
< /VirtualHost >
WHAT IS THE ISSUE
If I access the wiki using the internal address (such as xttp://192.168.0.200/wiki/) it looks splendid (style sheets, everything).
When I access the wiki using the virtual domain name ( xttp://wiki.cubique.ro ) it shows the content but no style sheet. Worse than that, no internal wiki links are working at all.
Make a try: http://wiki.cubique.ro
FINALLY, THE QUESTION
Anyone has a clue how to deal with this?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您应该检查 LocalSettings.php 中的路径变量,特别是 $wgStylePath 和 $wgServer
You should check your path variables in LocalSettings.php, especailly $wgStylePath and $wgServer