我在尝试访问我的本地网站时遇到了某种问题:
禁 您无权访问此服务器上的/index.html。 位于ffghost.local端口34580的Apache服务器
我正在使用Apache 2.4.18的macOS X Server 5.2。 OS X Server自动创建两个默认网站(一个在端口80上,另一个在端口443上)。我创建了一个新网站。据我所知,Apache会在创建后自动从默认站点重定向到创建的站点。这没有发生。因此,在尝试开始解除冲突时,我用新的网站文件替换了默认网站所在的文件,并突然收到上述404消息。
我已经阅读了很多可能性,为什么会发生这种情况。我在终端和终端运行Apache的语法检查器说语法没问题。所以从那里我将检查配置文件,但有几个,我只是想知道它们背后的要点。
似乎有大约4种文件扩展名类型。我不知道他们的意思是什么,或者他们是否活跃。
另外,OS X Server和Apache似乎在两个不同的地方有相同的文件,我对哪一个要改变有点困惑。如果我改变其中一个会反映在另一个吗?我需要更改它们吗?此外,我没有DNS设置,我不确定这是不是通过默认网站上拉新网站的原始问题。
答案 0 :(得分:1)
您在问题中混合了几个方面,这使得提供有用答案变得复杂。例如,您说在访问您的网站时会收到禁止,但稍后您会提及状态 404 。前者可能是由于配置了允许访问该站点的用户组,而后者只是意味着 Not found 。
关于配置文件的实际问题:
刚刚以.conf
结尾的文件是正在使用的文件。
但是,Server应用程序使用了许多可能相关的不同配置文件:
路径/Library/Server/Web/Config/apache2
包含常规配置文件
httpd.conf
- 一般Apache配置httpd_server_app.conf
- 更一般的配置/Library/Server/Web/Config/apache2/webapps
中的plist文件中定义)路径/Library/Server/Web/Config/apache2/sites
包含特定于您网站的配置文件。它们的名称类似于0000_127.0.0.1_34543_your.domain.name.conf
,其中34543
是https(SSL)端口的配置,而35480
则表示http端口。还有一个文件,如0000_127.0.0.1_34543_.conf
(文件名中没有域名),用于定义默认站点。
除了这些之外,/Library/Server/Web/Config/proxy
还有两个配置文件来配置代理服务。
建议不要手动调整配置文件,但sites
子目录中的配置文件除外,因为它们可能会被Server应用程序覆盖或更新Server应用程序时。
重要:如果手动更改文件,则必须重新启动Apache服务器才能使更改生效。使用sudo serveradmin stop/start web
来执行此操作。
但是,我不知道所有这些文件的详细文档,因此我尝试保持安全并且可能不编辑常规配置文件(仅限sites
中的那些文件)。我还建议记下所有手动更改,以便在必要时重新应用。
如果不完全知道您在Server应用程序中配置的内容以及您更改了哪些文件,我恐怕无法说出可能出现的问题。我建议通过删除和重新添加网站来重新开始。