希望通过从每台机器上的单个Apache /网站转移到每台机器上的多个虚拟主机设置获得一些指导。Apache迁移到虚拟主机
当前设置:从源代码安装软件包的LAMP堆栈: Apache 2.4.2,php 5.4.3和mysql 5.1.63 对于当前的单个站点(site1.ie)设置,我有虚拟主机的详细信息, DocumentRoot和Directory指令指向httpd.conf中当前站点的site1 documentroot。
要启用虚拟主机,我已取消注释Include conf/extra/httpd-vhosts.conf,并且已将虚拟主机站点配置详细信息移入httpd-vhosts.conf。事情是这样的:
<VirtualHost _default_:443>
ServerName http://site1.ie
DocumentRoot "/usr/local/apache2/htdocs/site1"
ServerAlias site1.ie
</VirtualHost>
当我取消在httpd.conf文件并重新启动httpd的,我得到一个403 Forbidden错误DocumentRoot的细节,当我尝试加载site1.ie。
目录指令中的httpd-vhosts.conf(从httpd.conf中移动):
<Directory "/usr/local/apache2/htdocs/site1">
Options Indexes FollowSymLinks
AllowOverride AuthConfig
Require all granted
</Directory>
编辑:
中的httpd error_log里给了这个错误:AH01630:客户端通过服务器配置否认:在/ usr /本地/ Apache2的/ htdocs中/
这是网站数据的位置是由该目录指令控制:
<Directory />
AllowOverride none
Require all denied
</Directory>
据我所知这是默认拒绝访问此文件夹,但允许通过他们自己的目录指令访问其子文件夹?
发生403问题的时刻是当我注释掉主httpd.conf文件中的DocumentRoot并在virtualhost指令中定义DocumentRoot(在httpd.conf文件或httpd-vhosts.conf文件中)。
我暂时更改了Directory /指令(如上所示)以要求所有授予,这摆脱了403错误,但所有我presneted与默认apache'它工作'页面。我仍然无法访问为site1定义的documentroot目录。
有没有人有任何指针我做错了什么?
检查日志以查看实际请求的文件。这将帮助您确定根是否错误或者烫发是否错误。 –
httpd中的error_log出现此错误:AH01630:客户端被服务器配置拒绝:/ usr/local/apache2/htdocs / – user3744081