我在 Ubuntu 服务器 14.04 上安装了 Mediawiki。当我在网络上的浏览器中输入服务器的主机名时,Mediawiki 运行正常Windows 客户端。我都用过:
http://servername/mediawiki
和
http://servername/mediawiki/index.php/Main_Page
两者在 Windows 中运行的 Chrome 和 IE 中均可正常运行。
但这两种方法在 Ubuntu 桌面或 Mac OS 客户端上都不起作用。输入上述两个 URL,我收到一条错误消息,提示我找不到服务器。
我认为这是 Apache 的问题,因为如果我简单输入以下内容,就可以从 Windows 客户端访问其默认页面:
http://servername/
在 Linux 或 Mac OS 客户端上,这只会显示“未找到服务器”错误。在这两种操作系统上,我都可以使用 IP 地址访问默认的 Apache 页面 - 但只需在 IP 地址中添加“/mediawiki”也会出现“未找到服务器”的错误。
但是,如果我在 Mac OS 或 Ubuntu 桌面客户端中输入以下内容,我会看到 Wiki 的主页:
http://server_IP_address/mediawiki/index.php/Main_Page
但是,我只能看到页面内容 - 没有任何格式,就好像相关 CSS 文件的链接已损坏。
我现在正在阅读有关 Apache 的资料 - 但这似乎不是一个常见问题(或者可能是我没有使用正确的搜索词)。
有人能指点一下我应该从哪里查找错误吗?我猜是 DNS 设置出了问题。如果能提供任何关于从哪里开始的提示,我将不胜感激。
非常感谢
卡尔
答案1
我犯了一个基本错误。正如我在上面的评论中所说,即使在安装了 Apache 和 Bind 之后,我仍然保留了默认的网络设置。客户端无法将本地主机名解析为相关的 IP 地址。
为了解决这个问题,我在我的 Ubuntu 服务器上安装了 Bind,然后将我的服务器添加到我的路由器在收到 Web 服务请求时查询的 DNS 服务器列表中。
我按照以下教程完成了此操作:
https://help.ubuntu.com/lts/serverguide/dns-configuration.html#dns-primarymaster-configuration
这也有助于确保 Linux 客户端能够使用 DNS 服务器:
http://www.linuxjournal.com/content/ubuntus-new-dns-unknown-host
网络上的 Windows 和 Mac OS 客户端似乎可以毫无问题地从路由器获取 DNS 设置。Ubuntu 客户端却无法获取 DNS 设置,因此无法解析主机名,直到我更新了 /etc/network/interfaces(首先使用“sudo mv”命令将其备份到 interface.old)。
如果我找到更好的方法来实现这一点,我会更新这个答案。