为 Icinga 设置 apache vhost

为 Icinga 设置 apache vhost

我已经有一段时间没有使用 Apache 了,所以请多多包涵——我也知道这个问题但对我没什么帮助。

我想为我的 Icinga 实例设置一个简单的 vHost w/Apache。Icinga 已启动并运行,我可以从 xxxx/icinga 访问它,但我希望能够从外部和内部访问它。

我已经设置了 /etc/hosts 文件,以下是我在 httpd.conf 中的 vhost 基本语句

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /usr/share/icinga
    ServerName icinga.domain.com
    ErrorLog logs/icinga.com-error_log
    CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>

.htaccess我的文件中还有以下内容

<Directory>
        Allow From All
        Satisfy Any
</Directory>

在我的网络上的 Windows DNS 服务器中已经为该实例创建了一个条目,但是当我尝试通过 URL 访问该站点时,出现了内部服务器错误。

查看 /var/log/icinga.com-error_log 我看到以下条目。

[Thu Dec 13 16:04:39 2012] [alert] [client 10.0.0.1] /usr/share/icinga/.htaccess: <Directory not allowed here

有人能帮助我发现我的错误吗?

答案1

只需删除文件<Directory>中的内容即可.htaccess

Apache 知道它适用于哪个目录 - 因此,它是文件.htaccess所在的目录!您无法覆盖.htaccess文件中其他目录的配置(安全功能)。此外,<Directory>如果您将其放在主配置中,您的开始标记会错过目录本身;它应该是例如<Directory /path/to/dir>

答案2

Apache 正在准确地告诉您哪里出了问题:<Directory>不允许here(在您的 .htaccess 文件中)。

如果你看看Apache 文档您会发现<Directory>仅在两种情况下才允许这样做:服务器配置虚拟主机

(文件的内容.htaccess隐式应用于包含它的文件系统目录,因此您不需要该<Directory>指令。)


您还会发现.htaccess关于如何写入文件的教程Apache 文档中可能会有帮助。

相关内容