MediaWiki 安装在通过 Apache ProxyPass 访问的虚拟服务器上

发布于 2024-08-30 17:54:15 字数 1639 浏览 8 评论 0原文

注意:您会看到“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 盒子命名为“路由器”。

我想要

做的是:

  1. 在“路由器”上创建一个虚拟域(如 xttp://wiki.cubique.ro),
  2. 设置虚拟域以将所有 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 链接根本不起作用。

尝试一下:http://wiki.cubique.ro

最后,问题是

任何人都知道如何处理与这个?

谢谢。

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:

  1. to create a virtual domain (as xttp://wiki.cubique.ro) on the "router"
  2. 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

北风几吹夏 2024-09-06 17:54:15

您应该检查 LocalSettings.php 中的路径变量,特别是 $wgStylePath$wgServer

You should check your path variables in LocalSettings.php, especailly $wgStylePath and $wgServer

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文